Efforts/Package Restructuring/Modelling
De-Composition
Looking at an installed OOo and its files, registry entries etc., we can see, that all these entities belong to one or multiple of the following categories, such that they provide or depend on it
- brand
- Operating System
- Machine Architecture / interpreter
- localization
The consequences of this observation are, that entities unrelated to one or multiple categories, but shared by products differing in these categories, are identical and thus may be re-used for creating, changing or updating products respectively installed products.
Additionally every entity exactly belongs to one
- feature
as otherwise it would not be needed for any feature, thus it would not be needed at all. Certainly features may be related such that they require one another, even if this is not noticeable in the Product View.
Composition
Model products by setting them into
- inheritance, respectively
- instantiation (template)
relationship.
Inheritance
Inheritance models a "is a" relationship. In practice that would mean, that a StarOffice 8 update 7 is an OOo 2.2.1 (respectively its basis) adding something.
Instantiation
Example
Template Product OOo-Standard { Features: writer, calc, impress, draw } Abstract Product OOo2.4 { Name: OOo 2.4 Code-Base: SRC680m236 Implements: OOo-Standard } Product OOo2.4-ISO : OOo2.4 { Name: OpenOffice 2.4 Format: ISO-750 Platform: Linux-x86, Windows-x86, Mac OS X x86 } Product OOo2.4-download-linux-x86 : OOo2.4 { Name: OpenOffice 2.4 Format: donwload Platform: Linux-x86 } Product OOo2.4-download-windows-x86 : OOo2.4 { Name: OpenOffice 2.4 Format: donwload Platform: windows-x86 } Abstract Product SO8u9 : OOo2.4 { Name: StarOffice 8 update 9 Features: so-templates, so-fonts, so-spellchecker, so-brand Updates: < StarOffice 8 u 9 } Product SO8u9-ISO : SO8u9 { Name: StarOffice 8 update 9 ISO Format: ISO-750 Platform: Linux-x86, Solaris-x86, Solaris-Sparc, Windows-x86, Mac OS X x86 } Product SO8u9-donwload { Name: StarOffice 8 update 9 ISO Inherits: SO8u9 Format: download Platform: Linux-x86 } Abstract Product { Name: StarSuite 8 update 9 Inherits: OOo 2.4 Features: so-templates, so-fonts, so-spellchecker, ss-brand Updates: < StarSuite 8 u 9 }
Tooling
- Comparison of Installation Sets
- Check for conflicts
- Creation of Installation Sets
- Visualization