CodingForOOo4Kids

From Wiki.ooo4kids.org

Jump to: navigation, search


Coding for OOo4Kids

Contents


Introduction

OOo4Kids is based on OpenOffice.org source code, from OOO300_m1x 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.

Methodology

For the one interested in helping us, below are some rules, considered as bases for a good cooperative work. Everybody is elcome to improve them, and add information.


Communication :

About methodology (some keys) :

Build

OOo4Kids uses upstreamsource code, from OOO320_m1x , but exists as a distribution in ooo-build repository. Both are equivalent, and it is up to you to build the oe you prefer.


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 ~70 modules (over 170 the tree counts) to create OOo4Kids. And the changes aThis is enough to understand very finely the OpenOffice.org build process,

DRF Splash green.png Current Milestone in progress is : 1.3



Other pedagogical interests:

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)

Portability

Mac OS X

Linux

Windows

Debug

Methodology in debug using gdb

Methodology in profiling (using katchgrind, valgrind and co)

Issues fixed

Open Issues

Links

Soon

Other

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox