Difference between revisions of "DevelopmentRoadmap"

From Inkscape Wiki
Jump to navigation Jump to search
 
m (link fix)
Line 9: Line 9:
* Add modelines to source files for popular editors (vim/emacs) [tvon]
* Add modelines to source files for popular editors (vim/emacs) [tvon]
* Check all listed Sodipodi bugs and copy recreatible ones to Inkscape's CVS tracker
* Check all listed Sodipodi bugs and copy recreatible ones to Inkscape's CVS tracker
* Investigate why events don't always get passed from dialogs to canvas - see InkscapeTamed, section II
* Investigate why events don't always get passed from dialogs to canvas - see [[InkscapeTamed]], section II
* Fill in HandlingPreferences with explanation of Howto add configuration parameters to the config file
* Fill in [[HandlingPreferences]] with explanation of Howto add configuration parameters to the config file
* Review and integrate remaining patches in Sodipodi patch tracker [tgould]
* Review and integrate remaining patches in Sodipodi patch tracker [tgould]
* Implement preliminary support for doxygen or doc++ in the codebase [joncruz]
* Implement preliminary support for doxygen or doc++ in the codebase [joncruz]
Line 22: Line 22:
* Identify the remaining XML compliance bugs needing to be fixed & add to plan [mental]
* Identify the remaining XML compliance bugs needing to be fixed & add to plan [mental]
* (DONE) Describe what needs to be done to fix ambiguous default namespace issue [mental]
* (DONE) Describe what needs to be done to fix ambiguous default namespace issue [mental]
:We need to disambiguate between qnames that have no namespace and qnames in the default namespace (normally SVG's).  Since internally we use a standard set of prefixes with qnames rather than expanded names, this means using e.g. "svg:g" and "svg:svg" instead of "g" and "svg" everywhere to name SVG elements.  Note that namespaces are normalized to our standard prefix  mappings at load time, so that does not itself constitute a compliance issue.  -- MenTaLguY  
:We need to disambiguate between qnames that have no namespace and qnames in the default namespace (normally SVG's).  Since internally we use a standard set of prefixes with qnames rather than expanded names, this means using e.g. "svg:g" and "svg:svg" instead of "g" and "svg" everywhere to name SVG elements.  Note that namespaces are normalized to our standard prefix  mappings at load time, so that does not itself constitute a compliance issue.  -- [[MenTaLguY]]
* Select a regression test system strategy (cutest?) [mental]
* Select a regression test system strategy (cutest?) [mental]
* Build a new grid options dialog using gtkmm [njh]
* Build a new grid options dialog using gtkmm [njh]
Line 66: Line 66:
* Review karbon14 codebase for code/libs to reuse
* Review karbon14 codebase for code/libs to reuse
* Investigate getting spsvgview building in C++
* Investigate getting spsvgview building in C++
* Rework text layout code to use PangoLayout
* Rework text layout code to use [[PangoLayout]]
* Change Inkscape from 'CSDI' to 'SDI'.  See [http://developer.gnome.org/projects/gup/hig/1.0/windows.html#document-interface-types HIG Document Interface Types]
* Change Inkscape from 'CSDI' to 'SDI'.  See [http://developer.gnome.org/projects/gup/hig/1.0/windows.html#document-interface-types HIG Document Interface Types]
* Add tutorial for using CVS, creating patches, doing .cvsignore, seeing diffs in commit msg to Wiki
* Add tutorial for using CVS, creating patches, doing .cvsignore, seeing diffs in commit msg to Wiki
Line 76: Line 76:




== PastMilestones ==
== [[PastMilestones]] ==

Revision as of 02:32, 22 January 2006

Inkscape Development Roadmap

This is a working document showing specific near-term tasks needed for achieving milestones.

Milestone 2

Inkscape Production:

  • (DONE) Create Freshmeat project for Inkscape [tgould]
  • (DONE) Remove the KDE / Qt code and dependencies [manny]
  • Add modelines to source files for popular editors (vim/emacs) [tvon]
  • Check all listed Sodipodi bugs and copy recreatible ones to Inkscape's CVS tracker
  • Investigate why events don't always get passed from dialogs to canvas - see InkscapeTamed, section II
  • Fill in HandlingPreferences with explanation of Howto add configuration parameters to the config file
  • Review and integrate remaining patches in Sodipodi patch tracker [tgould]
  • Implement preliminary support for doxygen or doc++ in the codebase [joncruz]
  • Implement preliminary support for arrowheads on path ends [bryce]
  • Implement preliminary support for layers [mental]
  • Implement preliminary support for iso & hex grid [njh]
  • Eliminate all warnings in g++ build process on Linux [joncruz]
  • Release 0.36 and post to Freshmeat

Inkscape Experimental R&D

  • Identify the remaining XML compliance bugs needing to be fixed & add to plan [mental]
  • (DONE) Describe what needs to be done to fix ambiguous default namespace issue [mental]
We need to disambiguate between qnames that have no namespace and qnames in the default namespace (normally SVG's). Since internally we use a standard set of prefixes with qnames rather than expanded names, this means using e.g. "svg:g" and "svg:svg" instead of "g" and "svg" everywhere to name SVG elements. Note that namespaces are normalized to our standard prefix mappings at load time, so that does not itself constitute a compliance issue. -- MenTaLguY
  • Select a regression test system strategy (cutest?) [mental]
  • Build a new grid options dialog using gtkmm [njh]
  • Investigate ps2ai and ai2svg conversion options (potential EPS support?)
  • Identify how text-along-a-path could be implemented & plan for M3 or M4
  • Prototype stroking/path enhancements [njh]
  • Create list of requirements for plugin system & gain team concensus on it [joncruz, bryce]

Inkscape Website & Project

Milestone 3

Inkscape Production

  • Implement basic 'make test' regression test support w/ at least one unit test [mental]
  • Learn how to make regression tests by creating one for one source file [bryce]
  • Learn how to make regression tests by creating one for one source file [njh]
  • Learn how to make regression tests by creating one for one source file [ted]
  • Further define regression test system implementation plan [bryce]
  • Commit to C++ build; rename .c files to .cpp [mental]

Inkscape Experimental:

  • Write a codebase directory structure proposal and post to mailing list for review [Mental]
  • Write an extensions/plugin proposal and post to mailing list for review [njh]
  • Plan task(s) for converting Inkscape Production's dir structure to new scheme

Inkscape Website

  • Set up Google Search for inkscape.org [bryce]

Milestone [Future]

  • Go through all Sodipodi feature requests and copy ones worth doing into Inkscape's tracker
  • Investigate setting up SF's trick for CVS authentication control [bryce]
  • Achieve convergence between inkscape and experimental version
  • Determine requirements for an Inkscape 1.00 release & establish plans
  • Set up a logging bot for jabber w/ auto-post of htmlified logs to website [bryce]
  • Create a gateway to auto-announce things onto website(?) [bryce]
  • Review karbon14 codebase for code/libs to reuse
  • Investigate getting spsvgview building in C++
  • Rework text layout code to use PangoLayout
  • Change Inkscape from 'CSDI' to 'SDI'. See HIG Document Interface Types
  • Add tutorial for using CVS, creating patches, doing .cvsignore, seeing diffs in commit msg to Wiki
  • Set up a bot to #inkscape channel in IRC - put config in cvs 'project' module
  • Set up a 'project' cvs module for putting config files, backups, etc.
  • Write up some Jabber tricks and advice for new Jabberites & how to share contact info
  • Appease jimmac by adding a path tool so that maybe he will stop using Illistrator to create GNOME SVG Artwork - see [1] right side of page.
  • Inquire about becoming a part of GNOME Office


PastMilestones