GSoC 2012 Project Manager inversity

Short description
My project will bring to Scribus a Project Manager which will enable to manage multiple file parts of a single large book or set of documents, all sharing some common attributes : masterpages, styles, etc. Nowadays Scribus can not allow us to work with large documents easily, large documents (with 100 pages and more) cause delays when working with the program, slowdown, etc. But as one can see on the success story pages Scribus is largely used to edit such large books or newspaper. So as to edit books or large documents, one has to make lots of 20 or 40 pages documents, for example, for making a document which will have 100-200 pages we must to make up to 10 such little documents. It is very inconvenient, so we must resolve this problem. And one of the ways of resolving this problem is to make a special Project Manager which will allow us easily work with large documents, without the need to break them into smaller documents.

Project title:
Scribus Project Manager

Name of proposer and e-mail:
Andrey Ermolenko, invercity1991@gmail.com

Synopsis:
My project will bring to Scribus a Project Manager which will enable to manage multiple file parts of a single large book or set of documents, all sharing some common attributes : masterpages, styles, etc.Nowadays Scribus can not allow us to work with large documents easily, large documents (with 100 pages and more) cause delays when working with the program, slowdown, etc. But as one can see on the success story pages Scribus is largely used to edit such large books or newspaper. So as to edit books or large documents, one has to make lots of 20 or 40 pages documents, for example, for making a document which will have 100-200 pages we must to make up to 10 such little documents. It is very inconvenient, so we must resolve this problem. And one of the ways of resolving this problem is to make a special Project Manager which will allow us easily work with large documents, without the need to break them into smaller documents.

Project details:
I will divide implementation of this idea in 2 parts: writing all required functionality, and then, when all functions will work good, designing the GUI for project manager, which will correspond to developed functionality, and will be convenient for working, have easy-to-work design.

At the first, we must create a special file format to handle all properties of project, which we working, and properties of all included files. It will allow to us work with different projects, and manipulate them. Then we must implement functionality for working with documents in project. Any project can store a large number of files, but user will work with them like with one document, and all changes, which user will make with any part of the project will be applied to all included documents. So wen user wants to create a large document, he may create a new project, add required number of pages, and project manager will automatically break all pages to some documents with a size, which will supply editing them without any problems, easily and quickly. This operations will be carried out inside, and for user it will looks like the same as working with regular (small) document. Also, i think it will be a god job to realize saving project not only to specific format, but to the pdf. The function of creating pdf documents is already realized in Scribus, so we must use it for saving all documents, which include project to one pdf document.

The next important part of the project is GUI implementation. It is important, because the user interface which we will create must be simple and convenient for work. For getting best results it will be necessary to discuss proposals for GUI with persons, who much work with Scribus, so we must account of the user wishes. We also must think about "weght" of it, because "heavy" interface will slow down working with project. When GUI will be designed, all functionality which was created before will be implemented in it.

All of the above suggestions and descriptions to them only superficial, and in the future, with more in-depth work with the project and a more detailed study of it, they will be more detailed and expanded.

Project shedule:
My time of working with this project will be divided in 3 terms.

During the first term (before May, 21) i will take more information about the Scribus project, and about the program structure of the project. Also i will search the best ways of the realization the Project Manager, and communicate with community for taking useful advice and proposals. During the second term (May - August) it will be the implementation of all selected tasks. These are more detail terms of it:

May 21 - June 3

Implementation of special file format for keeping attributes and locations of files, included in project, and functions for manipulation of the project (creating, changing, removing projects and included files)

June 4 - June 17

Implementation of functions for working with attributes and elements of documents, included in projects. This functionality must supply working with all documents like with one documentJune 18 - July 3Synchronization of all functionality, and special feature - saving to pdf format.July 3 - July 8Testing all function and resolving all problems, if they will be exist

July 9

Mid Term Evaluation

July 10 - July 22

Creating GUI for project manager, realization all implemented functionality in GUI.

July 23 - July 29

Final testing of all developed functions and featuresJuly 30 - August 5Making documentation, integration project to Scribus trunk

August 6 - August 12

Addition time, if something goes wrong

August 13

Suggested pencil down date. Also during all GSoC period every week i will report to my mentor results of my work, and store it to the repository.The third term of my work with Scribus - working with project after finishing GSoC program. I am interested in this project, so in this period i will continue work above it with making new improvements and resolving problems.

Biography:
I'm student of the Chernihiv State Technological University (Chernihiv, Ukraine). I'm studying at the Faculty of Electronic and Information Technologies at the Informational Computer Systems department (http://cs.stu.cn.ua, in Ukrainian), System Programming speciality. I have two years of C/C++ coding experience in different areas, mostly projects related to Qt and OpenGL.

Also I have experience of team development ( took part in development of projects, placed on our kafedral server [www.kurs,stu.cn.ua] as a teamleader) and working with version control system SVN.My current educational projects include application development for improving university infrastructure, besides, I have been doing their own small projects aimed at ordinary users, for example, the creation of the Qt cross-platform file manager with many new additional features.To my mind, I'm good candidate for this project because I have enough knowledge to implement it and also I'm not planning to submit several applications to different organizations, so I'll be able to investigate the project as deep as it possible. Besides it, I really want to participate and I'll do my best to prove I'm the right choice for this project. Sincerely, Andrey Ermolenko

Contacts:
Email: invercity1991@gmail.com IRC nickname: Invercity