GSoC 2011 Ideas

From Scribus Wiki
Jump to navigation Jump to search


Archive icon.png
This article is ARCHIVED. It is a part of the Scribus Community's history and is kept here for reference and as a representation of the contributed efforts. It is protected from editing, but its source can be copied.

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_2011_Student_Requirements for others
  • Further questions can be posed to the team, please review GSoC_2011_Contact_Information.

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

scribus-dev mailling list

Project ideas

#1 - Tables support

Introduction

This project aims 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.

Rationale

Scribus currently stands without proper support for tables. There is rudimentary support for table-like objects, but these tables are "faked" using a group of text frames. This is awkward and doesn't support editing of tables as objects in their own right.

Deliverables

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, but nice to have, include:

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

Time scale

Tentative schedule to be determined.

Skills required

C++, Qt 4

(Note: Student Elvis Stansvik, with proven track record of implementing tables (successful GSoC 2009 participant), has shown interest in the tables 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

  • Take a look at RTF import and see what similar work needs to be done.

#5 - 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...)

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

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

  • The current handling is inadequate.

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

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

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

#11 - Add perl scripting support

  • The current python scripter can be used as an example.

malex 19:30, 10 March 2011 (CET)

Template

#xx - title

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