Summer of Code 2007

From Apache OpenOffice Wiki
Jump to: navigation, search

Please note that Summer of Code 2008 started!


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
Personal tools