GSoC 2011 Ideas: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
(Fleshed out the tables idea a bit)
Line 6: Line 6:
=Project ideas=
=Project ideas=


==#1 - Real table support==
==#1 - Tables Support==
See [http://lists.scribus.info/pipermail/scribus-dev/2011-March/000833.html scribus-dev discussion] for details. We already have a capable candidate with a proven track record (KWord GSoC project) ready to take this project on.
===Description===
Scribus currently stands without proper support for tables. There is rudimentary support for table-like objects, but it's "faked" using a group of text frames. The goal of this project is to bring basic support for loading, layout, drawing, editing and saving of tables to Scribus, while at the same time keeping extendibility and good design in mind for more advanced features to come. The new tables will be distict objects alongside text frames and other objects.


* Skills required: C++, Qt4 knowledge.
===Details===
* Scribus lacks real table support. Currently if one wants to have a table he will need to make it in external application and paste it as PS.
Features that are considered basic and mandatory for the project to be considered a success include:
* Tables need to become a new kind of object (aside from image and text objects).
 
#  Scribus should do the laying out, including ensuring row height is big enough to provide enough room for the text, the same for columns (plus text wrapping and/or eliding). A possibility for table to flow over several pages should be available.
* Loading, editing and saving of basic properties such as width, height, margin, padding, border and background of the tables, rows, columns and cells, where applicable.
#  Easy way to navigate through the cells, and doing table-wide formatting (of all features, text, lines, background...) are much needed.
* Intuitive keyboard and mouse navigation of table cells.
*  Completing at least first item of this list will count as a success for the project.
* Correct layout of text and other objects into the table cells. This includes, among other things, growing of cell heights to accomodate new contents and text wrapping/eliding.
* Scribus should allow importing data from CSV [and other sorts of data] easily (like specifying delimiter, " symbol handling -- see how openoffice.org does it).
 
* It is important to keep extendability and good design in mind when you know something isn't going to be finished. The most important part of this project is to lay out a solid table framework that could have it's additional functionality fleshed out later on.
Features that are considered optional for the project include:
 
* CSV / ODF import.
* Table breaking across pages.
 
===Required Skills===
C++, Qt 4
 
Student Elvis Stansvik, with proven track record of implementing tables (successful GSoC 2009 participant), has shown interest in the project and is working on an official project proposal. See the [http://lists.scribus.info/pipermail/scribus-dev/2011-March/000833.html mailing list discussion] for details.


==#2 - Extend the Property Palette for better text management==
==#2 - Extend the Property Palette for better text management==

Revision as of 16:37, 14 March 2011

List ideas for prospective Google Summer of Code 2011 projects here...

scribus-dev mailling list

Project ideas

#1 - Tables Support

Description

Scribus currently stands without proper support for tables. There is rudimentary support for table-like objects, but it's "faked" using a group of text frames. The goal of this project is to bring basic support for loading, layout, drawing, editing and saving of tables to Scribus, while at the same time keeping extendibility and good design in mind for more advanced features to come. The new tables will be distict objects alongside text frames and other objects.

Details

Features that are considered basic and mandatory for the project to be considered a success include:

  • Loading, editing and saving of basic properties such as width, height, margin, padding, border and background of the tables, rows, columns and cells, where applicable.
  • Intuitive keyboard and mouse navigation of table cells.
  • Correct layout of text and other objects into the table cells. This includes, among other things, growing of cell heights to accomodate new contents and text wrapping/eliding.

Features that are considered optional for the project include:

  • CSV / ODF import.
  • Table breaking across pages.

Required Skills

C++, Qt 4

Student Elvis Stansvik, with proven track record of implementing tables (successful GSoC 2009 participant), has shown interest in the project and is working on an official project proposal. See the mailing list discussion for details.

#2 - Extend the Property Palette for better text management

  • First line indent must be available in the PP (and everything that's available in the Styles must be in the PP too)
  • PP and Styles sorted out (see above)

#3 - Improvement of the Undo/Redo system

  • Recent work by Cezary has provided a new impetus for making the Undo system more comprehensive and on par with commercial software. However, more work is required. A GSoC project could provide a lot of benefit in this area in a reasonable time frame.

#4 - Additional import filters to clean-up the Get Text

  • RTF import and similar work has stalled and needs to be done.

#5 - A rewrite of the Style Manager

  • At this time it's probably better to start from scratch and follow the great ideas in the bug tracker.

#6 - Improve Hyphenation Settings

  • This could also be discussed with many of the teams working on word processors (LibreOffice?).
  • Include a hyphenation exception list (from a text file, not like it is now — remember, too many clicks...)

#7 - Allow thin space in Short Words

  • Use short workds or any other automated way. This is a must in French typography and a blocking issue for pros while having a great scope for a GSoC project.

#8 - Improve the handling of the text flow around an image

  • The current handling is inadequate.

#9 - Clean-up the UI so we have less clics and overall a much smoother workspace

#10 - Add missing bits in the interactive PDF (this is a very powerful tool)

#11 - Make the Render Frame work on OS X

#12 - Add export to PDF/X-1a (de facto standard in Norh America)

malex 19:30, 10 March 2011 (CET)

Template

#xx - title

  • Introduction
  • Rationale
  • Deliverables
  1. Part
  2. Part
  • Time scale
  • Skills required
  • Summary