GSoC 2012 Project Manager proKrammer: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
m (Protected "GSoC 2012 Project Manager proKrammer" ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Scribus Project Manager=
[[Category:GSOC_2012]][[Category:GSOC_2012_Proposals]]


=Prokrammer / Scribus Project Manager=




The proposal is yet to be completed and modified.
==Abstract :==
 
Scribus is used very frequently for making large books and Documents, as seen in the Success stories.


==Abstract :==
 
Scribus is one of the best Open Source Desktop Publishing applications, with a wide range of features.
But we can see that Scribus becomes sluggish when dealing with documents of large sizes ( 100 pages or more ).
We know that Scribus is used very frequently for making large books and Documents, as seen in the Success stories.
<span style="background-color:yellow">[a.l.e: well, it does not have to be that pathetic :-)]</span>
http://wiki.scribus.net/canvas/Category:Success_Stories
http://wiki.scribus.net/canvas/Category:Success_Stories


<div style="background-color:yellow">[a.l.e:
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:
Scribus needs to be able to manage projects. I want to cover two aspects:
* Managing several .sla files as one project
* Managing several .sla files as one project
* Manage the resources used by the .sla as project items
* Manage the resources used by the .sla as project items
]</div>
To stay competitive we need to be able manage large documents.


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


==Problem Description :==
==Problem Description :==
Line 37: Line 32:
==Implementation Details :==
==Implementation Details :==


   1) The first part of this GSOC project would be to define how the Sribus Project Manager will work precisely.
   1) The first part of this GSOC project would be to define how the Scribus Project Manager will work precisely.
  a) collect needs for a project mananegr amongst users
      a) Collect requirements and use cases from the Scribus community
  b) propose and discuss a synthesis
      b) Propose an implementation that reflects the consensus requirements.
  c) propose and discuss User Interface elements and technical solution
      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 approved solution.
   2) The second part would be to code and document the proposed solution.
  a) Users will be able to create a new project.
      a) Create a new project.
  b) Create new files in the project.
      b) Create new files in the project.
  c) Add existing files to a project.
      c) Make a project from existing large documents.
  d) Add styles and Masterpages to the project ( shared by all the files ).
      d) Add shared styles and master pages to the project.
  e) Synchronise the files using the most recent versions of all the files.
      e) Keep the shared files synchronized to the latest added versions or changes.
  f) Print or generate pdf for the whole project.
      f) Print or generate PDFs for the whole project or for individual Scribus documents.
  g) Link Scrapbooks to different files.
      g) Link Scrapbooks to different documents.
  h) And collect for output for the whole project. ( All fonts and other details from whole project )
      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 :==
==Timeline :==


My college exams get over by the first week of May. And i will start working on the Project from Second Week.
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.
Till May 20 : Ask among the Scribus community to define how the project manager will work precisely.
Line 65: Line 72:
           Also checking out the Scribus code for:
           Also checking out the Scribus code for:
           1) Collect to Output.
           1) Collect to Output.
           2) Masterpages, Styles and other resources sharing.
           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
May 21 - May 31  : Checking through the code and Implementation of the User Interface
Line 97: Line 107:
1) Speeding up Scribus  
1) Speeding up Scribus  
     Using Multithreading. http://wiki.scribus.net/canvas/Multitherad_%28Project%29
     Using Multithreading. http://wiki.scribus.net/canvas/Multitherad_%28Project%29
    I would like to use Qtconcurrent for the multithreading.


2) Undo Text Feature  
2) Undo Text Feature  
Line 117: Line 128:
https://bugs.kde.org/show_bug.cgi?id=206842    :: mediawiki export patch
https://bugs.kde.org/show_bug.cgi?id=206842    :: mediawiki export patch


I have submitted bug fixes for Scribus :
I have submitted bug fixes for Scribus  
1) http://bugs.scribus.net/view.php?id=10581
http://bugs.scribus.net/view.php?id=10581
2) Yet to be updated :)


I have also contributed towards Amarok ( Media Player )
I have also contributed towards Amarok ( Media Player )

Latest revision as of 20:23, 20 April 2012


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 )