Implementation of Profile-manager

SCPM enables users to have multiple configuration (different network setings etc.) of their system.

For terminology, see the specification document.

For workflow, see the workflow diagram.

Dialogs

After starting module, the first dialog is Main dialog, labeled System Configuration Profile Management.
Here user can see And what he/she can do: When the user uses SCPM for first time and SCPM is disabled, the Introduction Popup is showed. From here he/she can choose to see an info page in Konqueror (or another aviable application) started by clicking "Show introduction" button or just continue.

The Options Dialog
Options Dialog is for changing SCPM configuration. User can enable or disable SCPM (at fist time it is disabled) and chooses the Resource Set. (List of aviable Resource Sets is shown in the list box.)

The Switch Dialog
This dialog shows changes, which will be done after switching to selected profile (the files and resources that will be created or deleted). After confirming the switch, the Progress Popup is shown. Here are shown the messages of what is currently doing - starting or stoping services, changing config files etc.

Add Profile Popup
User is asked, what will the new profile look like (based on the current configuration or on an existing profile). After that, he can edit it in the Profile Setting Dialog.

Profile Setting Dialog
Here could be changed the name and descrtiption of selected profile and choosed scripts to be executed before/after profile switching.

To know more about dialogs, see the specification document.

Implementation

The implementation of SCPM will has two parts: a YaST2 module (written in YCP language) and a SCR agent (in C++). The agent performs the actions with the SCPM library (which is written in C++, see the API documentation) after the Read/Write/Execute calls from the module.

Example: User checks an "Enabled" checkbox in the Options Dialog. After pushing the OK button, YCP module calls SCR::Write(.scpm.enabled, "true") and ".scpm" agent calls function SCPM::Enable from the SCPM library.

YCP module

For more information, see autodocs.

File profile-manager.ycp (the client): starting the function ScpmSequence

File wizard.ycp - the sequences definitions.

Files complex.ycp and dialogs.ycp: the user interface. Functions from this file use the module functions (e.g. Profile-manager::Read).

File Profile-manager.ycp: the module - handles SCR calls, global variables etc. Its functions are called from dialogs; they do appropriate SCR-calls. Most of functions return boolean (the success) an some of them changes the value of global variables.

The agent

For info about agent implementation, see its own documentation (or here).

Jiri Suchomel <jsuchome@suse.cz>