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

From Apache OpenOffice Wiki
Jump to: navigation, search
(add proposal guidelines)
Line 57: Line 57:
  
 
;Mentor:  Eric Bachard (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
 +
[http://kohei.us/2007/06/13/making-autofilter-more-user-friendly/ 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
 +
[http://wiki.services.openoffice.org/wiki/Summer_of_Code_2007/proposals#Impress:_OpenGL_rendered_transitions
 +
GSoC project] 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
 +
[http://wiki.services.openoffice.org/wiki/Summer_of_Code_2007/proposals#Impress:_OpenGL_rendered_transitions
 +
GSoC project] 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
 +
[http://opendwg.org/files/guestdownloads/DwgFormatSpec13-2007.rtf] 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 Guile.
 +
 +
* 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
 +
: kendy at novell dot com, tlillqvist 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
  
  

Revision as of 22:57, 9 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 [http://wiki.services.openoffice.org/wiki/Summer_of_Code_2007/proposals#Impress:_OpenGL_rendered_transitions GSoC project] 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 [http://wiki.services.openoffice.org/wiki/Summer_of_Code_2007/proposals#Impress:_OpenGL_rendered_transitions GSoC project] 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 [1] 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 Guile.

  • 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
kendy at novell dot com, tlillqvist 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


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