Modularization

From Apache OpenOffice Wiki
Revision as of 01:16, 8 April 2009 by Liutao (Talk | contribs)

Jump to: navigation, search

The Modularization project

This project is designed to optimize the architecture,custom-tailor a concrete product of OpenOffice which the end-user can select their favorite features and make the OOo kernel more and more smaller.

Purpose of Modularization

1. end-user can custom-tailor the features of OOo .
2. developers only need build and update part of the module to update the OOo.
3. Splitting the OOo to kernel(smaller is better) and apps to enable the office vendors can custom-tailor their products. Just like Linux kernal and Mozilla core.

Here comes more goals

Plans of Modularization

1.independent Apps.
2.build on installed OOo, small developer packages.
3.smaller, independent packages. 

Benchmarks

1.encapsulation
2.unambiguously defined, consistent and minimal interfaces
3.dependencies always shall have tree-shape, no circles (small dependency circles up to about 5 compilation units or 2 larger modules may be necessary sometimes)


ToDos

1.make modules to be brief, completely pure, and not cotain other modules' stuff.
2.List features of Modules , and then divide them into primary features, and secondary features.
3.Form a dictionary(or Tree) of Features-Files(Source Code).From which we will know the relationship of the sources and the features.
4.Make the secondary features to be extentions or optional installtion.
Etc...

Work in progress

Other Links

Personal tools