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

From Apache OpenOffice Wiki
Jump to: navigation, search
(GUI builder for OOo)
(Misc)
Line 382: Line 382:
 
: kendy at novell dot com
 
: 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=
 
=New Tasks=

Revision as of 10:29, 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

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
iha at openoffice dot 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, iha at openoffice dot org


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, 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


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