Modularization

From Apache OpenOffice Wiki
Revision as of 21:36, 18 January 2006 by Mh (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

OpenOffice.org Modularization

Often the question arise why is OpenOffice.org not more modular. There are several aspects of Modularization:

User View

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.

Architectural View

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.

Source Code

The Source Code itself is group im more than 150 modules, these can be build in one pass.

Libraries

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
Personal tools