CTIP - Workbench Server Development Modes
From ControlTier
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:
- All Type model changes are prohibited with the exception of loading in entire Libraries via a ControlTier Extension Archive format (see the CTIP - New Extension Archive and Libraries)
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

