close

Filter

loading table of contents...

Site Manager Developer Manual / Version 2304

Table Of Contents

3.5 Defining Group Specific Configuration Files

The Site Manager is configured with XML files. It is possible to define special configuration files for distinct groups or users of the CoreMedia system. To configure the usage of special configuration files you may adapt the following properties in the editor.properties file (see Section 3.4, “Defining XML Files For Configuration” for details):

  • editor.startup.configuration

  • editor.configuration

  • group.configuration

  • user.configuration

If you only use group.configuration, you can define one specific configuration file for each group. To have multiple configuration files for one group, you may configure the set of files and in which order they are parsed in editor-startup.xml (default) or in the file configured by editor.startup.configuration. Mind that group configuration in editor-startup.xml overrides the mechanism one configuration file per group which especially means: If users are not member of any group configured in <ConfigGroups> no group configurations are applied to these users.

In both cases, that is either with one configuration file per group or with multiple configuration files per group you have to set the property group.configuration to point to configuration files with a path relative to <CoreMediaHome> or to the URL where to find the files. The path/URL defined has to contain a wildcard {0} which will be replaced either by the group name or by the names as defined in the <Configuration> element (see below).

Example:

group.configuration=properties/corem/editor-{0}.xml

The Content Server will look in the properties/corem directory for a file called editor-<PlaceHolder>.xml where <PlaceHolder> will be replaced by the values of the name attribute of the <Configuration> element described below or by the group name if no <ConfigGroups> element is used.

If a user is member of more than one group, the exact behavior reading group configuration files is undetermined. If multiple matching <ConfigGroup> exist, one of them is chosen by random. If <ConfigGroups> configuration is not used but direct mapping groups to configuration files all matching configuration files are read but in an undetermined order. To determine the exact behavior you have to implement your own selection scheme. Proceed as follows:

  1. Extend GenericEditor

  2. Override the getConfigurationGroupNames(UserModel user) method which is inherited from AbstractEditor with your own selection scheme. The default implementation of the method either returns the configuration file names as configured in the <Configuration> element (first case) and if no <ConfigGroups> element is used the unordered list of groups a user is member of. You might want to use the convenience method getUserConfigGroups(UserModel user) to create your own implementation. For further reference see the Javadoc.

  3. Add your class to the class attribute of the <Editor> element in the editor-startup.xml file.

<ConfigGroups>

Child elements: <ConfigGroup>

Parent elements: <Editor>

<Editor>
  <ConfigGroups>
     .
     .
   </ConfigGroups>
</Editor>

This element combines the elements for the group configuration.

The element has no attributes. If <ConfigGoups> is not used but group.configuration is set, only the general editor configuration file (default: editor.xml) and the matching group specific configuration files will be applied. See the Site Manager chapter in the Administration and Operations Manual for details.

<ConfigGroup>

Child elements: <Configuration>

Parent elements: <ConfigGroup>

      <ConfigGroups>
   <ConfigGroup name="editor" domain="main">
     .
     .
   </ConfigGroup>
</ConfigGroups>

    

This element defines for which group and domain the configuration should be used. It groups the <Configuration> elements.

AttributeDescription
nameThe name of an existing group in the CoreMedia user management for which the configuration will be used.
domainThe domain of the group.

Table 3.3. Attributes of the <ConfigGroup> element


<Configuration>

Child elements:

Parent elements: <ConfigGroup>

      <ConfigGroups>
   <ConfigGroup name="editor">
      <Configuration name="common"/>
      <Configuration name="special"/>
   </ConfigGroup>
</ConfigGroups>

    

This element defines the name with which the placeholder in group.configuration will be replaced and the order in which multiple configuration files are applied. In the example above the placeholder will first be replaced with "common" and then with "special", if the user is member of the "editor" group. This especially means that in case of conflicting settings the settings from the special file will override the settings in the common file.

AttributeDescription
nameName which will replace the placeholder in the group.configuration property of editor.properties. In general, this is not the name of an existing group, but it can be.

Table 3.4. Attribute of the <Configuration> element


Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.