200 likes | 331 Views
Status quo of CSS. André Grunow C1-WPS GmbH. CSS Core. Objectives provide a basis for the Platform Runnable define essential extension points define the initial workbench (views, editors, actions, perspectives, …) provide a bridge to avoid dependencies between plugins. CSS Core.
E N D
Status quo of CSS André Grunow C1-WPS GmbH
CSS Core Objectives • provide a basis for the Platform Runnable • define essential extension points • define the initial workbench (views, editors, actions, perspectives, …) • provide a bridge to avoid dependencies between plugins
CSS Core which plugins define the core? all relevant UI-components CORE CORE.UI << use >> << use >> Platform-Runnable STARTUP
existing Extension Points • logManagers • iocReceivers • cssManager • loginValidator • mb3Receiver
existing Extension Points logManagers This Extension Point can be used to handle Logevents, which are thrown anywhere in CSS. implementing plugin: de.desy.css.log
existing Extension Points iocReceivers Connected Plugins will receive and handle IOC-Data (which are not completely specified yet). implementing plugin: de.desy.css.dummylogger
existing Extension Points cssManager The central plugin to handle authorization and authentication specifiy the update mechanism … implementing plugin: de.desy.css.manager
existing Extension Points loginValidator Implementing plugins will provide a mechanism to authorize the user requesting a login. implementing plugin: de.desy.css.manager
existing Extension Points mb3Receiver This extension point can be used to react to MB3-Events (data have to be specified). implementing plugins: de.desy.css.ioc.status de.desy.css.jprobe de.desy.css.record.properties
existing Extension Points mb3Receiver This extension point is used by plugins, which are interested in receiving MB3-Events by other plugins/components. implementing plugin: de.desy.css.jprobe
required plugins Startup • initialise and start the workbench • init the default and load changed CSS-preferences • define the preferences of the CSS-product plugin: de.desy.css.startup
required plugins Logging • central functionality of CSS • handle all upcoming Log-Events in the whole CSS • configure specified appenders (file, console, JMS, …) • can be configured by preferences plugin: de.desy.css.log
optional plugins Management • handle the login • provide a mechanism for authentication and authorization • specifiy RightSets • configure the access-rules of the logged user • configure updates of CSS plugin: de.desy.css.management
optional plugins rights management • each plugin defines its own access- and functionality-rules • these rules may be overridden by the management plugin and ist RightSet-implementation • plugin-specific rules are used, if Management-Plugin is not available
RightSet Management Default-RightSet XXXPlugin Startup << requests overriding rights >> Core ICssManager IRightSet << requests login-validation >> ILoginValidator << implements >> << implements >> Manager CssManagerImpl RightSetImpl LoginValidatorImpl
RightSet Management request 1 user 2 functionin plugin checksrights ManagementPlugin overridingrights found using defaultrightset no yes 3 function allowed? performingaction yes no
optional plugins Management (Updates) • local user has restricted access to new/updated plugins by default • the user's role defines the range of possibilities for the user • it's not allowed to update CSS with non-approved plugins by default • the user can't add plugins to CSS by default • update is triggered by central repository
Update mechanism encapsulate the existing Update-Plugin The non-privileged operator must not have the possibility to manually update the local installation of the CSS-System. The running instance will register itself at the central repository to get updated. The privileged operator may start an update-process with non-approved features (with explicit login). update local plugins and features All plugins and features of the local CSS-System will be updated automatically without any interaction by the operator. The update-process is inited by a respository-admin.
Update mechanism grant password-protected access to central repository for beta-updates Usually, the operator will init the automatic update-process: all available – approved – updated plugins and features are installed. With a login and password, the operator may also browse the repository and update the local CSS-installation with non-approved – maybe unstable – plugins and features. CSS running 24/7 These systems will be updated by remote. Running instances will be restartet – if needed.
optional plugins – update mechanism 1 << register >> << controlled by operator >> << controlled by admin >> 2 local CSS-instance centralrepository << offline >> << online >> << send update-command >> << update >> 3 << already registered >> << controlled by operator >> << controlled by admin >> 1 local CSS-instance centralrepository << online >> << trigger update >> << update >> 2