Modifying security dimensions

You can add dimension values to security dimensions, and you can make cosmetic changes to dimensions and values without clearing your data from the system.

The following table shows the changes that you can make to the security dimensions in a deployed security schema without clearing data from the system. It also states whether a reindex is required if the change takes place:
Change XML elements or attributes Allowed Reindex required
Add a security dimension <Dimension> No N/A
Modify an existing security dimension DisplayName, Description Yes No
Remove an existing security dimension <Dimension> No N/A
Add a dimension value to an unordered security dimension <DimensionValue> Yes No
Add a dimension value to an ordered security dimension <DimensionValue> Yes Yes1
Reorder the dimension values in an ordered security dimension <DimensionValue> Yes Yes
Modify an existing dimension value DisplayName, Description Yes No
Remove an existing dimension value from a security dimension <DimensionValue> No N/A
1 If you add a dimension value to the bottom of the sequence in an ordered security dimension, you do not need to complete a reindex.

To add a security dimension value to a security dimension, add a <DimensionValue> element as a child of an existing <Dimension> element.

To modify the display name or description of a dimension or a dimension value, change the DisplayName or Description attributes an existing <Dimension> or <DimensionValue> element. You must not change the value of the Id attribute.

If you follow this procedure in a deployment that provides high availability, you must complete each step on every Liberty server in your environment before you move to the next step.

  1. Using an XML editor, open the security schema for the deployment.

    The security schema is in the toolkit\configuration\fragments\common\WEB-INF\classes\ directory. The name of the security schema is specified in the DynamicSecuritySchemaResource property of the ApolloServerSettingsMandatory.properties file in the same directory.

  2. Modify the security dimensions in the security schema according to your requirements.
  3. Increment the version number that is stated in the Version attribute of the <SecurityDimensions> element in the security schema.
  4. Check your updated schema to ensure that it remains possible for all users to get an access level that is not "none" for at least one value in every access dimension.
  5. Save and close the file.
Redeploy i2 Analyze to update the application with your changes.
  1. In a command prompt, navigate to the toolkit\scripts directory.
  2. Stop Liberty:
    setup -t stopLiberty
  3. If you completed a change that requires a reindex, clear the search index:
    setup -t clearSearchIndex --hostname liberty.hostname
    In a deployment that provides high availability, you only need to run this command on one Liberty server.
  4. Update and redeploy the system:
    setup -t updateSecuritySchema
    setup -t deployLiberty
  5. Start Liberty:
    setup -t startLiberty