GSoC 2012 Ideas

Minimum Requirements * C++ * Scribus uses the Qt toolkit, so knowledge of it would be of significant advantage, but could be learnt. STL is not used much. * Python if you want to do any major scripting work * Visit GSoC_2012_Student_Requirements for others * Further questions can be posed to the team, please review GSoC_2012_Contact_Information. List ideas for prospective Google Summer of Code 2012 projects here... scribus-dev mailling list

=Project ideas=

#1 - Improve usability and get rid of little bugs
Scribus is a great and powerfull DTP programm. Its main drawback is in its restricted userfriendliness. The aim of this project would be to improve general Scribus usability and userfriendliness by tackling many little possible improvements, improving curious behaviour or curing little bugs.

The bug tracker records enough such bugs and feature requests that AFAICT look easier to solve.

Here are some of these :


 * Correct width for masterpage import dialog (http://bugs.scribus.net/view.php?id=10263)


 * Improve "pre press" pane in print options (http://bugs.scribus.net/view.php?id=10581).


 * Correct "modified flag" after changing "export to PDF" options (http://bugs.scribus.net/view.php?id=10582)


 * Copy "Locked state" of objects in multiple copy action (http://bugs.scribus.net/view.php?id=10468)


 * Keep insertion mode active after inserting glyph so as to keep the typing flow (http://bugs.scribus.net/view.php?id=10584)


 * Keep horizontal scroll bar (http://bugs.scribus.net/view.php?id=10213)


 * Import many masterpages at once (http://bugs.scribus.net/view.php?id=10272)


 * More efficient masterpage import http://bugs.scribus.net/view.php?id=10262


 * Remember "replace or rename when conflict" option on style import (http://bugs.scribus.net/view.php?id=10455


 * Keep access to preferences even in masterpage edit mode (http://bugs.scribus.net/view.php?id=10454


 * Remember position for each masterpage edit (http://bugs.scribus.net/view.php?id=10453)


 * Keep moving grouped objects by 1cm (http://bugs.scribus.net/view.php?id=10452)


 * Missing font is proposed to replace missing font (http://bugs.scribus.net/view.php?id=10417)


 * Improve access to contour editing (http://bugs.scribus.net/view.php?id=10409)


 * Selection and page move (http://bugs.scribus.net/view.php?id=10432)


 * Display of different spaces ( http://bugs.scribus.net/view.php?id=10301 and http://bugs.scribus.net/view.php?id=10280)


 * x y fieldset for "points" (or "Shape") dialog (http://bugs.scribus.net/view.php?id=10317)


 * Keyboard modifiers for the PP and Points dialog ( http://bugs.scribus.net/view.php?id=10303 and http://bugs.scribus.net/view.php?id=10269)


 * New setting for .autosave folder ( http://bugs.scribus.net/view.php?id=10220 )


 * Place of "points" pane in PP for grouped objects ( http://bugs.scribus.net/view.php?id=10225 )


 * Improve search : option to extand the search scope to the whole document, 3-state style filters, ...


 * New "save 4 last doc versions" option ( http://bugs.scribus.net/view.php?id=6253 )


 * Add "vertical space before/after paragraph" input in the PP


 * last but not least, a specific time could be dedicated to improve undo, since undo is perfect for basic edit but still very hasardous for not so easy edits (see http://bugs.scribus.net/view.php?id=5745 metabug for a list of some undo related bugs)

Some of these might be more difficult than forthought : if you feel this is the case, please explain it, or take the request out of the list.

There are probably a lot more of these little bugs and probably easy new possible features : please add the one you know or think of, specifically when related to usability and user friendliness.

Some of these points relating with masterpage dialogs might be coordinated with the following GSOC project idea about "project management".

#2 - Scribus Project Manager
Scribus Project Manager will enable to manage multiple file parts of a single large book or set of documents, all sharing some common attributes : masterpages, styles,...

The GSOC Project aims to define and implement a basic project manager that would enable to
 * define the scope of a project (list of files)
 * define shared objects : mainly styles and masterpages
 * synchronise the files using the most recent version of shared files
 * print or generate updated PDFs for whole project
 * optionnaly if time left : synchronise page numbers, indexes and other datas accross files of the project

The first part of this GSOC project would be to define how the Sribus Project Manager will work precisely.
 * collect needs for a project mananegr amongst users
 * propose and discuss a synthesis
 * propose and discuss User Interface elements and technical solution

The second part would be to thoroughfully code and document the approved solution.

#3 - Rendering and multithreading
Please check the discussion tab attached to this page for some ideas about this topic.