Agenda

  • To know about the openInstaller framework
  • To know what all it takes to build an installer based on openInstaller

Meeting minutes

  • Each component will have three associated XMLs: Data Model, View and descriptor
  • There are several common files like page flow (pagesequence.xml), pagesequence.properties (localized data), WIS.xml (like EntsystCluster.xml), splash.jpeg, ui.pref (font color, button labels, license text), index.txt (list of all XML descriptor names)
  • Resources folder (overridden with default implementation (of openInstaller) if one is not provided by the installer)
  • Resources contains: answer.properties( silent file), model (xcs files data model), view (.xml files view) and templates (ui.pref, ftl files-for each panel)
  • data model files (.xcs)
    • component name (this should match to the view category name and the name in page sequence XML.)
    • Group (Tab UI, corresponds to a section on view). We can have one or more groups
    • Properties (If not mentioned here, the default property mentioned in view is taken into account)
    • Data path = "data modelname.group.property"
    • Validation is using Beanshell scripts
      • (<on:set></on:set>) for each fields
      • Before the page is loaded - substitution engine is used here. (data model:eval)
        • Simple substitution engine ( to load the static files, ex. license files)
        • Component substitution engine (to load component configuration from different pages)
        • Target substitution engine (system related properties, ex. hostname, current directory, user home)
        • short hand substitution ( when we need file or path separators)
    • Evaluation Engine (data model:evalEngine)
      • Used in port validation.
      • custom Java file implementing eval engine with a method 'resolve' and called only once.
  • view files (.xml)<br/>
** <property>
*** <visual>
**** <apt:textarea size=20/>
*****<constraint>
******<enumeration>
*******<radiobutton1>
*******<radiobutton2>
    • view supports over 13 UI components including text fields, labels, radio buttons, slide show etc.
    • installframework.xsd with 'if' namespace. Extends the view.
    • Skipping
      • Cannot skip tabs/sections
      • Can skip the pages depend on the install scenario (custom/repair)
        • Pages are skipped depending on the 'mode's defined in page sequence.XML
    • Desktop integration
      • Start Menu and desktop shortcuts
      • Platform independent
      • Shortcuts are defined per component in data model file
**** <component-schema>
*****<component>
*****</component>
*****<desktop>
******<shortcut name="shortcutname" type="link/url/application/folder" >
*******<target path="shortcut1" relative="INSTALL_HOME" >
*******<location - where to place the shortcut
*******<icon>
******</shortcut>
******<more shortcuts here>
*****</desktop>
  • Bast practices
    • Component descriptor file name should be same as the component name
    • All XML file names should be of lowercase