GSoC 2012 Project Manager inversity: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
m (Protected "GSoC 2012 Project Manager inversity" ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
 
(3 intermediate revisions by 2 users not shown)
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 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
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 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:==
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.
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 />
 
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 />
 
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 />
 
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 />
 
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 />
 
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.


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 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 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.
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 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 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 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 attributes and elements of documents, included in projects. This functionality must supply working with all documents like with one document.
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


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


July 3 - July 8
July 3 - July 8


Testing all function and resolving all problems, if they will be exist.
Incorporating the functionality for working with a project into the base UI.


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


Creating GUI for project manager, realization all implemented functionality in GUI.
Implementation of the handling of additional functionality from the other GSoC PM project.


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

Latest revision as of 20:23, 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 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:

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