Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

Project Sections: Home | Development
Development Sections: Developer Projects


Developer Projects

Below is a list of projects which could be implemented by interested developers. Most of these projects are relatively self-contained, and do not require too much knowledge about OOo's code infrastructure.

Note that this list doesn't claim to be a complete repository of what will be done in the near/medium future. There may be items on the list which will never be realized, and there definately are items which are not on the list, but will be implemented.

If you are interested in anything from the list, please speak at dev@graphics.openoffice.org. We'll gladly help you to get started on this.

Also, make sure you don't miss OpenOffice.org's global TODO list, which also contains interesting projects for developers.

General Notes

Whenever we talk about user interface work, this implies working with VCL, the Visual Class Library in OpenOffice.org. If you are not familar with it, you will curse it, since especially some of the older parts never heard the word "documentation". On the other hand: In opposite to the native platform controls, everything is there as source code, so if you like "learning by debugging", you will love VCL smile.

Additionally, be aware of the fact that feature implementations in OpenOffice.org require a specification (you may visit the specifications project for more information). There's a rule that nothing is checked into the master branch which doesn't have a specification which all stakeholders agreed upon - so unlike other open source projects you may know, the specification really is an important part. Stakeholders are: the documentation team, the user experience team, the quality assurance team, and development. Usually, one representative from every team needs to accept your specification.

Well, don't let this hinder you in starting. Just be aware that there will be a time when a specification is finally needed. Most developers don't like writing such documents (and some people even claim that they shouldn't). Thus, you need to clarify who will take this for you, if you can't/don't want.

A note about the effort: This is a rather rough guess at the moment. In general, it may be a good idea to add two or more weeks or so simply for becoming familar with the code and some concepts, so if it is "2 weeks", don't expect to start today and finish it in 14 days ...


Creating a Visio filter for OOo Draw

OOo currently lacks support for a Visio import filter, so that it would be good to have someone starting to write such a filter from scratch utilizing the OOo API for direct creation of the document or the ODF format as input format to be loaded by the OOo application. Although a full blown filter seems to be unrealistic to be written within the short timeframe, large parts of Visio documents should be able to be filtered correctly.

Required skills/knowledge: good C++ or Java expertise, graphics programming

Recommendend skills/knowledge: Visio file format / ODF or OOo API

Contact: Sven.Jacobi@Sun.COM


Creating a Freelance Graphics filter for OOo Draw

OOo currently lacks support for a Lotus freelance import filter, so that it would be good to have someone starting to write such a filter from scratch utilizing the OOo API for direct creation of the document or the ODF format as input format to be loaded by the OOo application. Although a full blown filter seems to be unrealistic to be written within the short timeframe, large parts of Freelance documents should be able to be filtered correctly.

Required skills/knowledge: good C++ or Java expertise, graphics programming

Recommendend skills/knowledge: Freelance Graphics file format / ODF or OOo API

Contact: Sven.Jacobi@Sun.COM


Creating an OrgChart component

Currently, the OpenOffice.org package does not have a tool to allow users to easily create and manipulate organizational charts. OpenOffice.org's main competitor, the Microsoft Office suite, does provide such a capability for its users. Therefore the addition of such a tool to OpenOffice.org will help.

OpenOffice.org to attract new users and retain current users. The user will be able to create org charts using a library of pre-defined objects. These objects will support multiple user-definable fields. Objects will be manipulated using a drag-and-drop interface. An auto-alignment function will allow the user to place objects easily.

Required skills/knowledge: good C++ / Java expertise, graphics programming

Recommendend skills/knowledge: ODF or OOo API

Contact: Christian.Lippka@Sun.COM


Creating a native Quartz2D canvas for Mac OSX

The current presentation module relies on a component model, allowing to use different backends for rendering purposes. Currently, there are backends available for MS DirectX and for the internally used VCL graphics layer. For Mac users, it would be great to have an optimized rendering backend using the Quartz2D API.

Required skills/knowledge: MacOSX and Quartz2D API

Recommendend skills/knowledge: enhanced graphics programming

Contact: Thorsten.Behrens@Sun.COM


Creating a MultiPage-Tiff importer

MultiPage-Tiff files are oftenly generated from FAX documents and sent via Email, in case the recipient doesn'n own a FAX machine by herself, or to just embed it into the final document.

The current TIFF filter is able to import such files. We now need to ask the user what the destination for his Multipage TIFF file should be: just a simple graphics import or a more sophisticated graphics import, assigning each of the several frames of the TIFF file to a consecutive page of the current/new document.



Required skills/knowledge: C++

Recommendend skills/knowledge: TIFF format knowledge, OOo internals about the filtering process

Contact: Sven.Jacobi@Sun.COM


Enhanced SVG export filter

Due to the limitations the old export filter has, there have been made some efforts in the past to create an optimized export filter. This already available filter offers the possibility to create SVG's containing multiple slides, that you can navigate trough with mouse or key events. The functionality of this filter module is comparable with the functionality of the Flash export filter contained in StarOffice 7, which means that it doesn't offer any slide transitioning effects, object animations or sound support at the moment although the current internal structure of the new filter has been prepared to handle such topics more easily.

Availability in this case means that there exist some source code inside the filter project of StarOffice, that can be build upon request. Due to the fact that there have been strong requests for a filter containing such functionality for quite a long time, the suggestion in this case would be to release a development snapshot on OOo within a package component.

Required skills/knowledge: good C++, graphics programming

Recommendend skills/knowledge: SVG specification, OOo API

Contact: Kai.Ahrens@Sun.COM


SVG Tiny import filter

Their have been several inquiries in the past, asking for a SVG import support in StarOffice. Beside integrating SVG graphics into a document, people are also asking for a vector based interchange format that doesn't rely on the proprietary WMF/EMF (WindowsMetafile/EnhancedMetafile) format offered by MS. This format could be used to store OLE replacement graphics within our XML file format or to offer SVG content via Clipboard.

Due to the fact, that SVG itself is a very complex format, offering support for stylesheets, scripting, animations, complex clipping, (clip) pathes and many more sophisticated features, the effort to create a full featured SVG import would be way beyond our current possibilities reagarding development resources. But taking into account, that such a full blown feature set is not needed for interchange features, a possible way to go would be to write a SVG import filter on our own, that offers support for the 'SVG Tiny' format, that is a subset of the pure SVG specification, concentrating mostly on graphics primitives, which is exactly what we need in this case.

Taking a look at the export side, we should take care of offering the possibility to save content only with respect to this special 'Tiny' subset, so that we're able to read our own created SVG files.

Required skills/knowledge: good C++, graphics programming

Recommendend skills/knowledge: SVG specification, OOo API

Contact: Kai.Ahrens@Sun.COM

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.