Difference between revisions of "Summer of Code 2008/proposals"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Add animation support to Impress Flash export)
(SDBC driver for LDAP directories)
Line 355: Line 355:
 
* effort: 4 weeks for the driver, 2 week for the customizability, 3 weeks for a possible user interface
 
* effort: 4 weeks for the driver, 2 week for the customizability, 3 weeks for a possible user interface
 
* more information: [http://dba.openoffice.org/development/projects.html#ldap Base's TODO page]
 
* more information: [http://dba.openoffice.org/development/projects.html#ldap Base's TODO page]
 +
 +
===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 [http://api.openoffice.org/docs/common/ref/com/sun/star/awt/module-ix.html toolkit API]
 +
* Mentor: Frank.Schoenheit at sun.com
 +
* Contact: [mailto:dev@dba.openoffice.org dev@dba.openoffice.org]
 +
* estimated effort: 3 months
 +
 +
* more information: [[Base_To-Do/Dialogs_with_Form_Functionality|Base's TODO page]]
  
 
== Misc ==  
 
== Misc ==  

Revision as of 12:13, 10 March 2008

Proposals

Writer

Improve Equation Editor Math

DRAFT

Intro

Concerns: OpenOffice.org 3.x all versions

Objective: currently, the equations editor has some issues (including very old one) and they need to be fixed, because all those issues are a strong brake for OpenOffice.org acceptance in Education.

Main issues are:

- misalignment

- missing symbols ( |-> , <-| , angle A^B .. etc)

.. (complete me)

FIXME : add the list of concerned issues

Skills

Skills with languages C/C++ (tokenization, debugging ) maths symbols and good math knowledge (for equations writing ) is a plus.

Good communication skills are expected too (because several modules are concerned )

Tasks

Familiarize with the starmath editor code

Familiarize with links in writer (writer is concerned in some issues)

Expected:

For issue 972 ( see link: Math_baseline_alignment )


- code to Implement a new parameter for baseline computation without edit equations

- write specs for add a the info in the .odt format

- design a proof of concept

- implement it

Complete : other little math issues ( e.g. missing |-> and <-| symbols .. etc )

Contact
dev@education.openoffice.org
ericb at openoffice dot org
Proposed by
Eric Bachard, Thomas Lange (to be confirmed)
Mentor
Eric Bachard (to be confirmed)


Page preview for Writer

Similar to OOo Impress' slide sorter pane, provide similar functionality for Writer. Initially, it should be possible to see page thumbnails there, and navigate the document with it.

  • Reguired skills/knowledge: C++, familiarity with Writer and UNO a big plus
Contact
dev@sw.openoffice.org
freuter at novell dot com, fstrba at novell dot com


Style optimizer for Writer

Often, people format their text document in weird ways, using whitespace for formatting, putting in section numbers literally instead of using the numbering feature etc. This proposal is about detecting such suboptimal content and converting it into a properly formatted document (using styles wherever possible).

  • Reguired skills/knowledge: fluent in one of the languages OOo has an UNO bridge for, familiarity with Writer and Writer API a big plus
Contact
dev@sw.openoffice.org
kendy at novell dot com, fstrba at novell dot com



Word macro compatibility

Recently Sun and Novell announced to pool resources to provide VBA macro compatability see [http://blogs.sun.com/GullFOSS/entry/sun_and_novell_work_together here].

Currently work in the project is concentrated on providing Excel support by

  • providing the framework for the compatibiltiy api via a plugable component
  • modifying the basic engine to support more compatibility features
  • porting the Helperapi code (for excel) to c++ (see. VBA & Porting_notes)

Tasks

  • extend the base framework by developing helper objects and implementations to be used by both the excel and writer compatibility object implementations
  • port the existing (word) helper api objects from Java to C++

Required skills/knowledge: C++, Java. Knowledge of UNO, OOo's writer API and some experience with VBA macros and Word VBA api a big plus

Contact
dev@sw.openoffice.org
noel.power at novell dot com


Calc/Chart

Templates for Charts

Into OpenOffice.org integrate the possibility to create and use templates for charts, see issue 33793. It will help users to speed up their workflow and ease the creation of stylish charts. There should be an easy way to create a template from an existing chart. When creating a chart the user should be able to choose between different templates. Some useful default templates should be offered, for example line charts with different dashes or bar charts with different hatchings.

  • Required skills/knowledge: C++, ability to understand and manipulate complex systems, general knowledge about charts
  • Useful skills: ability to build and debug OpenOffice.org, basic UNO API knowledge, ODF or general XML knowledge, knowledge about OpenOffice.org modules chart2 and xmloff
Contact
dev@graphics.openoffice.org
Ingrid.Halama at sun.com


Stacked label support for bar charts

With OOo's new chart implementation, adding new features is relatively easy. This proposal is about adding support for stacked labels to chart2.

  • Reguired skills/knowledge: C++, familiarity with UNO a big plus
Contact
dev@sc.openoffice.org
kyoshida at novell dot com

Boxplot and histogram chart support

With OOo's new chart implementation, adding new chart types is a breeze. This proposal is about adding support for boxplot and histogram charts to OOo, which Excel does not have, but Gnumeric has. Both of them are essential for presenting statistical data.

  • Reguired skills/knowledge: C++, familiarity with UNO a big plus
Contact
dev@sc.openoffice.org
kyoshida at novell dot com

Improve Calc autofilter

In comparison to Calc, Excel 2007 has a much improved cell autofilter implementation. This proposal is about improving the existing filter inside Calc, according to this blog.

  • Reguired skills/knowledge: C++, some familiarity with Calc a big plus
Contact
dev@sc.openoffice.org
kyoshida at novell dot com

Impress/Draw

Implement additional 3D slideshow transitions

Building on top of a successful [1] from last year, the goal is to add more 3D transitions to the Impress application. A transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.

The already existing OpenGL transition engine gets the previous and next page as a prerendered image, and then gets the stage (i.e. the screen) exclusively, for the duration of the transition.

  • Reguired skills/knowledge: C++, OpenGL. familiarity with UNO is welcomed
Contact
dev@graphics.openoffice.org
rodo at novell dot com, tbehrens at novell dot com

Port Impress 3D slideshow transition framework to Windows

Building on top of a successful [2] from last year, the goal is to port the underlying OpenGL framework to Windows.

The already existing OpenGL transition engine gets the previous and next page as a prerendered image, and then gets the stage (i.e. the screen) exclusively, for the duration of the transition.

  • Reguired skills/knowledge: C++, OpenGL, WGL. familiarity with UNO is welcomed
Contact
dev@graphics.openoffice.org
rodo at novell dot com, tbehrens at novell dot com

Standalone presentation viewer

In comparison to PowerPoint, OOo Impress does not have a standalone presentation viewer, although this greatly simplifies handling for inexperienced users. Furthermore, it offers a chance to pursue different routes in terms of UI and functionality, that might not (easily) fit in the main Impress application.

  • Reguired skills/knowledge: some familiarity with UNO a big plus, preferred implementation language is C#
Contact
dev@graphics.openoffice.org
rodo at novell dot com


OpenGL canvas backend

With a DirectX-based Canvas implementation already available for Windows, a natural move is to provide an OpenGL-based on for the unixoid platforms OOo runs on. This proposal is about providing an initial XCanvas-implementation that solely uses OpenGL for rendering.

  • Reguired skills/knowledge: C++, OpenGL, some familiarity with UNO a big plus
Contact
dev@gsl.openoffice.org
rodo at novell dot com


Create a native CoreGraphics canvas for Mac OSX

The current Aqua port for OOo uses vcl as the Canvas rendering backend. This proposal is about writing a native Core Graphics implementation, bringing anti-aliasing and lightning-fast alpha blending to the components that already use the canvas. Although a 100% feature-complete implementation seems to be unrealistic given the short timeframe, simple Impress documents should already render correctly.

  • Reguired skills/knowledge: C++, familiarity with OSX, and optimally Core Graphics, some UNO know-how a plus.
Contact
mac@porting.openoffice.org, dev@gsl.openoffice.org
ericb at openoffice dot org, tbehrens at novell dot com


Use PDF import's layout recognition for other vector formats

OOo's newly implemented PDF import employs some sophisticated layout recognition techniques, to generate a layout-compatible document. Leveraging this framework for other vector formats will make OOo an editor not only for PDF, but also for PostScript, EMF, XPS - whatever the successful applicant for this task chooses to import.

  • Reguired skills/knowledge: C++, some knowledge about the vector format to be imported. familiarity with UNO is welcomed
Contact
dev@graphics.openoffice.org
tbehrens at novell dot com


Implement an AutoCAD vector import for OOo

To complete OOo's already impressive list of import filters, this proposal is about adding an AutoCAD import for Draw. There's a spec at [3] to start from.

  • Reguired skills/knowledge: C++, some familiarity with AutoCAD and UNO is a plus.
Contact
dev@graphics.openoffice.org
fstrba at novell dot com


Add animation support to Impress Flash export

Since OOo2.0, the Impress flash export lacks support for animation effects. This task is about adding at least initial support for a selected set of animations (5 common ones of the entry, emphasis, and exit groups, plus a set of slide transitions) to the Flash export filter.

  • Reguired skills/knowledge: C++, familiarity with Flash and swf file format and Actionscript, UNO know-how is a plus.
Contact
dev@graphics.openoffice.org
cl at openoffice dot org, tbehrens at novell dot com

Create a Visio import filter for Draw

OOo currently lacks support for a Visio import filter. This proposal is about writing one, using 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.

  • Reguired skills/knowledge: C++, familiarity with Visio, and a fearless attitude towards poking into binary files.
Contact
dev@graphics.openoffice.org
sj at openoffice dot org, fstrba at novell dot com


Create a Freelance Graphics filter for OOo Draw

OOo currently lacks support for a Lotus freelance import filter. This proposal is about writing one, using 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.

  • Reguired skills/knowledge: C++, familiarity with Freelance graphics, and a fearless attitude towards poking into binary files.
Contact
dev@graphics.openoffice.org
sj at openoffice dot org, fstrba at novell dot com


Base

Joins in dBase queries

Queries to dBase files can currently contain one table only. Scope of the project is to enhance Base' built-in simple query engine to be capable of executing statements line SELECT table1.field1, table2.field2 FROM table1, table2. The dBase driver, the text/csv driver, and the Spreadsheet driver would all benefit from this extension.

Be prepared to dig around here before starting the project, the project touches low-level core implementations, including some heavy-to-read STL stuff, so be prepared to invest some time before writing the first line of code.

  • required skills: C++, SQL knowledge
  • useful skills: Lexx and Yacc
  • Mentor: Ocke.Jansen at sun.com
  • Contact: dev@dba.openoffice.org
  • effort: 6 weeks for an experienced developer
  • more information: Base's TODO page

SDBC driver for LDAP directories

OpenOffice.org already features accessing LDAP data, by shipping Mozilla components which enable access to LDAP servers. However, this solution has some disadvantages, the most prominent being that the broad variety of LDAP schemes (i.e. which LDAP classes and attributes are actually used to reflect the data being of interest) is not captured currently - we use a fixed mapping from LDAP to an OOo table, which seriously limits the use of this feature for some people/organizations. Also, including Mozilla binaries is a constant source of hassles for builds done for the various Linux distributions, to the grade that they effectively disabled the complete functionality.

To enable everybody to access the LDAP data of her choice in OOo, we would need to write a dedicated SDBC driver, which "flattens" an LDAP directory to a database table (i.e. provides the data of an LDAP directory as set of rows), but would be fully customizable. This means the user can herself decide which LDAP attribute should be mapped to which "table column" in the "databases table" provided by the SDBC driver.

  • required skills: C++, familarity with UNO
  • useful skills: familarity with LDAP, familarity with OOo's database access API
  • Mentor: Ocke.Jansen at sun.com
  • Contact: dev@dba.openoffice.org
  • effort: 4 weeks for the driver, 2 week for the customizability, 3 weeks for a possible user interface
  • more information: Base's TODO page

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 sun.com
  • Contact: dev@dba.openoffice.org
  • estimated effort: 3 months

Misc

Enhanced SVG export filter

OOo has very limited SVG export functionality. This proposal is about improving the SVG export substantially, e.g. creating SVG that contains multiple slides and can be navigated trough with mouse or key events. It's also conceivable to add animation support for Impress documents, comparable to what the Flash export filter provided in OOo 1.x

  • Reguired skills/knowledge: C++, familiarity with SVG, some UNO know-how.
Contact
dev@graphics.openoffice.org
ka at openoffice dot org, kendy at novell dot com


GUI builder for OOo

Editing OOo's dialogs with a GUI is currently only possible with the OOo Basic dialog editor, which is lacking in several ways. This proposal is about providing support for OOo's new xml resource format in a GUI editor, by e.g. providing a plugin for Glade.

  • Reguired skills/knowledge: familiarity with the chosen dialog editor & its implementation language
Contact
dev@gsl.openoffice.org
jcn at openoffice dot org, pl at openoffice dot org

Crosscompile Win32 OOo on Linux using MSVC in Wine

Compiling OOo for Windows is a major pain and comparatively slow, but often required for the OOo hacker to have her CWS approved. Using the free Microsoft compiler editions combined with fully FLOSS tooling would permit virtually everybody to provide OOo Windows builds. This proposal is about researching this issue, provide the necessary changes to the build system (and maybe Wine) to make that possible. There's been a proof of concept that "wine cl.exe" actually works.

  • Reguired skills/knowledge: familiarity with Wine, the command line and the OOo build system are a big plus
Contact
dev@tools.openoffice.org
tlillqvist at novell dot com, kendy at novell dot com

Template preview

Currently, OOo's template dialogs has provide hard-coded previews, that do not take the document at hand into consideration. This proposal is about providing true preview functionality in the template dialog, such that a user can judge appearance of individual templates before actually applying it.

  • Reguired skills/knowledge: C++, familiarity with UNO a big plus
Contact
dev@framework.openoffice.org
kendy at novell dot com

Performance Improvement

There are several known performance in OpenOffice, and clearly more that can be found with improved profiling. The exciting part of this task is clearly, finding and understanding sillies in the code - mis-uses of otherwise sensible APIs, problematic code structures and so on; and then with the minimum of code tweaking them to make them fly. As part of this, a small improvement to KCachegrind's visualisation will also be required (basic C++). We will also look at reducing memory use as an extensions. Not really a single task, but a collection of incremental wins over some weeks.

  • Required skills/knowledge: C/C++, familiarity with Linux, profiling
Contact
dev@lists.go-oo.org (please CC me)
michael meeks at novell dot com, kendy at novell dot com

New Tasks

If you have a task that is challenging enough, and there is an OpenOffice.org 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
: dev@project.openoffice.org
: The.Mentor at organization com
Personal tools