1.3.x Roadmap

The Scribus 1.3.x Roadmap
This document forms the basis of our work on Scribus 1.3.x/1.4. As you will see, some of the work has been done already. This document will change over time based on the possibilities to achieve these goals in the versions set out below. There is a 1.3.x Roadmap Extras document which accompanies this one that lists the outstanding bugs or feature requests from the 1.1.x/1.2 series that we aim to fix in the 1.3.x development series. Please place your comments and suggestions on the Roadmap Suggestions page. The best way to ensure your feature requests are seen by the development team is to file a bug and use severity of "feature". Screenshots or mock-ups are very helpful. Before filing please search to avoid duplicates.

1.3.0

 * Give access to the Scribus and document preferences at the same time so they are clearly separated. - DONE
 * File verifier to test file properties for print readiness - DONE
 * Enhancements to canvas - linked frame markers - DONE
 * Some performance improvement with large amounts of text present - DONE for 1.3.0
 * Code cleanup - DONE for 1.3.0
 * Rename all variables to English ones (partly done) #1688 - DONE for 1.3.0
 * Move all measurement calculations to units.cpp/.h. #1689 - DONE
 * Move all constants such as AppMode and page sizes etc to be defined for multiple use. - DONE for 1.3.0
 * Options for performance (eg, DPI view in image frames, currently 72) low, med, hi, 72, 144, 300 ? #1691 - DONE
 * Export text as outlines in PDF exporter. - DONE
 * True facing pages - DONE
 * Arrowhead ability on lines - DONE
 * Basic undo/redo framework - DONE for 1.3.0
 * 633! Drop caps not reaching to the top, and other issues  - DONE
 * Undo/Redo rewrite with actions based steps like Gimp has, down to level of per character in text frames, node edits, etc. See bug 23 for 1.3.0
 * Start separating GUI code from internal structures and the canvas - DONE for 1.3.0
 * Add Graphical Import: CMYK-TIFF, CMYK-JPG - DONE
 * Add Graphical Import: PSD #114 - DONE
 * Keyboard Shortcut Manager (loading, import/export of shortcut sets) #1690 DONE - also see:Inkscape_Interoperation Inkscape and Scribus and Harmonizing_Scribus/Inkscape_Keyboard_Shortcuts and see public wiki
 * Suppport more page measure units (Centimeter, Cicero) - DONE
 * Text on path issues #171 - DONE
 * More Text Import slave plugins: OASIS - DONE
 * Extra attributes (RDF and custom) on frames and documents (eg Author tag on a particular frame, or source tag on a frame, or 'DBID' on a doc) - DONE
 * Implement PDF 1.5 support for layers - DONE
 * 1362 admin/CVS directory must be removed on "make dist" - DONE
 * Ability to change GUI language on the fly #1175 - DONE
 * Write a new align/distribute palette - DONE
 * Implement a color eyedropper - 1602 insert a color picker to pick colors from pictures etc - DONE


 * Make Story Editor non modal giving easier access to editing text - DONE
 * Initial native release on Mac OSX - DONE
 * Option for linespacing to be based on font's line spacing, user setting or baseline - DONE
 * Enable access to DFONT font files and TTC font collections #1816 - DONE
 * More control over character offsets to baseline, underline, strikethrough positioning, font vertical scaling - DONE
 * Preflight tool to verify file correctness for printing/exporting with profiles for various export/print options. - DONE
 * Ability to have different margins on each page - DONE
 * 237 Enable Toggling low-res / high - res display of picture on the canvas - DONE
 * 1033? TIFF not found in non-US path - DONE
 * 651 Enhancements to the Help Browser - DONE
 * 1534 PATCH: Informative user feedback when PDF/X3 and colour management - DONE
 * 1552 Smallest word in Hyphenator Settings falls short by one letter - DONE
 * 1558 Item > Distribue/Align, should be ever present and a toolbar - DONE
 * 1572 Text flows around frame does not work correct in page templates - DONE
 * 1574 Story Editor: Deleting words with CTRL+Backspace/CTRL+DEL - DONE
 * 1595 insert page number- Menu Item - DONE
 * 1594 inserting a page number, by the documented cntrl + #, does not work - DONE
 * 1633-assigned plugins manager - DONE
 * 1681 - setBookmarks in scripter - DONE
 * 1730 - Distribute/Align doesn't correctly distribute space - DONE
 * 1674 - assigned - DONE
 * 1670 multipled tab spaces in story editor are ignored in text-frame - DONE
 * 1661 Selecting multiple paras and changing style only affects one para - DONE
 * 1677 Change "Kerning" to "Tracking" in UI to more accurately reflect function - DONE

1.3.1

 * Rewrite the plugin API and implement an about system for plugins - DONE
 * Implement a new startup dialog with more options for opening recent and existing documents - DONE
 * Some means of handling spot colours. GS 8.5x has loads of improvements there #2167 - DONE
 * 405 Drag rulers to measure things - DONE
 * Enable knowing the GS version in About #2230 - DONE
 * Add autoresizing of the canvas when a user drags an item to the edge - DONE
 * Implement a page relative and absolute measurement mode for the rulers - DONE
 * Convert Regular Pages to Master Pages 2523 - DONE
 * Enable changing pages to be a different page size and orientation 81- DONE
 * Implement page layout options for 1,2,3,4 pages wide for folding documents, - DONE
 * 1099 Inline graphics - DONE
 * 1358 Ability to apply a template to all odd (or even) pages to a range of pages in Page>Apply template - DONE
 * 1223 Make non-printable "characters" visible - DONE
 * New font selection capability based on gtfonts and Tsoots gettext code #1692 - DONE
 * 1488 Being able to resize a straight line or change its angle from any end-points - DONE
 * "Zoom to 100%" button on view status bar see also #315 - DONE
 * Include additional code, patches and fixes for Win32 and Mac OSX compatibility - DONE
 * Work on CMYK images and profiles - DONE
 * Enable embedded ICC Profiles for .jpg, .psd and .tif images in the PDF export - DONE
 * Enable the use of the tiffsep device of Ghostscript 8.51 for Print Preview and enable plate preview - DONE
 * Enable conversion of spot colours to process colours at export - DONE
 * Implement a calendar wizard script - DONE
 * Enable optional building with cairo rendering support instead of libart_lgpl - DONE
 * Major internal work in: (DONE)
 * Separating the base classes of Scribus (ScribusApp, PageItem, ScribusView, ScribusDoc)
 * Separating GUI code from internal
 * Cleaning code
 * Variable renaming
 * Run KDE code testing scripts and clean/fix as appropriate
 * Conversion of various code and structures into own classes.
 * Implement a preferences manager class and move code there as appropriate

1.3.2

 * Implement environment based dialog button order #709 - DONE
 * Start to break up pageitem.cpp into multiple classes, partly based on previous test work - DONE FOR 1.3.2
 * Continue separating GUI code from internal structures and the canvas - DONE FOR 1.3.2
 * Code cleanup - DONE FOR 1.3.2
 * Continue to rename all variables to English ones (partly done) #1688 - DONE FOR 1.3.2
 * Convert important structs (StVorL, etc) into proper classes with sensible defaults and set methods that sanity-check input #1703 DONE FOR 1.3.2
 * Tweak linked frame markers for size and colour #2702 - DONE
 * Set font picker, style picker, etc to display " " rather than incorrect info DONE FOR 1.3.2
 * Move Load and Save functions into a "master/slave" plugin (like GetText is) to easily support loading of various formats (new, old, complete oo.o, etc). #1702 - DONE FOR 1.3.2#722, 726, 1036 - DONE FOR 1.3.2
 * Enhancements to Undo/Redo - DONE FOR 1.3.2
 * Fix the file dialog for #1913 DONE
 * Color Wheel #379#716 DONE
 * Add EXIF support and use thumbnails in file dialog. DONE
 * Section based page numbering #2778 - MOSTLY DONE
 * Adjustable Font Size for Palette. #1083 DONE

1.3.3

 * OO Draw v2 document support #3218 - DONE, TESTING
 * Add in ability to import printer margins to the prefs/document #3147 - DONE
 * Indicate font type in font selectors #3142 - DONE
 * Allow drag'n'drop of documents to Scribus window to open #3132 - DONE
 * Add insert special characters into the story editor #2081 - DONE
 * Add in ability to copy the contents of an image frame to another #3201 - DONE
 * Make Scribus look for palettes installed by Create project #3225 - DONE
 * Allow showing and hiding of the rulers #3249 - DONE
 * Add Microsoft Word text importer #3253 - DONE
 * Barcode Generator - DONE
 * Palm PDB file importer - DONE
 * Scrapbook rewrite allowing multiple scrapbooks open at once - DONE
 * Configurable multitab notebook for the Scrapbook, with tabs named by the user for various applications or their choice, eg one tab per doc. - DONE
 * Scrapbook support for Kivio stencil files - DONE
 * Optional constrain rotation of items and lines #250 - DONE
 * Creation and resize of items from all item handles in any direction #316 - DONE
 * Enhancements to the PostScript Importer
 * Improving coordinate resolution with TextAlphaBits/GraphicsAlphaBits=4 - DONE
 * Use kerning information for text - DONE
 * Import of raster images #1698 - DONE
 * Honour fill rule for Polygon fill - DONE
 * Allow undo/redo for more operations and fix some areas - DONE
 * Preparation for new text system with some API changes - DONE

1.3.4

 * Migrate to a new build system - DONE (CMake, requires CMake CVS/2.4.3+)
 * Will need updating for more systems but does certainly work
 * Currently both Autotools and CMake building should work. Autotools will be remove in the future
 * Make optional dependencies such as TIFF and LittleCMS required as we depend too much on them to enhance Scribus. - DONE
 * Option to draw text frame margin and column markers #305 - DONE
 * Move Load and Save functions into a "master/slave" plugin (like GetText is) to easily support loading of various formats (new, old, complete oo.o, etc). #1702 - DONE (FROM 1.3.2)
 * Updated undo engine - TESTING
 * New non modal Style Manager dialog - IN PROGRESS
 * New non modal Guides Manager dialog - IN TESTING
 * Ability to tweak leading on styled paragraphs -OR- disable leading field when working on styled pars where it won't work - DONE
 * Optical Margins - now, who sneaked that one in? ;-) - DONE
 * non-paragraph-terminating newline char (CTL-enter?) - DONE (space+nl gives old behaviour)
 * Tracking adjustment (ie inter-word spacing) See bug 418
 * Manual tracking (tweaking inter-word spacing) - DONE
 * min/norm word spacing and glyph extension for justification - DONE
 * General improvements to text frames with muliple styles - DONE
 * Character based styles #002, 1076/1077 - DONE
 * Warning on missing fonts in placed/imported EPS files #1700 DONE
 * Crop, fold, registration capability #194,1113,1116 DONE
 * Bleed capability #129, 1041 DONE
 * Finer than 0.1pt control over leading, kerning, type size
 * Finer than 1% control over text width adjustment (DONE in 1.3.0 to 0.1%)
 * Inheritable paragraph styles #363 - DONE

1.3.5 <-- We are now here

 * Qt4 Migration DONE
 * Move to SVN from CVS -DONE
 * Deprecate autotools build system - DONE
 * Deprecate libart, potentially remove its support altogether. Depends on speed increases in cairo 1.2.5+ - DONE
 * Improvements to OS/X integration - mostly DONE for 1.3.5
 * Integration of GSoC projects DONE
 * AI Importer - DONE
 * WMF Importer - DONE
 * Xfig Importer - DONE
 * fix bugs from #5693 and http://bugs.scribus.net/roadmap_page.php
 * Spellchecker based on aspell - DONE for 1.3.5
 * Boolean Object methods (like Inkscape etc) DONE FOR 1.3.5
 * Resolve all 1.3.5-related bug reports

1.3.6

 * Color work - assigned to jghali
 * Rewrite file saver with QXmlStreamWriter (jghali)
 * More to be added

Things that have to be done before the release of the next stable version

 * Qt4 transition - DONE
 * Scripter cleanup
 * New file format IN PROGRESS
 * Tables rewrite
 * Usable inline frames
 * Cursor positioning bugs (#3157)
 * Undo bugs (#5745)

Rationale: these things can't be backported from 1.5.x to 1.4.x, and they are so important that they should appear in the next stable release. Most other unfinished stuff from 1.3.x could be fixed in 1.5.x and then backported to 1.4.x if needed, but the above items are too massive for that.

Internal

 * New file format and DTD, 100% XML compliant #111
 * performance with large amounts of text present - IN PROGRESS
 * New file open and save dialog class to handle multiple file location options, eg local, NFS, kio, WebDAV. These would be used in import and export plugins, SLA open/save, get/save text functions. They would pass a stream pointer/filename etc to the resulting plugin for the operation. *#1693
 * New Colour Storage Format with various options eg, index, name, number, rgba, cmyk, spots, etc. See New Colours Format

Text Frames

 * Make edit-in-frame more usable? I know, use SE - but that's not very useful when making hyphenation corrections etc. - IN TESTING
 * Control hyphenation as part of para style
 * Maximum inter-word spacing control, or "willingness to hyphenate" control
 * Bullet support in paragraph styles #102 Partly DONE
 * Hyphenation improvements #417
 * More improvements to styles
 * Text refinements #415
 * Non latin support #1547, #1079
 * Support for OpenType alternate glyphs #1413
 * Cursor placement fixes (so cursors know more about tabs, columns, alignment etc) #3157
 * Related to inheritable pargraph styles: limited styles, presumably with a 'next-style' attribute. Think 'first paragraph' styles, etc.
 * Ability to create TOC and Indexes #1371, #3349 IN PROGRESS, TOC done.
 * Mail merge
 * Spellchecker based on Enchant, aspell, or ispell (like it's done in KDE?) PARTIALLY DONE IN 1.3.5
 * Support for footnotes and endnotes

Import/Export/Printing

 * Rewrite the text import system to enable piping
 * More Text Import slave plugins: XML/HTML/(XHTML+CSS)/OO.org Calc/Kword/Kspread)
 * Add Word Perfect Importer #3589
 * Add RTF Importer
 * Investigate the use of libabiword and AbiWord filters for import of formatted text, as it would provide about 30 new text formats that could be imported.
 * HTML Exporter #2974
 * Updatable Linked Text
 * Move vector import to master/slave plugin format (EPS/SVG/etc)
 * Integrate UniConvertor. This would enable Scribus to import CorelDRAW 7-X4 (CDR/CDT/CCX/CDRX/CMX), Adobe Illustrator up to version 9 (PostScript based), Computer Graphics Metafile (CGM), Skencil/Sketch/sK1 (SK and SK1) and Acorn Draw (AFF) files.
 * Xara Import/Integration #3863
 * SVG Layer support #1701
 * PDF-in-PDF embedding of placed PDFs on PDF export (works only in PDF-1.4 and above FS) #1699 see also #1179 IN PROGRESS
 * Warning on missing fonts in placed/imported PDF files #4464
 * PDF/X-4 support
 * XPS import and export
 * Enhancements to the PostScript Importer:
 * Fill patterns
 * Gradients
 * Type3 fonts; vector/bitmaps
 * Honour fill rule for clipping
 * Transparency flattener #876, 377
 * Enhance Qt pixmap image support (ie, the pixmap based formats Qt doesnt currently support) MOSTLY DONE
 * Investigate what other file formats from the wish list could be imported.
 * Option to print PostScript errors #1441
 * RGB profiled export for bubblejets (Note: CMYK for PDF-X/3 only!) #1697, 1271
 * Add Support for DeviceGray and Indexed Colors #3540
 * Preflight Enhancements #4569

Usability/User Interface

 * Better Selection for Copying #2777
 * Add margin 'skipping' support for facing pages #2683
 * Enhancements to canvas (text frames show column markers, better frame control options)
 * New Start-up Dialog for new users on launch. #1709
 * Enhancement to Scratch Space #1989
 * Selection improvements: Multiselection in items Overview, Object selection with Ctrl, Un-prompted object resizing, Object creation and resize with aspect/angle constraint.
 * Fix the drag code so its sane and familiar for users of other layout apps. See: #1907
 * Responsiveness during long operations. Separate UI thread, progress bars?
 * New dialog class for standard look and feel
 * Shortcut profiles, eg "for adobe users", "for xpress users" IN PROGRESS

Shapes/Vector Drawing

 * Boolean Object methods (like Inkscape etc) PARTIALLY DONE IN 1.3.5

Image Frames

 * Allow more options for allowing clipping paths to shape text #1564

Scripter

 * Working PyQT for Scripter (see Using QT from the Python interface) IN PROGRESS
 * Scripter functions enhancements (hangs together with "Scribus Objects via Scripter" IN PROGRESS
 * Asynchronous or indepently threaded Python execution (qt will provide a lot of this for free without requiring real threads ... if it can be made to work) (see patches in Using QT from the Python interface) IN PROGRESS
 * Access to the Scribus core from python outside of Scribus GUI/scripter. (DCOP? CORBA/XML-RPC?) #1675

Misc

 * New non modal Resource Manager dialog
 * Release procedure documentation
 * Re-write the scrapbook with SAX #2054 also # 2457
 * Ability to clone frames like Inkscape can, allowing, for example, text frames on various layers to have the same size and attributes, except different content (eg layers for various translations of a doc). When one is moved, they all move, when one is resized they all resize etc. .."Linked Layer Objects" ? #1704
 * Transparency enhancements - IN PROGRESS
 * Tables rewrite/feature enhancement
 * OpenClipArt Integration #1263 IN PROGRESS
 * Font Finder. As manually run item, or when a font is missing in a document, we can provide a method for a user to download and install a font from ANY of the free distro font repositories. Requires: List of fonts and repositories (and the code of course)