Community Innovation Program/proposals

From Apache OpenOffice Wiki
Jump to: navigation, search



Enhanced usability of working with page attributes and properties

Currently changing page attributes or adding page properties like headers and footers is hard to understand. Users that don't know about hard page breaks, page styles and follow styles will have a hard time to format pages to their likings. A nice UI that hides the technical details and uses terms of the user space would help a lot.


  • learn about Writer's page styles and their (UNO) API

  • design and code the new user interface based on this API

Required skills/knowledge: C++; UI design

Oliver.Specht at sun dot com


Component to check spreadsheet documents for potential errors

Write an extension that checks a spreadsheet document for potential errors in formulas, presents a list of the findings to the user, and allows to correct them.

Things to look for could include

  • Cells that contain numbers stored as text and are used in formulas,
  • Number cells that are not used in any formulas,
  • Empty cells that are used in single-cell formula references.

The list is not meant to be exhaustive.

  • Required skills/knowledge: Java or C++, spreadsheet usage
Niklas.Nebel at

Watch Window

A Watch Window is a separate, small window that remains "on top" and enables users to monitor a selected set of cells, see issue 28386.

This could be implemented as an add-on component with a modeless dialog containing the list of watched cells as well as the UI to add or remove cells.

  • Required skills/knowledge: Java or C++
Niklas.Nebel at

Improve numerical stability of spreadsheet functions

Some statistical and financial analysis spreadsheet functions need improvement in numerical stability, for example for very large and/or small values, see issue 18704 and dependencies.

  • Reguired skills/knowledge: C++, knowledge of numerical analysis and algorithms, mathematical background
Eike.Rathke at sun dot com

Add new spreadsheet functions and parameters according to ODFF

The OpenDocument Format Formula specification (ODFF aka OpenFormula) defines several new spreadsheet functions and new optional parameters to already existing functions that have to be implemented.

  • Reguired skills/knowledge: C++; for some statistical functions knowledge of numerical algorithms and mathematical background
Eike.Rathke at sun dot com



Dialogs with Form Functionality

When creating a form, the user always needs to bother with a Writer document. Very often, this is much too oversized. It would be sufficient to have a simple dialog which contains all the data access controls.

The project is to (in different steps) - extend the dialog runtime engine to (optionally) include data-aware form controls - create a form designer for dialog-based forms (similar to the existing Basic Dialog IDE) - implement persistence of dialog-based forms - embed dialog-based forms into database documents (.odb)

Depending on more fine-grained planning, it might become apparent that not all of this can be done in the scope of a Google Summer of Code project, and reasonable milestones need to be defined.

  • required skills C++, UNO
  • useful skills: familiarity with OOo's database access and form API, as well as OOo's toolkit API
  • Mentor: Frank.Schoenheit at
  • Contact:
  • estimated effort: 3 months


OXT Extension wizard for templates and XSLT based filter

OXT extensions provide a nice way to bundle a group of templates and share them with other users. Templates are normally created with the office and the idea is to provide a wizard that helps on a higher abstraction level to collect templates and all necessary oxt specific information and build an oxt extension package. The second part is to extend the XSLT filter dialog to export new created XSLT based filters as an oxt extension as well. Currently it is only possible to create a jar file. The new feature should collect some more oxt related info and should create a well formed oxt extension package. The goal is to simplify these tasks and make it as easy as possible to create oxt extension packages that can be easy deployed and can be uploaded in the extensions repository to share them with many other users.

  • Required skills/knowledge: Java or C++
Contact at

ODT/PDF export from Wiki documentation is being moved to the Wiki. This makes it easier for people to contribute to the content of the documentation, but producing a PDF of ODT of the entire Wiki document or book is not yet possible. The Wiki needs a MediaWiki extension developed that will provide a way to convert an aggregation of wiki pages (a "book") to ODT and/or PDF.

  • Required skills/knowledge: PHP and XML, familiarity with ODF a plus
ccornell at, at

Netbeans OOo API Plugin: UNO IDL language support

Currently, the IDL language support consists only of syntax highlighting. With NetBeans 6 there is a project to support a generic language syntax. This can be used to create a full support including e.g. auto-completion and tool-tips in IDL files. API plugin for NetBeans

Generic Language Framework in NetBeans (Project Schliemann)

The work for this project consists of creating the description of the static elements of IDL files. But to provide a meaningful auto completion, the currently available keywords have to be taken dynamically from With this, not only the build-in UNO types of OOo, but also added types from registered extensions can be offered for auto-completion.

Since there may be performance issues regarding the usage of the Generic Language Framework, this project includes some evaluation work.

  • Required skills/knowledge: Java, API, ideally NetBeans API
steffen.grund at

WebDAV Versioning (with the DeltaV protocol extension)

To support office collaboration scenarios (e.g. remote collaboration document authoring) OOo needs a tool to provide remote versioning. With the already implemented WebDAV feature we've got the basis for such a tool and the DeltaV protocol extension of WebDAV could add the versioning functionality.

The goal is to provide at least the basic feature "core-versioning" of the protocol.

  • Required skills/knowledge: C++
tobias.krause at

Extended Basic/Dialog Library OXT Export

The OOo Basic Macro Organizer already allows to export a Basic/Dialog Library as extension, but without support for the description.xml file described in:

The goal of this project is to add support for this by creating a corresponding dialog allowing the user to edit all supported elements and by saving the description.xml file into the oxt file afterwards.

  • Required skills/knowledge: C++, Extensions
andreas.bregas at

Dialog Editor: Single dialog import

The Dialog Editor allows to export a single dialog as xdl file and - in case of localized dialogs - additional properties files containing the resource strings. This is very useful for adding dialogs / option pages to extensions. But there is no corresponding import functionality which makes it difficult to reimport and change dialogs exported before.

The goal of this project is to add this functionality. It has to be evaluated first how this can be done in a reasonable way as the dialogs are not handled like documents supporting Load/Save/Save as... but stored implicitely in the Library Container system. So there are several options how importing a dialog could work, e.g. replacing the current dialog after warning the user, adding it as new dialog after solving potential name conflicts. Also potential conflicts concerning the languages supported by the imported dialog respectively the target library have to be handled.

  • Required skills/knowledge: C++
andreas.bregas at

New Tasks

If you have a task that is challenging enough, and there is an Project Member willing to mentor the task, feel free to coordinate with the appropriate project lead. If the appropriate project has been found and it supports the task, add it below and make sure the mentor applies with the web app.

Each entry should contain the task description, required skills, project mailing list for discussion and personal contact. Links to the To-Dos are appreciated provided that the task is well described there ;-)

===Example entry===

This is just an example - the real entry must not start with a space at the beginning
of the line.
A full description of the task should be here; one that will help to see that this task
is important,  and interesting to hack on.  Alternatively it could be an exact link to
the description that is already in To-Dos.

* Required skills/knowledge: Language, technology1, technology2, ...

; Contact
: The.Mentor at organization com
Personal tools