Summer of code 2008: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
Line 204: Line 204:


====Advancing SVG Capabilities====
====Advancing SVG Capabilities====
* It would be good for Scribus to first of all try to march along with Inkscape and its various SVG capabilities.  
* It would be good for Scribus to first of all try to march along with Inkscape and its various SVG capabilities, realizing there could be some that are not applicable or not feasible.
* Beyond that, Scribus could benefit from expanding the reach of SVG to include the various needs for DTP and printing. This should include improving SVG export.
* Beyond that, Scribus could benefit from expanding the reach of SVG to include the various needs for DTP and printing. This should include improving SVG export.

Revision as of 16:22, 27 February 2008

Remaining Ideas from 2007

Submitted Applications

End-to-end publishing solution

We had one applicant, Timo Stollenwerk, for this project.

End-to-end publishing solution

Improve scripting

We had one applicant, Henning Schröder, for this project.

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.

Dynamic Layout support

We had one applicant James Michael Koren for this project.

Scribus Team Ideas

Updates to the ODG/SXD import plugins

Text merge NOT 2008

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)

Font search plugin

Using for example the WhatTheFont service to identify fonts. There are also other services which require answering a series of questions or giving a set of keywords.


Text frame usability enhancement NOT 2008

Improve on-page text editing usability and performance (ringerc).

Currently, editing text on the page is slow and clumsy, and suffers from some limitations that make it less useful than it could be. Scribus's usability would be considerably enhanced by improving this, so the story editor isn't needed for minor editing tasks. In particular, tweaking layout and formatting would be much easier if on-page text editing could be improved.

There's existing work related to this area, especially the new text system work, so you wouldn't just want to jump into this. Getting in touch with Andreas Vox might be the best starting point, to find out what is already done or will be done, and what won't be touched by the new text system work.

Enhance inline objects NOT 2008

Enhance inline objects (ringerc).

Inline objects are supported in Scribus, but not easily discovered. Support for positioning and sizing them is poor, and they aren't editable once they've been pasted into a run of text. Considerable improvement is needed in formatting and editing them to make them more useful.

Merge Field Support NOT 2008

Implement true "merge" style field support / variable text /conditional text a-la FrameMaker (ringerc).

In technical writing, automated mailing, and certain other uses it is desirable to dynamically alter sections of the text.

The most common need is to substitute certain values into `fields' in the text, as in a mail merge. Supporting such fields would be very useful, especially as Scribus's support for external data sources improves and it becomes more suitable for automated use.

The second major need is to handle regions of text that can be hidden or shown based on a variable. This can be useful with technical writing. Consider: maintaining manuals for with-wifi and without-wifi variants of a DSL router in a single document by turning off wifi-related sections when exporting without-wifi version. It's also useful for mail merge, as sometimes you want to include or exclude sections of a merge document based on parameters of the record's information. For example, users paying with different methods might need different information, or maybe you want to tell "premium" customers something else. Whatever.

Adobe's FrameMaker has supported these features for a long time, but few other tools handle anything like it - let alone tools like Scribus with decent layout capabilities. Many people who need this sort of thing currently use PDF generation libraries to produce their documents using languages like Java.


Externally linked text NOT 2008

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

New File Open/Save Dialog Class

http://bugs.scribus.net/view.php?id=1693

XML Editor

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, which 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:

  1. Write an enhancement to the Story Editor to enable users to edit the XML content of text frames.
  2. Write an XML editor to edit the whole Scribus document (as Inkscape does with SVG)

OpenDocument 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.

RTF import/export extension for the Story Editor

http://bugs.scribus.net/view.php?id=4511

Multiple Search and Replace NOT 2008

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 NOT 2008

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

Smart Guides

See: http://bugs.scribus.net/view.php?id=5899

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"

Automatic Widow/Orphan Control NOT 2008

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.


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

Transparency Flattener

See http://bugs.scribus.net/view.php?id=876

This is a huge task and could be done as a part (or content) of a Masters or even PhD work.

Printing of PostScript Errors

Preview for all supported vector files in file dialogs

Implement a prototype for Master Documents

Similar to "books" in other DTP apps.

Requirements: Creation of an XML-based container format and working code (need not be complete for GSoC)

http://bugs.scribus.net/view.php?id=2107

Improvements to the Measurement tool

Eg create a KRuler clone, but more suited to DTP.

Import Filters

  • Filter for Quark Xtags. See here.
  • Integrate Uniconvertor.
  • Integrate GraphicsMagick.
  • Improvements to SVG import, eg. SVG layers support.
  • Improvements to PDF and AI import, eg. enable the selection of pages in a multi-page PDF
  • Other import filters.

Blue Sky Ideas

Your Idea Here

Present the title of your idea here and link to the wiki page where you elaborate on it.

Advancing SVG Capabilities

  • It would be good for Scribus to first of all try to march along with Inkscape and its various SVG capabilities, realizing there could be some that are not applicable or not feasible.
  • Beyond that, Scribus could benefit from expanding the reach of SVG to include the various needs for DTP and printing. This should include improving SVG export.