Effort

From Apache OpenOffice Wiki
Jump to: navigation, search


An effort consists of the following things

  • a goal or a mission,
  • to solve a problem,
  • while using a solution,
  • having a time plan (strongly suggested),
  • a list of things which need to be done, these may directly be some content (e.g. specifications, implementations, tests, articles) or other efforts, and
  • a status (e.g. planned, in progress, finished, cancelled).

We propose applications, doable in one to three month of work for a student or a little group of students ( time to discover everything, and do the real work). All these applications below are correlated with IssueZilla issues, and need new code to be solved.

What we propose is to accompany the peers teachers/students solving the issues: the work must be done by the student, and we are resources. This means, most of the time, we have no clue about the solution (but we could work on it), or the needed changes, and sometimes, just a little change in the code can solve the issue. Sometimes, a lot of code can be needed.

New : Participate to OOo4Kids ? The idea is to provide a 7-12 years software, based on OpenOffice.org source code, say, extremely simplified. Everything is made with the idea to contribute back to OpenOffice.org Project, through OpenOffice.org Education Project, and students projects, but not only (all sort of contributions are welcome, of course). Resources are managed by the EducOOo non profit association.


The most important is to work together, and make the students discover OpenOffice.org source code and organisation.

The applications are classed

  • by difficulty level (more stars means means more work and more difficult to be solved )
  • by themes. e.g. Mac OS X

Last but not least, have a look at Cpp_Coding_Standards cannot be bad :-)

[IMPORTANT] : please add a description in time (estimated hours+weeks+month) for the proposed projects


Contents

Applications for Linux only

Various adaptations on Sugar - i.e. Linux - (click me)

  • Goal :

Thomas Fontenay, Abdelkader Bellabes, both students at Epitech Paris will work on a forked version of OpenOffice.org, named OOo4Kids for performance improvement on powerless machines, like XO or gdium

  • Tasks :
  • Analyze, document, and help to improve what happens at launch for a light OpenOffice.org version on Sugar, with powerless machines (e.g. XO),
  • profiling OOo4Kids behavior loading heavy presentations with Impress (with the idea to backport the changes into OpenOffice.org whenever possible)
  • Work on the UI


  • Time plan : from July to (early) December for a 2 students group (based on 10 to 15 hours of work per week for every student)
  • Mandatory : Sugar OS and associated tools (for building OOo4Kids and OpenOffice.org ) must be installed
  • Students : Thomas Fontenay, Abdelkader Bellabes

Contacts:

  • for Education project: Pierre Pasteau, Eric Bachard, (please add your name )
  • for the task : please contact performance project ( e.g. cd )

Difficulty: ****

Needs:

  • good C, C++ and generaly low level (like binary structure, compiler rules) skills, Intel assembler will help, good use of debugger
  • start with Vallgrind skills is a plus
  • good skills with portability understanding

Applications for Mac OS X only

Performance Reorder Symbols For Librarie (click me)

FIXME: description needs to be updated

  • Goal : Analyze, document, and help to improve what happens at OpenOffice.org launch on Mac OS X.
  • Problem (copied from the performance wiki page) : Normally the compiler and linker produce a library which consists of many object files. The order of the code/data is dependent on the strategy of the linker and the layout of the library format. During the start up the application libraries are loaded on demand. Dependend on the program flow new code and therefore pages are loaded from disk into memory. Unfortunately the linker doesn't know how the application accesses every library during the start up phase. Therefore the needed code/data is distributed all over the library which causes many page faults and disk access.
  • Time plan : one month of work for a 2 students group (based on 10 hours of work per week for every student)
  • Mandatory : own a Mac machine

Contacts:

  • for Education project: ericb , (please add your name )
  • for the task : please contact performance project ( e.g. cd )

Difficulty: *****

Needs:

  • good C, C++ and generaly low level (like binary structure, compiler rules) skills, Intel assembler will help, good use of debugger
  • good skills with portability understanding

Implement new canvas using Core Graphics (click me)

FIXME: description needs to be updated

  • Goal : Implement a new canvas on Mac OS X
  • Problem : nothing yet
  • Time plan : two months of work for a 4 students group (based on 10 hours of work per week for every student)

Contacts:

  • for Education project: ericb , (please add your name )
  • for the task : Thorsten Behrens thb/ Ismael Merzaq ismael87 / Eric Bachard ericb : all @openofice.org

Difficulty: *****

Needs:

  • experimental tests in canvas, with dummy methods, for proof of concept
  • good Core Graphics understanding
  • good C++ skills
  • good Cairo understanding ( we use the existing implementation)
  • good skills with portability understanding

(Seneca 1) Support of more mail clients for send active document as (click me)

  • Goal : Support multiple mail client applications on Mac OS X (currently Mail.app only) and determine the user's default mail client for the "send document as e-mail" feature
  • Problem : Only Mail.app support creating a new message with a document already attached using the 'open -a' command.
  • Time plan : needs 50 to 60 hours of work ( 5 weeks x 10 to 12 hours of work )
  • Needs : good skills in bash. The task can probably be done using Objective C ( NSTask can be a good choice there)

Contacts:

  • for Education project: ericb , (please add your name )
  • for the task : obr @openofice.org

Difficulty: ***

(Seneca 2) Use system security API on Mac OS X ( click me)

  • Goal : Make Apple key signing API work
  • Problem : currently, a strange hack does use Mozilla libnss and co, and this is not easy to maintain. Use Apple API would simplify the build, and help to improve the OpenOffice.org integration on Mac OS X.
  • Time plan : long term work. ~ 2 months of work for a group of 4 students working 10 hours per week.

Contacts:

  • for Education project: ericb , (please add your name )
  • for the task : jl/obr @openofice.org

Difficulty: *****

  • no information available yet

(Seneca 3) Improve Scanner Use (click me)

Description of the application

  • Goal : Implement Apple way of Image Capture
  • Target : Mac OS X Aqua version is concerned firstly (not sure a backport is possible)
  • Problem : the current implementation :

- needs a third part installation ( libsane , libusb ..etc )

- is obsolete

- is not User Experience compliant

  • Strategy (draft, to be completed)

Mac OS X does use a blob interfaced with most of existing scanners (undocumented), named " Image Capture ". This blob seems to use Twain implementation.

The scanner is an abstraction in every subpart like scandlg.cxx grid.cxx, and scnserv.cxx. The Mac OS X implementation does only concern scanunx.cxx.

The problem is, scanunx.cxx does use SANE implementation, and will become useless. Thus, the idea is to create scanmacosx.cxx, and use both scanwin.cxx existing implementation . the result will be a mix of what Image Catpure SDK + Apple documentation will provide us, and the need we have for the implementation.

We firstly have to :

- analyze scanunx.cxx completely

- design TwainHolder, TwainThread, BitmapManager, ScannerManager (reused from scanwin.cxx ) implementation in scanmacosx.cxx

- define a process for the progressive implementation

- FIXME: complete ..


  • Time plan : needs around 120 hours ( or 3 months ~ 10 hours per week) of work for a student alone

Contacts

  • Volunteers :

- Valentin JANIAUT student from UTBM (France )

- Jason STEPHENSON, from USA

- Eric Bachard

Jason is a skilled developer ( Cocoa ) helping for the feature implementation.

Valentin should be able to validate a Value Unit for his own cursus, writing code for OpenOffice.org project.


  • Contact for School : Eric Bachard
  • for Education Project : ericb , (please add your name )
  • To be defined

This application is a try. Main idea is : analyse current interface, discover and document te existing API, improve the current implementation, and more if possible.


Difficulty: ****

Needs:

  • C++ and objective C skills ( we will implement a new Cocoa view, dedicated to the scanner)
  • Twain and Sane skills
  • interface understanding (offapi )
  • Design skills

Applications for OpenSolaris port

(Seneca 4) Build OOo on OpenSolaris

  • Goal : Make sure the OOo build system runs on OpenSolaris and knows about the target. Create a dedicated wiki page for beginners, they just have to follow insctructions (like AquaBuild wiki page on Mac OS X )
  • Problem : OpenSolaris OOo build environment lacks of support, and with some work, it should be ok to build natively OOo on OpenSolaris
  • Time plan : middle term work. Needs around 120 hours ( or 3 months ~ 10 hours per week) of work for a student alone

Contacts:

  • for Education project: ericb, (please add your name ). Other potential contact: Christian Lins (not sure he still works on that)
  • for the task :

Difficulty: ***

Additional information:

  • step1: fix the OpenSolaris environment ( configure / set_soenv look suboptimal at the moment)
  • step2 : build mozilla zipped archives (fix the build issues)
  • step3 : build OOo completely

Applications for Haiku port

With the new 3.x branch and the upcoming R1/alpha version of Haiku, it is proposed to lay the fundations of a port to this operating system.

Several steps will be needed to complete the port.

Make sure the OOo buildsystem runs on Haiku (click me)

  • Goal : Make sure the OOo build system runs on Haiku and knows about the target
  • Problem : Haiku currently lacks Java (the port has only been started), and doesn't come with tcsh.
  • Time plan : long term work. TBD completely once gcc4 will be integrated in the default isntall set (soon)

Contacts:

  • for Education project: mmu_man , ericb , (please add your name )
  • for the task :

Difficulty: *****

  • no information available yet

Port bridges ( click me)

  • Goal : Port the bridges to Haiku
  • Problem : While Haiku supports most POSIX semantics, including pthreads, some integration with the OS might be needed. In this project, it's question to create a new bridge for the Haiku OS. Furthe information will be provided later..
  • Time plan : long term work. TBD completely

Contacts:

  • for Education project: mmu_man , ericb , (please add your name )
  • for the task :

Difficulty: *****

  • no information available yet

Port SAL ( click me)

  • Goal : Port the SAL to Haiku
  • Problem : While Haiku supports most POSIX semantics, including pthreads, some integration with the OS might be needed (file system layout, inter-application integration, ...). Some fixes or additions to Haiku itself might be needed also to support required SAL features.
  • Time plan : long term work. TBD completely

Contacts:

  • for Education project: mmu_man , ericb , (please add your name )
  • for the task :

Difficulty: *****

  • no information available yet

Port VCL ( click me)

  • Goal : Port the base GUI framework to the BeAPI
  • Problem : Haiku doesn't use X11, nor GTK or Qt, so a native GUI binding is needed.
  • Time plan : long term work. TBD completely

Contacts:

  • for Education project: mmu_man , ericb , (please add your name )
  • for the task :

Difficulty: *****

  • no information available yet

Application concerning all ports

GrammarChecker (click me)

(Seneca 18) Upgrade Python to 2.6 (click me) FIXED

Implement Math Baseline Alignement (click me) Attributed to Michal Spisiak, as SoC 2010

  • Goal : Fix issue972 Implementing a correct baseline alignment for equations anchored as characters in Writer documents ( should work for "to character" too ).

Side effects: a change in .odt specification will result, and specs must be written in parallel

  • Problem : the current implementation does not work, and equations are misaligned.

Important consequence: OpenOffice.org acceptance is low in Educationnal system (all locales concerned)

  • Time plan : (will be defined soon)

Student working on that :

  • Michal Spiziak, for Google SoC 2010 (go-oo)


Contacts:

  • for Education Project : ericb , (please add your name )
  • Framework/Starmath projects : mba/tl @openoffice.org

Difficulty: ****

New: needs

  • new interface definition ( offapi),
  • new file format extension ( needs ODF TC agreement ),
  • new implementation ( starmath )
  • Serious QA

Skills : C++

Make the uno-skeletonmaker tool templatable (click me)

  • Goal : Modify or rewrite the uno-skeletonmaker to make it templatable.
  • Problem : the current implementation is completely hard-coded. Every developer has its own development style guide and has to change the generated code every time.
  • Time plan : (will be defined soon)

Note: the application could be proposed as Google Summer of Code ( including other tasks).

Contacts:

  • for Education Project : ericb , cedricbosdo (for development)

Difficulty:

New: needs

  • understanding the existing uno-skeletonmaker (unodevtools)

Skills : C++

Fix MouseWheel jump in Calc (click me)

Description of the application

  • Goal : Fix issue 81907 Implementing a method allowing smooth scrolling in Calc sheets, even when cells are half if the screen high
  • Problem : the current implementation uses integers for the scrolling, and whenever a cell is half of the screen high, some cells are no longer accessible.
  • Time plan : (will be defined soon)

Contacts:

  • for Education Project : ericb , (please add your name )
  • Framework Project : nn/ @openoffice.org


Difficulty: **

Needs:

  • a correct understanding of the existing code
  • define the new feature fixing the issue
  • implement it
  • integrate it respecting OpenOffice.org project rules


Create a special version for Educational purpose

Points to be improved :

  • implement larger icons
  • remove zillions of useless menus
  • remove base and calc libs
  • remove useless stuff


Registration Screen

  • Goal : allow to remove the registration screen for e.g. school or entities where the features becomes evil
  • Problem : see Issue 89170 Currently not implemented.
  • Time plan : TBD

Contacts:

  • for Education project: ericb , (please add your name )

Difficulty: No estimation yet

Concerned Domains : Framework, User Experience

Mozilla 1.7.5 -> Seamonkey 1.1.x migration (click me)

FIXME: needs to be updated

  • Goal : Replace mozilla 1.7.5 sources, with seamonkey 1.1.x sources in the moz module
  • Problem : See issue 91209. Mozilla sources are too old, and suffer from security issues. Currently, the use of Mozilla archives has been disabled on Mac OS X for the mozilla address book .
  • Time plan : the task is expected to be completed end of august / early september

Contacts:

  • Volunteers:

- Pierre Pasteau , student at Epitech (Paris)

- Eric Bachard

  • for education project: ericb, Franck Schönheit (fs at openoffice dot org )

Difficulty:

  • Medium to difficult (some changes in the code, new tree)

Needs:

  • correct C++ understanding, tools skills (patch, dmake). A big part of the application,

Comments:

Fixing warnings (click me)

FIXME: needs to be updated

This work has been initiatied by Stephan Bergmann, in August 2005.

For further iinformation, please read the original mail from Stephan (and the corresponding Writing warning-free code page)

  • Goal : Fix all warnings coming from old modules as well as fix bugs
  • Problem : building any module prints various warnings on stderr, ideally we need zero warnings.
  • Time plan : TBD

Contacts:

  • for education project: ericb, rakeshpandit (rakesh.pandit@gmail.com)

Difficulty:

  • Easy

Needs:

  • C++

Comments:

Before starting debugging you can coordinate by updating the files you are debugging in here.

Improve Impress (click me for the details for the projects proposed below)

  • Make Impress master pages copyable https://bugzilla.novell.com/show_bug.cgi?id=380039
  • Attach Impress animations to styles https://bugzilla.novell.com/show_bug.cgi?id=380041
  • Create a diagramming sidebar extension for OOo Draw/Impress
  • Create a Visio import filter for Draw
  • Add animation support to Impress Flash export
  • Implement an AutoCAD vector import for OOo
  • Use PDF import's layout recognition for other vector formats (e.g. postscript, wmf/emf)
  • OpenGL canvas backend
  • Standalone presentation viewer
  • Implement additional 3D slideshow transitions
  • Multimedia Handling
  • Presentation Wizards

Performance Reorder Symbols For Librarie (click me)

Improve Calc (click me)

Improve Missing ODF Formula in Calc (click me)

Have a deeper look into potential students applications around sc :

http://wiki.services.openoffice.org/wiki/Calc/Implementation/Spreadsheet_Functions

http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office-formula

http://wiki.oasis-open.org/office/Formula_Work

http://wiki.services.openoffice.org/wiki/Calc/ODFF_Implementation/Schedule

Other Applications (later)

Integrate Sinadura into OO (click me)

Enhance: Sinadura y a digital signature solution that is multiplatform x509 compliant library to digitally sign PDF files.

  • Goal : Integrate Sinadura(Smart card and digial signatures) into OOo.
  • Problem : Currently not implemented. As an example, this is available in firefox and other software.
  • Time plan : TBD

Contacts:

  • for Education project: ericb , jza

Difficulty: ****

Needs: Java developers, Sinadura experts and OOo extension packagers


Comments: Please read the wiki topics about Sinadura and help document the development to further understand the requriements. --Jza 07:52, 18 December 2008 (CET)

Maxima Integration (click me)

Write OpenOffice.org Installation HowTo

Personal tools