Difference between revisions of "Summer of Code 2008/proposals"
Line 436: | Line 436: | ||
* useful skills: familarity with LDAP, familarity with OOo's database access API | * useful skills: familarity with LDAP, familarity with OOo's database access API | ||
* Mentor: Ocke.Jansen at sun.com | * Mentor: Ocke.Jansen at sun.com | ||
− | * Contact: mailto:dev@dba.openoffice.org | + | * Contact: [mailto:dev@dba.openoffice.org dev@dba.openoffice.org] |
* 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] |
Revision as of 11:54, 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
- 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
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
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