Often the question arise why is OpenOffice.org not more modular. There are several aspects of Modularization:
From the user point of view there are several modules:
- Word Processor
- Spreadsheet Module
- Impress Module
- Database Module
- Core Modules
- Desktop Integration
- Filter Modules
and many more.
The Architectural OverView shows a very stripped down overview. In reality we will find up to 20 layers below an Application module. All code which can be shared among the Application modules has been moved to core modules. Examples for such layers are
- System Abstraction Layer
- Infrastructure Layer
- Framework Layer
These Layers itself can contain again some layers again, helper and wrapper layer and so on.
The Source Code itself is group im more than 150 modules, these can be build in one pass.
Often Libraries are build on per (source code/CVS) module basis, sometimes several libraries are built in one CVS module. Attention: at many places the runtime dependencies of the library modules differs from the build sequence of CVS modules.
Problems with the current structure
- selective Installation of Application modules doesn't save disk space for the User.
- amount of modules and their dependencies is impossible to overview for Developers, this leads to
- maintainability problems
- code complexity
- long build times