Configure access rights by specialization

The Access Manager window lets you configure access rights by document type only. You can also configure access rights according to specialization, such as bookmap, concept, task, or reference.

You have a lot of flexibility when assigning specialization access rights. When you do, you must repeat the conditions for all the topic specializations, such as concept, task, reference, topic, and glossentry, and then all the map specializations, such as map and bookmap.

The <type name="topic"> no longer means all the different types of topics it now refers specifically to a <topic> document, excluding <reference>, <concept>, <task>, and so on.

Note: Before implementing this feature, make sure you have a good use case for this level of granularity.
For example, without this feature, to give your authors editing access rights to all the topics and maps, you specify the following conditions in the accessrights.xml file:
<condition>
   <!-- Object on which action is taken -->
    <current>
        <type name="map">
            <statuses>
                <status>Authoring:draft</status>
            </statuses>
        </type>
    </current>
    <!-- Action user must be in this list -->
    <users>
        <roles>
            <role name="Author"/>
        </roles>
    </users>
</condition>
<condition>
   <!-- Object on which action is taken -->
    <current>
        <type name="topic">
            <statuses>
                <status>Authoring:draft</status>
            </statuses>
        </type>
    </current>
    <!-- Action user must be in this list -->
    <users>
        <roles>
            <role name="Author"/>
        </roles>
    </users>
</condition>

Compare this sample XML with the samples below.

Important: Make configuration changes in a test environment and confirm they work before copying them to a production environment.

To configure access rights by specialization:

  1. In the TEXTML Administration perspective, connect to your server.
  2. Expand the Content Store's Repository node and browse to /system/conf to locate the accessrights.dtd file.
  3. Right-click accessrights.dtd and select Check Out.
  4. Open the file in an XML editor.
  5. Locate the <method> element and add the following line to the attribute list:
    use-specialization (true | false) "false" 
    For example:
    <!ELEMENT method (notify, conditionset)                      >
    <!ATTLIST method
              name CDATA #REQUIRED
              type (front-end | api | outputtype) #REQUIRED
              use-specialization (true | false) "false"           > 
  6. Save, close, and check in the file.
  7. Browse to /system/conf to locate the accessrights.xml file.
  8. Right-click accessrights.xml and select Check Out.
  9. Open the file in an XML editor.
  10. Locate the <method> element and set its use-specialization attribute to true.
    For example:
    <method name="Edit" type="front-end"  use-specialization="true"    > 
  11. Configure conditions as applicable to your project.
    For example, consider a specialization named apitopic, used to document the methods of an API. You should give users with a Software Developer role access to such topics so that they can provide the method details, but you don't want them to update other types of topics. To control access in this scenario, create the following condition in the Edit method:
    <condition>
       <!-- Object on which action is taken -->
        <current>
            <type name="apitopic">
                <statuses>
                    <status>Authoring:draft</status>
                </statuses>
            </type>
        </current>
        <!-- Action user must be in this list -->
        <users>
            <roles>
                <role name="SoftwareDeveloper"/>
            </roles>
        </users>
    </condition>
  12. Save, close, and check in the file.
    The access rights are configured by specialization.
  13. Inform users of the changes.
    The changes will be applied automatically once users close and then reopen their CCMS Desktop. Users can also apply the changes without restarting their CCMS Desktop by clicking IXIA CCMS > Synchronize Configuration. Additionally, refresh IXIA CCMS Web so that users will see the change reflected there.