GSoC 2012 Project Manager inversity: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
[[Category:GSOC]][[Category:GSOC_2012]][[Category:GSOC_2012_Proposals]]
[[Category:GSOC]][[Category:GSOC_2012]][[Category:GSOC_2012_Proposals]]
==Short description==  
==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 [[Category:Success_Stories]] 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.
My project will bring to Scribus a UI for 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 [[Category:Success_Stories]] 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:==
==Project title:==
Scribus Project Manager
UI for Scribus Project Manager
==Name of proposer and e-mail:==
==Name of proposer and e-mail:==
Andrey Ermolenko, invercity1991@gmail.com
Andrey Ermolenko, invercity1991@gmail.com
==Synopsis:==
==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 [[Category:Success_Stories]] 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.
My project will bring to Scribus a UI for 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 [[Category:Success_Stories]] 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:==
==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 main task for me is to make a user interface for Scribus Project Manager, and also a some specific functions; main functionality will be implemented by another student.<br />


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.
Making a GUI is very important part of project implementation, because it must be convenient for working, have easy-to-work design. Besides, in our situation, it also complicated by the fact of that most functionality will be implemented in another project. So, it require to communicate
with another student which will implement that one to synchronize our work.<br />
 
Regard to development of UI design, i think, it must be looks like a design of Scribus Main Window, considering the special functions which will be implemented, because the process of editing of the project will not much differs from the process of editing a document. So, user, which will create a new project will be able to add a lot of pages to it. Inside the project manager all pages will be divided into some documents, with a size, which will supply editing them without any problems, easily and quickly. But outside it will be looks like an editing of one big document, so user will not need to make a lot of separate documents.<br />
 
GUI designing also must consider adding new functions to Project Manager in future, so we must implement user interface in such way, that it will not require to make a big changes in design UI for implementation new functions into it.<br />
 
For taking best result, we also must discuss all questions, related to user interface of project manager with a community. When all critical points will be discussed, we will be able to make convenient design of PM.<br />
 
The next part of the project it will be implementation specific project functions, such as creating new projects, adding and removing documents  from project. All this functions is based on realization of master document, which is also an important task we must to do. So master document will include links to all documents of it.
 
The final part of my projects will be implementation in the GUI, which will be designed all functionality, which will be implemented in the second part of the project by the other student.


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.
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.
Line 21: Line 31:
My time of working with this project will be divided in 3 terms.
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:
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 GUI of 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
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).
Implementation of master file document, which will holds links to all documents of the project.


June 4 - June 17
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 document.
Implementation of functions for working with projects - such as creating new projects, adding and removing documents from project.


June 18 - July 3
June 18 - July 3


Synchronization of all functionality, and special feature - saving to pdf format.
Making a base for user interface.


July 3 - July 8
July 3 - July 8


Testing all function and resolving all problems, if they will be exist.
Implementing all functions for working with project into base ui.


July 9
July 9
Line 45: Line 55:
July 10 - July 22
July 10 - July 22


Creating GUI for project manager, realization all implemented functionality in GUI.
Implementation of functions, which will be implemented in second part of the PM project up to this time


July 23 - July 29
July 23 - July 29


Final testing of all developed functions and featuresJuly 30 - August 5Making documentation, integration project to Scribus trunk.
Adding all functions to the GUI (i think, up to this time all necessary functions in second project will be implemented), testing all project.


August 6 - August 12
August 6 - August 12

Revision as of 01:35, 20 April 2012

Short description

My project will bring to Scribus a UI for 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:

UI for Scribus Project Manager

Name of proposer and e-mail:

Andrey Ermolenko, invercity1991@gmail.com

Synopsis:

My project will bring to Scribus a UI for 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:

The main task for me is to make a user interface for Scribus Project Manager, and also a some specific functions; main functionality will be implemented by another student.

Making a GUI is very important part of project implementation, because it must be convenient for working, have easy-to-work design. Besides, in our situation, it also complicated by the fact of that most functionality will be implemented in another project. So, it require to communicate with another student which will implement that one to synchronize our work.

Regard to development of UI design, i think, it must be looks like a design of Scribus Main Window, considering the special functions which will be implemented, because the process of editing of the project will not much differs from the process of editing a document. So, user, which will create a new project will be able to add a lot of pages to it. Inside the project manager all pages will be divided into some documents, with a size, which will supply editing them without any problems, easily and quickly. But outside it will be looks like an editing of one big document, so user will not need to make a lot of separate documents.

GUI designing also must consider adding new functions to Project Manager in future, so we must implement user interface in such way, that it will not require to make a big changes in design UI for implementation new functions into it.

For taking best result, we also must discuss all questions, related to user interface of project manager with a community. When all critical points will be discussed, we will be able to make convenient design of PM.

The next part of the project it will be implementation specific project functions, such as creating new projects, adding and removing documents from project. All this functions is based on realization of master document, which is also an important task we must to do. So master document will include links to all documents of it.

The final part of my projects will be implementation in the GUI, which will be designed all functionality, which will be implemented in the second part of the project by the other student.

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 GUI of 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 master file document, which will holds links to all documents of the project.

June 4 - June 17

Implementation of functions for working with projects - such as creating new projects, adding and removing documents from project.

June 18 - July 3

Making a base for user interface.

July 3 - July 8

Implementing all functions for working with project into base ui.

July 9

Mid Term Evaluation.

July 10 - July 22

Implementation of functions, which will be implemented in second part of the PM project up to this time

July 23 - July 29

Adding all functions to the GUI (i think, up to this time all necessary functions in second project will be implemented), testing all project.

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 (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 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.

As for Scribus Project, i also work with it, for example, I was corrected a bug #10487

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