GSoC 2012 Project Manager proKrammer

=Prokrammer / Scribus Project Manager=

Abstract :
Scribus is used very frequently for making large books and Documents, as seen in the Success stories.

http://wiki.scribus.net/canvas/Category:Success_Stories

But it is very difficult to do it in a single file, since Scribus becomes very slow in loading the document. So the large books are managed using multiple files. This is very difficult since, any change to be introduced for the book needs to be done on each of the files. This process can be made simple by providing the ability of a project manager.

Scribus needs to be able to manage projects. I want to cover two aspects:
 * Managing several .sla files as one project
 * Manage the resources used by the .sla as project items

So we need to provide users the ability to manage multiple file parts of a single large book or set of documents all sharing some common attributes : masterpages, styles, fonts and images.

Problem Description :
1) Deciding the working of the project manager. 2) Making a project manager. 3) Adding extra features like     a) Combined resources ( Collect for output for whole project ). b) Linking specific Scrapbooks to files, and opening them automatically with the files

Implementation Details :
1) The first part of this GSOC project would be to define how the Scribus Project Manager will work precisely.     a) Collect requirements and use cases from the Scribus community b) Propose an implementation that reflects the consensus requirements.     c) Propose and discuss the technical details of the project such as the details of the UI and the Scribus specific implementation. This would involve discussions ( already started ) with the group regarding the details such as UI and implementation. 2) The second part would be to code and document the proposed solution.     a) Create a new project. b) Create new files in the project.     c) Make a project from existing large documents. d) Add shared styles and master pages to the project.     e) Keep the shared files synchronized to the latest added versions or changes. f) Print or generate PDFs for the whole project or for individual Scribus documents.     g) Link Scrapbooks to different documents. h) And "collect for output" for the whole project.

Contingency :
Since some of these works might take more time than expected, in such case,

1) Linking scrapbooks to different documents

2) Collect for output for whole project

will be done after GSoC.

Timeline :
My college exams get over by the first week of May. And i will start working on the Project from Second Week.

GSoC is a full time work and i am going to spend atleast 40 hr a week for the project.

Till May 20 : Ask among the Scribus community to define how the project manager will work precisely.

a) Exact needs in the project manager.          b) The methods of synthesis of the expected needs. c) The User Interface Elements.

Also checking out the Scribus code for: 1) Collect to Output.         2) Masterpages, Styles and resources sharing. 3) PDF generation, and Scrapbooks

Official GSoC start date : May 21

May 21 - May 31 : Checking through the code and Implementation of the User Interface

June 1 - June 10 : General Parts ( Adding files to project, Import files to project ).

June 11 - June 20 : Sharing Master Pages, Styles and other details.

June 21 - June 25 : Synchronizing the files using the updated versions of documents.

June 26 - July 2 : Pdf generation for the Whole Project and other features that need to be done for whole project.

July 3 - July 8 : Other features like Synchronizing page numbers and Indexes.

July 9 : Mid Term Evaluation begins.

July 10 - July 20 : Adding Scrapbook features and Collect for output features.

July 21 - August 3 : Time for Bug fixing and Unit Tests to check the working.

August 3 onwards : Spare time for any difficulties, Integration into Scribus Trunk.

August 13 - Suggested Pencils down date.

After GSOC :
I am highly motivated and interested in working for Scribus even after GSoC. I will continue working with the Scribus team, fixing bugs, and also on some of the specific projects i am interested in.

1) Speeding up Scribus    Using Multithreading. http://wiki.scribus.net/canvas/Multitherad_%28Project%29    I would like to use Qtconcurrent for the multithreading.

2) Undo Text Feature    http://wiki.scribus.net/canvas/Undo_text_%28Project%29

3) maybe http://wiki.scribus.net/canvas/Loading_Fonts_%28Project%29 ( Depends on the difficulty level ).

Biography :
I am Parthasarathy, second year Undergraduate Student in Computer Science from Hyderabad, India.

I study at Indian Institute of Technology Madras, one of the most prestigious institutions in the Engineering field in India.

I have a good knowledge and experience in both C++, and Qt. I have started my Free Software contribution with KDE. I have worked with Digikam ( Photo Management Tool ) and have submitted patches for them.

http://goo.gl/5op7K     :: KIOexport patch

https://bugs.kde.org/show_bug.cgi?id=206842   :: mediawiki export patch

I have submitted bug fixes for Scribus http://bugs.scribus.net/view.php?id=10581

I have also contributed towards Amarok ( Media Player )

Contact Information :
Student : Parthasarathy G

Email ID : gparthasarathy93@gmail.com

Freenode irc nick : proKrammer

Location : Hyderabad, India ( UTC + 530 )