GSoC 2012 Project Manager inversity: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:GSOC]][[Category:GSOC_2012]][[Category:GSOC_2012_Proposals]]
[[Category:GSOC_2012]][[Category:GSOC_2012_Proposals]]
==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 [[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:==
UI for Scribus Project Manager
User Interface for the 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 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.
My project will bring to Scribus a UI for the Project Manager, which will enable users of Scribus to manage multiple resources that constitute a single large book or a set of documents sharing common attributes such as master pages, styles, images and so on. Nowadays, Scribus does not provide easy and convenient handling of large documents. Creating documents with 100 pages or more causes significant delays when working with the program, rapidly depletes the system memory, and generally reduces user productivity. The Scribus Team has received many reports and complaints about the difficulties encountered by the authors of large documents. However, the success story pages [[Category:Success_Stories]] show that most Scribus users need to edit just such large books, magazines, newspapers, and other documents of high complexity and size. At the moment, to be able to edit large documents users have to make significant compromises and increase the complexity of their workflow by splitting their documents into smaller sub-documents of 20 or 40 pages, which they later have to export to PDF or print separately and then rely on third party PDF handling tools to re-combine them. One way of resolving this problem is to add Project Manager (PM) functionality to Scribus that will allow users to work with large documents with ease and convenience without the need to break them into smaller documents. PM can also enable much improved collaborative workflows by providing intelligent handling, merging, and updating of document parts and resources among collaborators.
 
==Project details:==
==Project details:==
My main focus will be on creating a user interface (UI) for the Scribus Project Manager (PM), and providing additional specific functionality related to the UI. This project is orthogonal to another Scribus Team's GSOC project that focuses on the back-end functionality of handling resource and document parts for the PM.<br />


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 />
A GUI that provides a high level user experience is a very important part of the PM implementation. UI must be clean, convenient, and well-designed functionally. It must provide a well-designed programming interfaces for the interaction with the currently proposed back-end and potential future modules for collaborative work.<br />


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
Since the process of editing a project will not differs from the process of editing a document too much on the surface, the PM UI needs to resemble the main Scribus UI. A user who creates a new project must be able to add a large number of pages to it transparently. Inside the PM all added pages will be divided into sub-documents of a size that can be handled by the current average user hardware. To the user the process will not be different from editing a single large document.<br />
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 />
The PMUI design must be sufficiently modular and open to allow adding new functionality to the PM in the future without requiring a re-design of the UI.<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 />
A part of the design process will be to solicit input from the Scribus Community to make sure that both casual and professional users' needs are accommodated.<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 will focus on the implementation of specific PM functions such as creation of new projects, adding and removing documents and other resources to and from project. All functionality will be anchored to the use of a master document.


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 project will be focused on the implementation of the UI that is capable of handling all functionality provided by the back-end resulting from another GSoC project.


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.
A more detailed technical plan of the project is being discussed with the Scribus Team.


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 schedule:==
My GSoC project wil be divided into three periods.


==Project shedule:==
During the first period (before May, 21) i will learn more about the Scribus project and the Scribus codebase. I will also solicit the Community input and work on the design of the PM UI.
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:
During the second period (May - August) I will focus on the UI implementation. More specifically,


May 21 - June 3
May 21 - June 3


Implementation of master file document, which will holds links to all documents of the project.
Implementation of the master document, which serves as a container for all other documents in a project.


June 4 - June 17
June 4 - June 17


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


June 18 - July 3
June 18 - July 3


Making a base for user interface.
Making a base UI.


July 3 - July 8
July 3 - July 8


Implementing all functions for working with project into base ui.
Incorporating the functionality for working with a project into the base UI.


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


Implementation of functions, which will be implemented in second part of the PM project up to this time
Implementation of the handling of additional functionality from the other GSoC PM project.


July 23 - July 29
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.
Finishing the UI to completeness, testing and debugging the entire project.


August 6 - August 12
August 6 - August 12


Addition time, if something goes wrong.
Additional time to cover any contingencies.


August 13
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.
Suggested pencil down date.  
 
In addition, I will report the results of my work to my mentor weekly as well as commit all code to a repository. After finishing the GSoC project I hope to be able to continue my work with the Scribus Project to enhance PM and work on new improvements as well as help with fixing problems.


==Biography:==
==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 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.
I'm a student of the Chernihiv State Technological University (Chernihiv, Ukraine). I'm studying at the Department of Electronic and Information Technologies in the College of Informational Computer Systems ([http://cs.stu.cn.ua cs.stu.cn.ua]) majoring in System Programming. 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 [http://kurs.stu.cn.ua 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.
I have experience in team development ([http://kurs.stu.cn.ua kurs.stu.cn.ua]) as a team leader and working with the Subversion revision control system. My current school projects include application development for improving university infrastructure. In addition, I have been working on my own small projects, for example, creation of a Qt-based cross-platform file manager with many exciting features.


As for Scribus Project, i also work with it, for example, I was corrected a bug [http://bugs.scribus.net/view.php?id=10487 #10487]
To show my ability to handle Scribus codebase I fixed a bug [http://bugs.scribus.net/view.php?id=10487 #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
I believe I am a good candidate for this project because I have sufficient knowledge to implement it and am focused on a single organization, so I am able to learn as much about the Scribus project as possible.  


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

Revision as of 02:17, 20 April 2012

Project title:

User Interface for the Scribus Project Manager

Name of proposer and e-mail:

Andrey Ermolenko, invercity1991@gmail.com

Synopsis:

My project will bring to Scribus a UI for the Project Manager, which will enable users of Scribus to manage multiple resources that constitute a single large book or a set of documents sharing common attributes such as master pages, styles, images and so on. Nowadays, Scribus does not provide easy and convenient handling of large documents. Creating documents with 100 pages or more causes significant delays when working with the program, rapidly depletes the system memory, and generally reduces user productivity. The Scribus Team has received many reports and complaints about the difficulties encountered by the authors of large documents. However, the success story pages show that most Scribus users need to edit just such large books, magazines, newspapers, and other documents of high complexity and size. At the moment, to be able to edit large documents users have to make significant compromises and increase the complexity of their workflow by splitting their documents into smaller sub-documents of 20 or 40 pages, which they later have to export to PDF or print separately and then rely on third party PDF handling tools to re-combine them. One way of resolving this problem is to add Project Manager (PM) functionality to Scribus that will allow users to work with large documents with ease and convenience without the need to break them into smaller documents. PM can also enable much improved collaborative workflows by providing intelligent handling, merging, and updating of document parts and resources among collaborators.

Project details:

My main focus will be on creating a user interface (UI) for the Scribus Project Manager (PM), and providing additional specific functionality related to the UI. This project is orthogonal to another Scribus Team's GSOC project that focuses on the back-end functionality of handling resource and document parts for the PM.

A GUI that provides a high level user experience is a very important part of the PM implementation. UI must be clean, convenient, and well-designed functionally. It must provide a well-designed programming interfaces for the interaction with the currently proposed back-end and potential future modules for collaborative work.

Since the process of editing a project will not differs from the process of editing a document too much on the surface, the PM UI needs to resemble the main Scribus UI. A user who creates a new project must be able to add a large number of pages to it transparently. Inside the PM all added pages will be divided into sub-documents of a size that can be handled by the current average user hardware. To the user the process will not be different from editing a single large document.

The PMUI design must be sufficiently modular and open to allow adding new functionality to the PM in the future without requiring a re-design of the UI.

A part of the design process will be to solicit input from the Scribus Community to make sure that both casual and professional users' needs are accommodated.

The next part of the project will focus on the implementation of specific PM functions such as creation of new projects, adding and removing documents and other resources to and from project. All functionality will be anchored to the use of a master document.

The final part of my project will be focused on the implementation of the UI that is capable of handling all functionality provided by the back-end resulting from another GSoC project.

A more detailed technical plan of the project is being discussed with the Scribus Team.

Project schedule:

My GSoC project wil be divided into three periods.

During the first period (before May, 21) i will learn more about the Scribus project and the Scribus codebase. I will also solicit the Community input and work on the design of the PM UI.

During the second period (May - August) I will focus on the UI implementation. More specifically,

May 21 - June 3

Implementation of the master document, which serves as a container for all other documents in a project.

June 4 - June 17

Implementation of the functionality for working with projects - creating new projects, adding and removing documents from a project.

June 18 - July 3

Making a base UI.

July 3 - July 8

Incorporating the functionality for working with a project into the base UI.

July 9

Mid Term Evaluation.

July 10 - July 22

Implementation of the handling of additional functionality from the other GSoC PM project.

July 23 - July 29

Finishing the UI to completeness, testing and debugging the entire project.

August 6 - August 12

Additional time to cover any contingencies.

August 13

Suggested pencil down date.

In addition, I will report the results of my work to my mentor weekly as well as commit all code to a repository. After finishing the GSoC project I hope to be able to continue my work with the Scribus Project to enhance PM and work on new improvements as well as help with fixing problems.

Biography:

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

I have experience in team development (kurs.stu.cn.ua) as a team leader and working with the Subversion revision control system. My current school projects include application development for improving university infrastructure. In addition, I have been working on my own small projects, for example, creation of a Qt-based cross-platform file manager with many exciting features.

To show my ability to handle Scribus codebase I fixed a bug #10487

I believe I am a good candidate for this project because I have sufficient knowledge to implement it and am focused on a single organization, so I am able to learn as much about the Scribus project as possible.

Contacts:

Email: invercity1991@gmail.com IRC nickname: Invercity