Difference between revisions of "Summer of Code 2008/proposals"
(→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