GSoC 2011 Ideas: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
m (Protected "GSoC 2011 Ideas": Application period is over ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:GSOC]][[Category:GSOC 2011]][[Category:EN]]
[[Category:GSOC]][[Category:GSOC 2011]][[Category:EN]]
{{Archive}}
'''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...'''
'''List ideas for prospective Google Summer of Code 2011 projects here...'''


Line 6: Line 14:
=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.
 
===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:


* Skills required: C++, Qt4 knowledge.
* CSV / ODF import.
* 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.
* Table breaking across pages.
* 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.
===Time scale===
#  Easy way to navigate through the cells, and doing table-wide formatting (of all features, text, lines, background...) are much needed.
Tentative schedule to be determined.
*  Completing at least first item of this list will count as a success for the project.
 
*  Scribus should allow importing data from CSV [and other sorts of data] easily (like specifying delimiter, " symbol handling -- see how openoffice.org does it).
===Skills required===
* 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.
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 [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==
Line 26: Line 50:


==#4 - Additional import filters to clean-up the Get Text==
==#4 - Additional import filters to clean-up the Get Text==
* RTF import and similar work has stalled and needs to be done.
* Take a look at RTF import and see what similar work 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 ==
==#5 - Improve Hyphenation Settings ==
* This could also be discussed with many of the teams working on word processors (LibreOffice?).
* 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...)
* 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 ==
==#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.
* 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==
==#7 - Improve the handling of the text flow around an image==
* The current handling is inadequate.
* The current handling is inadequate.


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


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


==#11 - Make the Render Frame work on OS X==
==#10 - Add export to PDF/X-1a (de facto standard in Norh America)==


==#12 - 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.


[[User:Malex|malex]] 19:30, 10 March 2011 (CET)
[[User:Malex|malex]] 19:30, 10 March 2011 (CET)

Latest revision as of 16:29, 11 April 2011


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