Work Places Architecture
The following diagram demonstrates how the Application Model layers can be customized by means of Xafari Work Places.
More info on each level can be found in the text below.
Compiled App Level. The Application Model here is defined by developers only and cannot be modified without recompiling the application due to its complete implementation.
Customizable Application Model Level. This model is stored in the Model.xafml (or Model_ru.xafml) file that is located in the application installation folder. The Model.xafml file can be modified through the Model Editor utility that is also situated in the application installation folder. All changes made on this level affect all users of the application.
Customizable Work Places Level. For each Work Places, a configuration file named Model.Workplace.<role_name>.xafml or Model.Workplace.<role_name>_ru.xafml is created on this level. The <role_name> field in its title stands for the role name in the complete XAF application list of roles By default, these files are stored in the application installation folder, and the path to them can be changed in the .config file only. All changes made on this level affect all users who possess a certain role when they run the application and select the modified Work Place. There is a separate file for each Work Place. Such files can be customized through the Xafari.Workplace.ModelEditor.exe utility that is stored in the application installation folder.
User Settings Level. On this level, the model is stored in the Model.User.<role_name>.xafml or Model.User.<role_name>_ru.xafml file. In the file titles, the <role_name> part stands for the role name in the complete XAF application list of roles. There can be several files for a single user. A separate file is created when the user enters the system and selects a certain Work Place. The user with admin rights sees the whole list of roles when choosing a Work Place; the user without admin rights sees only those roles for which the described .xafml files exist.