Summer of Code 2007
Similar to last year, OpenOffice.org is participating in the Google Summer of Code(tm) initiative sponsored by Google.
This page lists the 10 tasks that have been accepted from the proposals for this year. Students work with their mentors on the projects with a mid-term milestone in July until August.
Accepted Tasks
Calc
Integration of R into Calc
Create an add-on component that allows a Calc user to let the R environment do calculations on data from Calc cells and put the results into the spreadsheet again.
This should include a dialog to select input parameters and options, and allow results to be values or graph images. Note that the incompatible licenses (R is under GPL) have to be taken care of, possibly by starting R as a separate process.
Some more thoughts on the subject have been collected at Statistical Data Analysis Tool#Third Party Library Integration.
- Required skills/knowledge: Some familiarity with statistical methods
- Contact
- dev@sc.openoffice.org
- Niklas.Nebel at sun.com
- Leonard Mada
- (on statistics and R syntax)
- discoleo at openoffice.org
- More Information
- Check Wojciech's blog for regular updates.
- OpenOffice.org wiki page: R and Calc
Framework
Status bar control to display/change the language
Currently the Writer lacks means to display the language in use. There's also no easy way to change the language as the user has to use the menu. A status bar control would help to solve these problems. It should help to determine about the language used at the cursor position or the document. The control should be implemented using existing UNO APIs.
- Required skills/knowledge: C++
- Useful skills: Basic UNO API knowledge
- Contact
- dev@framework.openoffice.org,
- Carsten.Driesner at sun.com
- Thomas.Lange at sun.com
- Mentor
- Carsten Driesner
- Thomas Lange
- Student
- Lili Sun
Graphics
Draw/Impress: SVG Import Filter
SVG (Scalable Vector Graphics) is a vector graphics format that describes 2D graphics in XML.
There's no native SVG import filter for OOo. There exists an external one, but unfortunately it has very strong dependencies - Java 5.0, and Batik. The goal of this task is to create a new implementation that does not require any too big libraries.
A proof of concept implementation written in C++ using the UNO Drawing API and a lighweight libsvg library exists here, but it needs a lot of work to be really usable. Another problem is that libsvg does not seem to be too actively maintained; so the real implementation should use OOo's internal XML parser.
More information is available in Kendy's blog.
- Required skills/knowledge: C++, XML knowledge is a plus
- Contact
- Jan Holesovsky - kendy at openoffice org
- Fridrich Strba - fridrich_strba at openoffice org
Impress: OpenGL rendered transitions
The goal is to add 3D transitions to the Impress application. 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.
In the process of implementing OpenGL transitions an UNO API should be added to slideshow code, so that OpenGL transitions engine might be created as standalone UNO component. Current transitions should be refactored to another UNO component.
The engine will get the previous and next pages and should render the transition at given speed.
The participant should also implement at least 5 OpenGL transitions, rendered by the UNO component.
- Reguired skills/knowledge: C++, OpenGL. familiarity with UNO is welcomed
- Contact
- mailto:dev@graphics.openoffice.org
- Thorsten Behrens - thb at openoffice org
- Radek Doulik - radekdoulik at openoffice org
ODF Toolkit
.net Module AODL: Forms and Fields implementation
Tools and best practice samples for ODF creation and manipulation
We already have some code snippets in Java and C# and looking for help to extend these tool sets or to provide tool sets in other languages. These tool sets are designed to offer basic ODF functionality even outside of OO.o.
- Required skills/knowledge: Java or C# or Perl or C++ ...
- Useful skills: ODF, XML
- Contact
- dev@odftoolkit.openoffice.org,
- Dieter Loeschky at sun.com
- Lars Behrmann at sun.com
Framework
Improving UI editing / coupling
Currently all dialogs (along with most translated strings) are stored in a rather unusual binary resource file format, that has not had much love in the last decade. We need to write some new code that separates the process of designing & laying out the UI from the code - to allow UE to make our UI more beautiful, and allow future re-factoring. The existing Basic GUI dialog editor and it's XML format should be re-used, a simple C++ compatibility API created, and a number of dialogs converted to the new format.
- Required skills/knowledge: C++
- Useful skills: courage, stickability, X-rated code reading
- Contact
- michael.meeks at novell.com
- hfiguiere at novell.com
Porting
MacOSX: Complete User Interface respecting Aqua Human Interface Guidelines
- Concerns: OpenOffice.org 2.x for Mac OS X Aqua only
- Skills: Knowledge of languages C/C++ Mac OS X APIs and Application frameworks like Carbon
Original OpenOffice.org vcl widgets are not Aqua HIG compliant, and we need to implement all controls, respecting Aqua Human Interface Guidelines, some will use HIView, or HITheme or even other part of Carbon API.
- Tasks: some controls are already implemented, but some are still missing.
The job consists in write the code and implement:
- tabs (implement and bind the TabitemValue class, using Carbon API)
- spinbuttons (implement and bind SpinbuttonValue class, using Carbon API)
- comboboxes (implement and use HICombobox)
- listboxes (work already started)
- texts in comboboxes / listboxes (better task definition to be completed)
- other types of controls: highlight, respect dimensions/spacing ..etc
- Windows background (using Aqua theme)
- Proposed by
- Eric Bachard
- Contact
- mac@porting.openoffice.org
- Mentor
- Eric Bachard ( ericb at openoffice dot org )
MacOSX: Address book integration
Synopsis: OOo currently is integrated with the Mozilla address book but not with the native Mac OS X address book. This is annoying for Mac OS X user. For better system integration it would be desirable to integrate with the Mac OS X address book.
Concerns: OpenOffice.org 2.x for Mac OS X (both Aqua and X11 versions)
- Skills
- Knowledge of languages C/C++, Mac OS X APIs and Application frameworks like Carbon or Cocoa for instance, knowledge of the Mac OS X address book APIs
- Tasks
Familiarize with the Mac OS X address book APIs
Familiarize with the current OOo Mozilla address book integration
Make a prototype for OOo Mac OS X address book integration
Document all produced code and aspects, Extend the principles to support docuemnt (text/media) Drag'n Drop.
- Contact
mac@porting.openoffice.org
- Mentor
- Sebastien Plisson
Writer
Better "Notes" functionality: Notes2
The "Notes" functionality in Writer could be better in terms of usability and does not look very appealing.
- Required skills/knowledge: C++
- Contact
- dev@sw.openoffice.org
- Mathias.Bauer at sun.com
- Resources
hopefully helpful illustrative patch
Notes2 project wikipage
RTF Generator
The current RTF export of OpenOffice.org is not as good as the export to the Word (.doc) format. Parsing the generated Word format stream with a Word tokenizer and handing over the generated events to an RTF generator would lead to an RTF export filter with the same quality as the binary Word export filter. Remark: the tokenizer itself isn't complete today but in its current state covers enough parts of the Word format to make this a valuable project for the planned time span.
- Required skills/knowledge: C++, some knowledge about the Word file format would be a plus
- Contact
- dev@sw.openoffice.org
- Henning.Brinkmann at sun.com