Self-contained directory convention

From ControlTier

Jump to: navigation, search


The following layout is the best-practice convention that has been adopted as the standard installation layout:

 CTIER_ROOT                                 Defaults to $HOME/ctier on *nix and C:\ctier on Windows, but is relocatable
      ctl                                   CTL_BASE
         src                                   Module library source code
      demo                                  Optional directory of demonstration applications
      jobcenter                             JOBCENTER_BASE
      reportcenter                          REPORTCENTER_BASE
      workbench                             Workbench runtime files
      jackrabbit                            Apache Jackrabbit file repository data
      pkgs                                  Software installations to support the ControlTier installation
        ControlTier-3.x                     Staging directory for the ControlTier installer
        ctl-1.x.x                           CTL_HOME
        apache-forrest-0.8                  FORREST_HOME
        graphviz-2.xx.x                     GRAPHVIZ_HOME for a Windows installer install
        j2sdk1.5.0_xx                       JAVA_HOME for the ControlTier installation
        jetty-6.x.x                         JETTY_HOME

Some benefits of this layout are:

  1. All package dependencies (beyond the OS installation) are contained within the ControlTier root
  2. The layout consistently separates package software installs from runtime files (HOME vs BASE) facilitating easier upgrade.
  3. There's room for multiple demos to be staged (e.g. DukesBank, or PioneerCycling), and the demo directory can be omitted completely to save space.
  4. Appropriate parts of the hierarchy can be culled to produce a minimum client-only install with the same basic structure (e.g. no Jetty, Forrest or Graphviz)
  5. There's a single well-known location for ProjectBuilder source code (modules, jobs, objects, and documentation).


Development