Configure approval systems by editing votingsystems.xml

You configure the approval systems available to end users in the Manage Roles window by editing the votingsystems.xml file.

By default, three approval systems are available in the Manage Roles window:
  • Unanimous: All users in this role must approve a document or image before it can pass to the next status.
  • Simple majority: A majority of users must approve a document or image before it can pass to the next status. By default, this means that more than 50% of users must approve this document before it can pass to the next status.
  • Single approval: A document or image can pass to the next status once any user in this role has approved it.
The following code shows the default votingsystems.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE votingsystems PUBLIC "-//ixiasoft.com//cms//config//votingsystems" "votingsystems.dtd">

<votingsystems default="Unanimous">
   <votingsystem name="Unanimous" restrictiveness="2147483647"><!-- Max INT -->
      <greaterorequal>100%</greaterorequal>
   </votingsystem>
   <votingsystem name="Simple Majority" restrictiveness="0">
      <greater>50%</greater>
   </votingsystem>
   <votingsystem name="Single Approval" restrictiveness="-2147483648"><!-- Min INT -->
      <greater>0%</greater>
   </votingsystem>
</votingsystems>

You edit the votingsystems.xml file to change the percentage of votes needed for an approval system or to create a new approval system. For example, you could create a "Critical majority" approval system for critical topics that must be approved by 80% or more users.

To configure the approval systems that will be used for your deployment:

  1. Open the TEXTML Administration perspective by clicking the TEXTML Administration shortcut on the tool bar. If the shortcut is not displayed, follow these steps:
    1. Select Window > Open Perspective > Other
    2. Click TEXTML Administration.
    3. Click OK.
  2. In the TEXTML Administration view, double-click the server. If your server is not displayed in the view, you must add it to the view.
  3. When the Connect as dialog opens, type your username and password and click OK.
  4. Double-click the name of your docbase to open a connection to the Content Store.
  5. Locate the votingsystems.xml file in the repository's /system/conf collection.
  6. Check out the file.
  7. Open votingsystems.xml with an XML editor.
  8. Set the default attribute of the <votingsystems> element to the default approval system.
    Enter one of the system names defined in the file. For example:
    <votingsystems default="Simple Majority">
  9. For each <votingsystem> element, enter a restrictiveness attribute value, which is an integer that determines which approval system takes precedence in case of conflicts.
    For example:
    <votingsystem name="Critical Majority" restrictiveness="1">
    Note: A topic may be shared between different projects, each of which has its own approval system. The approval system with the highest restrictiveness number is the system used for that document.

    In the default configuration above, Unanimous has the highest restrictiveness number, followed by Simple Majority, followed by Single Approval. A topic shared between a project using the Simple Majority voting system and a project using the Single Approval voting system will follow the Simple Majority system. By default, Unanimous uses the highest allowed restrictiveness number, so no other voting system can override it. Single Approval uses the lowest allowed restrictiveness number, so it is always overwritten by other voting systems when there is a conflict.

  10. Add the <greater> or <greaterorequal> element to define the percentage of votes needed for the topic to be promoted to the next status.

    For example, to indicate that 80% or more users must approve documents in the Critical Majority, enter the following:

    <votingsystem name="Critical Majority" restrictiveness="0">
       <greaterorequal>80%</greaterorequal>
    </votingsystem>
  11. Save, close, and check in the votingsystems.xml file.
  12. Inform users of the changes.
    The changes will be applied automatically once users close and then reopen their . Users can also apply the changes without restarting their IXIASOFT CCMS Desktop by clicking DITA CMS > Synchronize Configuration.
Voting systems that you added will be available in the Manage Roles window.