CTIP - Workbench Server Development Modes

From ControlTier

Jump to: navigation, search

Abstract

This proposal defines a new distinction for the Workbench Server between "Development Mode" and "Production Mode". Production Mode is to enforce the use of Workbench strictly as a package and metadata model repository, and to restrict its ability to dynamically alter the code modules in an operational environment.

Description

Workbench would have two modes, "Development Mode" and "Production Mode". Development Mode would not have any restrictions and would be much as Workbench is as of version <= 3.3.0. Production Mode would enforce this restriction:

This means that no Workbench user would be allowed to make any patch-like changes to any code Modules. The "control code" of the system would be effectively Read-Only. The only way to change the modules would be to install an entirely new Library, either over-top of an existing Library that is installed, or as a new set of modules in the system.

This mode would be configured by framework.properties (ctl) and runtime.properties (wb).

The Mechanisms for updating ctier modules on CTL Client instances would then be :

  • In Development Mode, module updates are still done automatically, on a per-type, pull-based update (ie., Install-Module)
    • This mechanism works in a distributed environment
  • In Production Mode, updates are scheduled ahead of time, and done per-library, using ctl-extension to install
    • ctl-extension needs to be used to update all the local depots

Considerations

Please post questions/comments about this proposal to the Mailing List

Development