Difference between revisions of "OpenOffice.org Internship/ProjectProposals"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Integration of spell checking into the proof reading code)
(cancel projects where the mentor is not available)
 
(5 intermediate revisions by 4 users not shown)
Line 9: Line 9:
  
 
Mathias.Bauer at Sun dot COM
 
Mathias.Bauer at Sun dot COM
 
=== MathML Export ===
 
 
Exporting to HTML should turn Formulae into MathML (not GIFs). [http://qa.openoffice.org/issues/show_bug.cgi?id=24256 Issue 24256]
 
 
[[Math]] already supports [[wikipedia:MathML|MathML]] export. The HTML export filter needs to be extended to use it instead of treating Math as an OLE object that is exported as a pixel graphic.
 
 
Contact:
 
 
dev at sw.openoffice.org
 
 
Thomas.Lange at sun.com
 
  
 
=== Integration of Mac Grammar Checker ===
 
=== Integration of Mac Grammar Checker ===
Line 50: Line 38:
  
 
Grammar Checkers can be used from Writer only, the other applications lack the necessary text iteration loops. Also an implementation of the text iteration API that is used to communicate with Grammar Checkers is not provided by the text engine that these applications use ("EditEngine"). For efficiency reasons this task should not be started before the task "integration of spell checking into the proof reading code" has been finished.
 
Grammar Checkers can be used from Writer only, the other applications lack the necessary text iteration loops. Also an implementation of the text iteration API that is used to communicate with Grammar Checkers is not provided by the text engine that these applications use ("EditEngine"). For efficiency reasons this task should not be started before the task "integration of spell checking into the proof reading code" has been finished.
 +
 +
Contact:
 +
 +
dev at sw.openoffice.org
 +
 +
Thomas.Lange at sun.com
  
 
=== Integration of language guessing and selection into Calc, Draw and Impress ===
 
=== Integration of language guessing and selection into Calc, Draw and Impress ===
Line 57: Line 51:
 
The language status bar control together with its ability to propose a language for text and offer an easy selection of the correct language currently only works for flow text in Writer.
 
The language status bar control together with its ability to propose a language for text and offer an easy selection of the correct language currently only works for flow text in Writer.
  
=== Visualization if meta data ===
+
=== Visualization of meta data ===
  
 
OOo Writer supports meta data according to the ODF 1.2 specification for a number of objects. We need a user interface component that shows them like e.g. our current comment (notes) sidebar. This would require to refactor the components of this sidebar so that they use an API that can support comments as well as meta data and change tracking comments.
 
OOo Writer supports meta data according to the ODF 1.2 specification for a number of objects. We need a user interface component that shows them like e.g. our current comment (notes) sidebar. This would require to refactor the components of this sidebar so that they use an API that can support comments as well as meta data and change tracking comments.
 +
 +
Contact:
 +
 +
dev at sw.openoffice.org
 +
 +
Mathias.Bauer at sun.com
  
 
==Impress / Graphics==
 
==Impress / Graphics==
Line 141: Line 141:
  
 
===Extended Basic/Dialog Library OXT Export===
 
===Extended Basic/Dialog Library OXT Export===
 +
 +
<span style="color:#FF0000">Canceled! Sorry but the mentor is not available for this turn of the internship.</span>
  
 
The OOo Basic Macro Organizer already allows to export a Basic/Dialog Library as extension, but without support for the description.xml file described in:
 
The OOo Basic Macro Organizer already allows to export a Basic/Dialog Library as extension, but without support for the description.xml file described in:
Line 155: Line 157:
  
 
===Improve (Python) scriptability ===
 
===Improve (Python) scriptability ===
 +
 +
<span style="color:#FF0000">Canceled! Sorry but the mentor is not available for this turn of the internship.</span>
  
 
OOo has a language-agnostic bridge, that permits a host of programming languages (Java, Python, C#, JScript etc etc) to access certain parts of the OOo core. That's nice, but many of the more interesting intestines of the code are not, not easily, or not elegantly usable like that.  
 
OOo has a language-agnostic bridge, that permits a host of programming languages (Java, Python, C#, JScript etc etc) to access certain parts of the OOo core. That's nice, but many of the more interesting intestines of the code are not, not easily, or not elegantly usable like that.  
Line 177: Line 181:
  
 
=== Maxima Integration ===
 
=== Maxima Integration ===
 +
 +
<span style="color:#FF0000">Canceled! Sorry but the mentor is not available for this turn of the internship.</span>
  
 
Integrate the Maxima symbolic computer algebra system into OOo, to solve calc problems in Writer.
 
Integrate the Maxima symbolic computer algebra system into OOo, to solve calc problems in Writer.
Line 214: Line 220:
  
 
=== Improve Scanner integration inside OOo ===
 
=== Improve Scanner integration inside OOo ===
 +
 +
<span style="color:#FF0000">Canceled! Sorry but the mentor is not available for this turn of the internship.</span>
  
 
Scanner support inside OOo is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to par (across all platforms - though especially lacking on Mac) would make you many friends.
 
Scanner support inside OOo is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to par (across all platforms - though especially lacking on Mac) would make you many friends.
Line 228: Line 236:
  
 
=== Improve OOo usability on small-screen devices ===
 
=== Improve OOo usability on small-screen devices ===
 +
 +
<span style="color:#FF0000">Canceled! Sorry but the mentor is not available for this turn of the internship.</span>
  
 
With devices like netbooks, the OLPC or (gasp!) smartphones becoming powerful enough to run OOo (or the stripped-down OOo4Kids), it's becoming critically important to adapt the UI to smaller screen sizes and/or vastly different aspect ratios. This task is about improving OOo4Kids usability on the XO - from better Sugar integration to smaller UI footprint.
 
With devices like netbooks, the OLPC or (gasp!) smartphones becoming powerful enough to run OOo (or the stripped-down OOo4Kids), it's becoming critically important to adapt the UI to smaller screen sizes and/or vastly different aspect ratios. This task is about improving OOo4Kids usability on the XO - from better Sugar integration to smaller UI footprint.
Line 238: Line 248:
  
 
=== Make OOo UI complexity configurable ===
 
=== Make OOo UI complexity configurable ===
 +
 +
<span style="color:#FF0000">Canceled! Sorry but the mentor is not available for this turn of the internship.</span>
  
 
The OOo4Kids project has pioneered a way of "dumbing down" the OOo UI, by selectively hiding functionality depending on user proficiency (controlled via three central user levels, beginner, intermediate & expert). This task is to expand on that, cover all five applications, and create a consistent, seamless level of complexity, adapted to the user skill level.
 
The OOo4Kids project has pioneered a way of "dumbing down" the OOo UI, by selectively hiding functionality depending on user proficiency (controlled via three central user levels, beginner, intermediate & expert). This task is to expand on that, cover all five applications, and create a consistent, seamless level of complexity, adapted to the user skill level.

Latest revision as of 05:19, 30 June 2010

Writer/Math and Linguistics

Statusbar control for line and column number in Writer

Issue 18004

Contact:

dev at sw.openoffice.org

Mathias.Bauer at Sun dot COM

Integration of Mac Grammar Checker

Since OOo 3.0.1 the Grammar Checking API of OOo is final. Some extensions based on this API already exist and it would be great to have an extension integrating the Mac Grammer Checker.

Contact:

dev at sw.openoffice.org

Thomas.Lange at sun.com

Integration of spell checking into the proof reading code

OOo Writer calls Grammar Checkers from a new, multi threaded implementation that iterates over paragraphs and sentences. OTOH spell checkers are called from the main thread and just iterates over the single words of the text. For several reasons it would be desirable to integrate both iterations to a common one, where all spell checkers still can be called with single words as nowadays:

  • spell checkers that can be called with larger blocks of text can be served better by providing a specialized component (Mac spell checker!)
  • some grammar checkers might also do spell checking, so calling them from different places in the code for both tasks is inefficient
  • spell checking can happen in a parallel thread of execution

Contact:

dev at sw.openoffice.org

Thomas.Lange at sun.com

Integration of Grammar Checking into Calc, Draw and Impress

Grammar Checkers can be used from Writer only, the other applications lack the necessary text iteration loops. Also an implementation of the text iteration API that is used to communicate with Grammar Checkers is not provided by the text engine that these applications use ("EditEngine"). For efficiency reasons this task should not be started before the task "integration of spell checking into the proof reading code" has been finished.

Contact:

dev at sw.openoffice.org

Thomas.Lange at sun.com

Integration of language guessing and selection into Calc, Draw and Impress

Issue 66798

The language status bar control together with its ability to propose a language for text and offer an easy selection of the correct language currently only works for flow text in Writer.

Visualization of meta data

OOo Writer supports meta data according to the ODF 1.2 specification for a number of objects. We need a user interface component that shows them like e.g. our current comment (notes) sidebar. This would require to refactor the components of this sidebar so that they use an API that can support comments as well as meta data and change tracking comments.

Contact:

dev at sw.openoffice.org

Mathias.Bauer at sun.com

Impress / Graphics

Improve the Impress slideshow annotation mode

OOo has recently gotten a live annotation mode in the slideshow component, via a sequence of semester projects at Ecole Centrale Nantes. This project is far from done, has been worked on by students previously, and is highly useful in a classroom/education setting.

Tasks :

  • improve the eraser mode
  • fix various bugs around
  • improve the annotation mode
  • Required skills/knowledge: c++, Difficulty: medium
Contact
dev @ graphics.openoffice.org
ericb at openoffice dot org


Customizable html export for impress

Write new html export for impress which is customizable by css templates

Contact
dev @ graphics.openoffice.org
Christian.Lippka at Sun dot COM


Calc / Chart

Component to check spreadsheet documents for potential errors

Write an extension that checks a spreadsheet document for potential errors in formulas, presents a list of the findings to the user, and allows to correct them.

Things to look for could include

  • Cells that contain numbers stored as text and are used in formulas,
  • Number cells that are not used in any formulas,
  • Empty cells that are used in single-cell formula references.

The list is not meant to be exhaustive.

  • Required skills/knowledge: Java or C++, spreadsheet usage
Contact
dev @ sc.openoffice.org
Niklas.Nebel at sun.com


Statistical Data Analysis Tool

Write an extension that allows statistical data analysis (like Anova, t-test, z-test, see Statistical Data Analysis Tool).

  • Required skills/knowledge: Java or C++, statistics
Contact
dev @ sc.openoffice.org
Niklas.Nebel at sun.com


Improve numerical stability of spreadsheet functions

Some statistical and financial analysis spreadsheet functions need improvement in numerical stability, for example for very large and/or small values, see issue 18704 and dependencies.

  • Required skills/knowledge: C++, knowledge of numerical analysis and algorithms, mathematical background
Contact
dev @ sc.openoffice.org
Eike.Rathke at sun dot com


Add new spreadsheet functions and parameters according to ODFF

The OpenDocument Format Formula specification (ODFF aka OpenFormula) defines several new spreadsheet functions and new optional parameters to already existing functions that have to be implemented.

  • Required skills/knowledge: C++; for some statistical functions knowledge of numerical algorithms and mathematical background
Contact
dev @ sc.openoffice.org
Eike.Rathke at sun dot com

API

Extended Basic/Dialog Library OXT Export

Canceled! Sorry but the mentor is not available for this turn of the internship.

The OOo Basic Macro Organizer already allows to export a Basic/Dialog Library as extension, but without support for the description.xml file described in:

http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Extensions/description.xml

The goal of this project is to add support for this by creating a corresponding dialog allowing the user to edit all supported elements and by saving the description.xml file into the oxt file afterwards.

  • Required skills/knowledge: C++, Extensions
Contact
dev @ api.openoffice.org
andreas.bregas at sun.com

Improve (Python) scriptability

Canceled! Sorry but the mentor is not available for this turn of the internship.

OOo has a language-agnostic bridge, that permits a host of programming languages (Java, Python, C#, JScript etc etc) to access certain parts of the OOo core. That's nice, but many of the more interesting intestines of the code are not, not easily, or not elegantly usable like that.

This project is about extend OOo with Python :

  • providing a SWIG, or boost::python-based wrapper around un-UNOized OOo core classes.
  • provide organized code samples, and clear examples
  • Required skills/knowledge: c++, python, boost/swig; Difficulty: medium
Contact
dev @ api.openoffice.org
ericb at openoffice dot org

Framework ToDo

Pls see the list for the Framework project. It is not yet very detailed, but it is a start: Framework To-Dos.

Misc

Maxima Integration

Canceled! Sorry but the mentor is not available for this turn of the internship.

Integrate the Maxima symbolic computer algebra system into OOo, to solve calc problems in Writer.

The idea : create a Maxima session inside an OOo Writer document, in an embeded frame, or equivalent.

IMPORTANT :

  • Weekly IRC meetings.
  • Wiki use mandatory.
  • Specifications and documentation MUST be written in parallel, in same time the code is written.
  • Every diff of code will be documented on the wiki.
  • the code must be written in C++ (prefered). A proof of concept using Python would be appreciated.
  • Iterations
  • Step 1
    • Discover and learn UNO API
    • be able to create a Writer document (and play with it)
    • be able to launch an external application using UNO
    • In parallel : learn how a Writer document is structured and how to use it programmaticaly (structure, foundations)
  • Step 2
    • Learn Maxima session requirements
    • implement a way to launch a Maxima session from OOo
    • implement a way to exchange datas with the open Maxima session
    • propose a follow up for the devs who will continue the implementation
  • Estimated Timeline
    • 3 weeks of work = step 1
    • 5 weeks of work = step 2
  • Required skills/knowledge: lisp (basics), c++, UNO API knowledge; Difficulty: medium
Contact
ericb at openoffice.org


Improve Scanner integration inside OOo

Canceled! Sorry but the mentor is not available for this turn of the internship.

Scanner support inside OOo is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to par (across all platforms - though especially lacking on Mac) would make you many friends.

  • analyze the current situation
  • improve (the view, the way the scanner is used .. and so on)
  • propose a proof of concept on Mac OS X (Baseline : Tiger)
  • Required skills/knowledge: c++, Cocoa; Difficulty: hard
Contact
ericb at openoffice dot org


Improve OOo usability on small-screen devices

Canceled! Sorry but the mentor is not available for this turn of the internship.

With devices like netbooks, the OLPC or (gasp!) smartphones becoming powerful enough to run OOo (or the stripped-down OOo4Kids), it's becoming critically important to adapt the UI to smaller screen sizes and/or vastly different aspect ratios. This task is about improving OOo4Kids usability on the XO - from better Sugar integration to smaller UI footprint.

  • Required skills/knowledge: c++, Sugar/OLPC a bonus; Difficulty: medium
Contact
ericb at openoffice dot org


Make OOo UI complexity configurable

Canceled! Sorry but the mentor is not available for this turn of the internship.

The OOo4Kids project has pioneered a way of "dumbing down" the OOo UI, by selectively hiding functionality depending on user proficiency (controlled via three central user levels, beginner, intermediate & expert). This task is to expand on that, cover all five applications, and create a consistent, seamless level of complexity, adapted to the user skill level.

  • Required skills/knowledge: ** c++, UX design; Difficulty: medium
Contact
ericb at openoffice dot org
Personal tools