- 1 Google Summer of Code 2007 projects ideas
- 1.1 Scribus Team Ideas
- 1.2 Tales from the Crypt, a.k.a. Ideas from the Bug Tracker
- 1.2.1 XML Editor
- 1.2.2 OpenOffice import/export extension for the Story Editor
- 1.2.3 Multiple Search and Replace
- 1.2.4 Individual snappable baseline grid lines
- 1.2.5 Snap guides to locked objects
- 1.2.6 Latex Text Frames
- 1.2.7 Auto-change quotes based on language settings
- 1.2.8 Add spellchecking to Story Editor
- 1.2.9 Automatic Widow/Orphan Control
- 1.2.10 Add a Clone tool as in Inkscape
- 1.2.11 PDF Export enhancement for PDF embedding
- 1.2.12 Implement JDF support
- 1.2.13 Rich Text Format import plugin
- 1.2.14 WordPerfect Format import plugin
- 1.2.15 Other Import Filters
- 1.3 Blue Sky Ideas
Google Summer of Code 2007 projects ideas
Here is a list of projects that could be done during Google Summer of Code 2007.
Scribus Team Ideas
Write an imposition (booklet printing) plugin for Scribus.
- Preparing for imposition (about.com)
- How it is done in Adobe Indesign
- How it is done in Quark Express
- Two examples of how it is done in CorelDraw: 1, 2
Write a text merge plugin for Scribus. This would allow scribus to read data records from a table and use it for text content or filenames for image frames. It could also provide a mode to print labels etc.
- There is a mail merge RFE. One of Czech student is working on it. It looks like it will turn into common usable text merge from various data sources (CSV, XML, db...) --Subik 13:05, 7 March 2007 (CET)
End-to-end publishing solution
This is a meta-project that could be distilled into one or more workable GSoC projects.
GSoC 2007 Publishing Solution Task Plan - This is the result of a discussion in #scribus on 2007-03-16.
Live DTP CD or DVD – this draft/project is 2 years old and should be reviewed first, but there is definitely a need for such a solution.
It should be doable within the GSoC timeframe by creating a CDD (Custom Debian Distribution).
Text frame usability enhancement
Improve on-page text editing usability and performance (ringerc).
Enhance inline objects
Enhance inline objects (ringerc).
Merge Field Support
Implement true "merge" style field support / variable text /conditional text a-la FrameMaker (ringerc).
Support loading images from alternate sources. You should handle existing filesystem links and docuemtn-embedded images ( XML CDATA/PCDATA sections ), and leave room for things like a URL handler for HTTP images.
Building on the concept of an XML editor (see below), implement support for using text in externally linked files (as we currently do for images). Linking should support normal file system URLs, but leave room for handling WebDAV etc in the future. There is a clear role for this in working with content management systems such as in an end-to-end publishing system.
Tales from the Crypt, a.k.a. Ideas from the Bug Tracker
It could be practical to have an on/off toggle in the text editor between Wysiwyg and some kind of XML. One click you have the classical way to type text, Another one, formating disappear, XML tags appear like this :
-------------------------------------- <font name="Bistream Vera Sans MS" size="10"> blah blah blahalahb blah blah </font> <justify>blih blih blih blah blah</justify> <style name="paragraph"> ploplpoplpoplploplpo frudubulubruih :) </style> --------------------------------------
notice the difference between the (ugly) formating tags at the beginning, and the descriptive style tags, wich then define the look of the text.
The ability to expose the internal XML for text objects might also be rather interesting for the Python interface. (ringerc)
The approaches of Inkscape and InDesign are worth looking at. (C schaefer)
Applicants could choose between two different approaches here:
- Write an enhancement to the Story Editor to enable users to edit the XML content of text frames.
- Write an XML editor to edit the whole Scribus document (as Inkscape does with SVG)
Inkscape's re-architecturing effort: Subsystem Architecture
OpenOffice import/export extension for the Story Editor
Start with the OO text import plugin and work out a plugin that would export valid Open Document Format (ODF) xml for re-import into OpenOffice.
Scribus-specific elements and attributes would need to be stripped off, of course.
Multiple Search and Replace
Allow users to do multiple search/replace action at once in a document. For each string we’d be able to access all settings available right now for just one text string. This will add computing power to Scribus, from the UI.
Individual snappable baseline grid lines
Baseline Grid Enhancements - Discussion page.
Snap guides to locked objects
Instead of letting objects snap to guides, sometimes the reverse is needed, namely letting guides snap to (locked) objects. It would be nice to have this, e.g. by dragging guides while pressing the shift key. The reverse mode should be visible in the cursor (other colour or something similar).
Latex Text Frames
I think using LaTeX for setting text (including math, footnotes, bibliography and indices) and Scribus for the layout would make a very good match. But that means you want Scribus to control the position, size and shape of the textframes, and having access to Scribus's colors and fonts wouldn't be bad, either.
I think it would be better to make it easy to use the same fonts for LaTeX frames and non-LaTeX frames. AFAIK font installation was/is a bigger issue in LaTeX than it ever were in Scribus. If there is a way to automate it, we should take it.
What I thought of was that Scribus should only provide an interface to LaTeX in the first step: Write LaTeX commands in the SE and let LaTeX do the rendering. At this stage, Scribus style options etc. aren't involved at all.
Still, LaTeX needs to know the pagesize; or you have to use preview.sty to get pages cropped to the bounding box.
Hm, I guess you could do similar thinks with my solution. You'd just have a separate set of text options for LaTeX. If you take a look at fntguide.dvi from the LaTeX docs you'll understand why. There might be some Scribus options which could be translated to LaTeX parameters, but I doubt there will ever be a 1:1 correspondence. I'd be happy if I manage to find a way to translate Scribus' fonts into appropiate LaTeX font load commands and find a suitable math font for each...
Auto-change quotes based on language settings
I'm looking for a way to automatically change quotes (", ') to typographical quotes (unicode 201c/201e etc.). Would be great if I could use the text filters to do something like: "replace every other occurence of " with unicode 201e, the rest with 201c"
Add spellchecking to Story Editor
Using one of the standard libraries existing on Linux (aspell, ispell, MySpell), or possibly even use Enchant 
Automatic Widow/Orphan Control
Add a Clone tool as in Inkscape
If this matched the featureset of Inkscape's clone tools, this would match the features requested in bugs 922*, 923 and 924, and as an extra comment in bug 344.
PDF Export enhancement for PDF embedding
Enhance PDF exporter to enabled embedding PDF within PDF for PDF 1.4+ per roadmap
Implement JDF support
JDF seems to be the coming standard for job tickets. It may be patent encumbered in the US and countries with so-called FTAs with the US, but scribus should definitely offer the possibility to use the format somehow to be considered a "serious" application.
In particular, Quark has added support for using JDF as a source of preflight information. It's something I've wondered about for a while, and ended up talking to some of the MS Publisher folks about too. It turns out they're not interested in in-app preflight (despite how much easer it'd make life for publishing shops that have to take .pub jobs from users who can't read a job spec to save their lives).
If implementation of JDF is too large a task to implement during SoC, applicants could consider implementing one of the subsets, like the Print Production Format (PPF) or the Portable Job Ticket Format (PJTF).
Rich Text Format import plugin
Implement an RTF importer based on the existing plugins for other formats. (Investigate librtf's features.)
WordPerfect Format import plugin
Implement a WordPerfect importer based on the existing plugins for other formats. (Investigate libwpd's features.)
Other Import Filters
Blue Sky Ideas
Present the title of your idea here and link to the wiki page where you elaborate on it.
twext texts provide comprehensible input for language learners, and can integrate will many softwares (including MediaWiki and/or the wiki for the $100 laptop ).. why not a twexter plugin for Scribus?
Improve scripting and its experience in Scribus by adding an extension manager and further integration into the GUI and the core. Some examples should show what is possible with scripter.