Difference between revisions of "Efforts/Package Restructuring/Modelling"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Fixed section indentation.)
m (Example)
Line 27: Line 27:
 
   Features: writer, calc, impress, draw
 
   Features: writer, calc, impress, draw
 
}
 
}
 
  
 
Abstract Product OOo2.4 {
 
Abstract Product OOo2.4 {
Line 54: Line 53:
 
}
 
}
  
Abstract Product SO8u9 : OOo2.4 {
+
Abstract Product FooOffice3u4 : OOo2.4 {
   Name: StarOffice 8 update 9
+
   Name: FooOffice 3 update 4
   Features: so-templates, so-fonts, so-spellchecker, so-brand
+
   Features: foo-templates, foo-fonts, foo-brand
   Updates: < StarOffice 8 u 9
+
   Updates: < FooOffice 3 u 4
 
}
 
}
  
Product SO8u9-ISO : SO8u9 {
+
Product FooOOo3u4-ISO : FooOffice3u4 {
   Name: StarOffice 8 update 9 ISO
+
   Name: FooOffice 3 update 4 ISO
 
   Format: ISO-750
 
   Format: ISO-750
 
   Platform: Linux-x86, Solaris-x86, Solaris-Sparc, Windows-x86, Mac OS X x86
 
   Platform: Linux-x86, Solaris-x86, Solaris-Sparc, Windows-x86, Mac OS X x86
 
}
 
}
  
Product SO8u9-donwload {
+
Product FooOffice3u4-donwload : FooOffice3u4{
   Name: StarOffice 8 update 9 ISO
+
   Name: FooOffice 3 update 4 ISO
  Inherits: SO8u9
+
 
   Format: download
 
   Format: download
 
   Platform: Linux-x86
 
   Platform: Linux-x86
 
}
 
}
  
 
+
Abstract Product : OOo_2.4 {
Abstract Product {
+
   Name: BarOffice 5 update 6
   Name: StarSuite 8 update 9
+
   Features: bar-templates, bar-fonts, bar-brand
  Inherits: OOo 2.4
+
   Updates: < BarOffice 5 u 6
   Features: so-templates, so-fonts, so-spellchecker, ss-brand
+
   Updates: < StarSuite 8 u 9
+
 
}
 
}
 
</pre>
 
</pre>

Revision as of 09:18, 22 January 2008

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

  1. brand
  2. Operating System
  3. Machine Architecture / interpreter
  4. 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 FooOffice3u4 : OOo2.4 {
  Name: FooOffice 3 update 4
  Features: foo-templates, foo-fonts, foo-brand
  Updates: < FooOffice 3 u 4
}

Product FooOOo3u4-ISO : FooOffice3u4 {
  Name: FooOffice 3 update 4 ISO
  Format: ISO-750
  Platform: Linux-x86, Solaris-x86, Solaris-Sparc, Windows-x86, Mac OS X x86
}

Product FooOffice3u4-donwload : FooOffice3u4{
  Name: FooOffice 3 update 4 ISO
  Format: download
  Platform: Linux-x86
}

Abstract Product : OOo_2.4 {
  Name: BarOffice 5 update 6
  Features: bar-templates, bar-fonts, bar-brand
  Updates: < BarOffice 5 u 6
}

Tooling

  • Comparison of Installation Sets
  • Check for conflicts
  • Creation of Installation Sets
  • Visualization

Product Pipeline

Product Pipeline.jpg
Personal tools