CodingForOOo4Kids

From OOo4Kids

Jump to: navigation, search

OOo4Kids

Coding for OOo4Kids



Introduction

OOo4Kids is based on OpenOffice.org source code, from DEV300 Master Workspace.

This means when you write code for OOo4Kids, you learn how to write code for OpenOffice.org. In other terms, you progressively learn how to contribute to OpenOffice.org directly : OOo4Kids has been thought to attract OpenOffice.org developers, without disturb the OpenOffice.org process.

Build simplification

OpenOffice.org is a framework, and the normal build uses ~170 modules. Since we do not need to build nor package everything, we won't build them all.

As first approach, it was decided to not include Base, nor Java in OOo4Kids. IMPORTANT : we have nothing at all against Java, but use Java on old machines like Celeron 500 MHz + 128 MB or RAM is not an option.

The main idea is to provide a lighter archive (around 100MB, current is between 101 on Linux Intel and 114 on Mac OS X), with less of features, because children from 7 to 12 do not need them (like most of adults too ;) )

For the current milestone, we do modifications in ~50 modules (over 170 the tree counts) to create OOo4Kids. And the changes aThis is enough to understand very finely the OpenOffice.org build process,

Current Milestone in progress is : 0.9.x



Other pedagogical interests:

  • modify/add/remove a dialog box needs a fine understanding of the local, but not only code
  • modify call when code is removed needs to have a deep understanding of OpenOffice.org source code
  • add a feature without break everything, needs a good understanding of the local code
  • and so on ...

All of that makes a great interest

Principles

How to add a new environment variable

Packaging

Principles

Remove libraries

Remove binaries

Remove resources

Knowns issues and workarounds

Improvements (code relative to)

  • Speed (performance improvements)
  • Reduced archive size (packaging)
  • Lighter toolbars (UX, usability)
  • More children compliant colors palette (UX, usability)

Portability

Mac OS X

Linux

Windows

Debug

Methodology

Issues fixed

Open Issues

Links

Other

Personal tools