Modifying Policy States

The following STATE_ITEM subclauses are available to modify the existing states in a policy.

When modifying ALLSTATE, you can only use these clauses:

  • add ACCESS_USER
  • remove ACCESS_USER
  • add rule
  • remove rule

See Also
State Clause for the Add Policy Command
Modify Policy State Subclause Specifies
enforcereserveaccess Requires that users must reserve (lock) the governed object before making modifications.
notenforcereserveaccess Does not require the user to reserve the governed object and could result in mulitple users trying to modify the same object at the same time.
enforce Requires that a user must lock the object prior to checking in files that replace existing files, and that user must be the one who checked out the files.

For more information, see Enforce Clause for the Add Policy Command.

notenforce Does not require a user to lock the object prior to checking in files that replace existing files.
action COMMAND The action defined by the command is taken when the object is promoted to this state.
check COMMAND The verification test to be executed when the object is promoted to this state changes as specified by the command. This test must return a true or false value.
icon FILENAME The image is changed to the new image in the field specified.
name VALUE The name of the current state is changed to the new name entered.
add notify USER_NAME {,USER_NAME} [message VALUE] The users listed is/are added to those notified when the object is promoted to this state. If a message value is entered, the message changes to the new value.
notify message VALUE Adds a message VALUE used when a specific message has not been defined using the above item.
remove notify USER_NAME {,USER_NAME} The users listed is/are removed from the list of users who are notified when the object is promoted to this state.
add notify signer [message VALUE] The users included in the signature requirements for the next state is/are notified when the object is promoted to the state. This allows one notify message to notify all signers automatically.
remove notify signer The users included in the signature requirements for the next state are removed from the list of users who are notified when the object is promoted to the state.
promote true Promote to the state occurs automatically if all conditions are met.
promote false Promote to the state will not occur automatically even if all conditions are met.
checkouthistory true The generation of history information on the checkout event is enabled.
checkouthistory false The generation of history information on the checkout event is disabled.
add owner ACCESS_USER ACCESS_ITEM {,ACCESS_ITEM} [{USER_ITEM}] One or more access items are added to the owner access list. This list specifies the access privileges the owner has when the governed object is in this state. For more information, see Access Privilege Definitions and ACCESS_USER Subclauses.
remove owner ACCESS_USER ACCESS_ITEM {,ACCESS_ITEM} [{USER_ITEM}] The listed access item is removed from the owner access list. For more information, see Access Privilege Definitions and ACCESS_USER Subclauses.
add public ACCESS_USER ACCESS_ITEM {,ACCESS_ITEM} [{USER_ITEM}] One or more access items are added to the public access list. This list specifies the access privileges the public has when the governed object is in this state. For more information, see Access Privilege Definitions and ACCESS_USER Subclauses.
remove public ACCESS_USER ACCESS_ITEM {,ACCESS_ITEM} [{USER_ITEM}] The listed access item is removed from the public access list. For more information, see Access Privilege Definitions and ACCESS_USER Subclauses.
add rule RULE_NAME [all | MAPPED_ACCESS_USER {MAPPED_ACCESS_USER} Adds the specified RULE_ITEMS from RULE_NAME, either all of the RULE_ITEMS, or MAPPED_ACCESS_USER to define specific RULE_ITEMS (based on the username or username+key).
remove rule RULE_NAME Removes all RULE_ITEMS from the specific rule from this state of the policy. When you remove a rule from a state, you remove all rule items. If you still need some rule items from that rule, you first remove the rule then add back the specific rule items.
minorrevision true|false If true, revisions are allowed in this state. Otherwise, revisions are not allowed in this state.
add route USER_NAME {,USER_NAME} [message VALUE] The users listed are added to those who will receive ownership of the business object when the object is promoted to this state. If a message value is entered, the message changes to the new value.
remove route USER_NAME {,USER_NAME} The users listed are removed from the list of users who receive ownership of the object when it is promoted to this state.
route message VALUE The message sent to users who receive ownership of the business object when the object is promoted to this state changes to the value entered.
block STATENAME Issue block clauses in pairs to block the branch to the state to be hidden, and to block the branch from the state to be hidden. The effect is to pass through the hidden state.
unblock STATENAME Unblocks a previously-hidden state. Like the block clause, unblock must be used in pairs to unblock the branch to the hidden state and the branch from the hidden state to the next state.
add signature SIGN_NAME [SIGNATURE_ITEM {,SIGNATURE_ITEM}] The names listed can promote, reject, or ignore the business object.
remove signature SIGN_NAME The entered signature is removed from the list of signatures required to alter the object's state.
signature SIGN_NAME [SIGNATURE_MOD_ITEM {SIGNATURE_MOD_ITEM}] The named signature is modified according to the modification clause(s) listed.
add trigger EVENT_TYPE TRIGGER_TYPE PROG_NAME The specified trigger is added or modified for the listed event.
remove trigger EVENT_TYPE TRIGGER_TYPE The specified trigger type is removed from the listed event.
add ACCESS_USER ACCESS_ITEM {,ACCESS_ITEM} [{USER_ITEM}] One or more access items are added to the user access list. This list specifies the access privileges the named user has when the governed object is in this state. For more information, see Access Privilege Definitions and ACCESS_USER Subclauses.
remove ACCESS_USER ACCESS_ITEM {,ACCESS_ITEM} [{USER_ITEM}] The listed access items are removed from the named user's access list. For more information, see Access Privilege Definitions and ACCESS_USER Subclauses.
version true New versions are allowed in this state.
version false New versions are not allowed in this state.
majorrevision TRUE|FALSE It is allowable to create a new major revision of an object in this state, in support of major or minor revisioning. For more information, see MQL Concepts: Published States.
minorrevision TRUE|FALSE It is allowable to create a new minor revision of an object in this state, in support of major or minor revisioning. For more information, see MQL Concepts: Published States.
published TRUE|FALSE The state can be marked as "published," in support of major or minor revisioning. For more information, see MQL Concepts: Published States.
stateproperty NAME [value STRING] The named stateproperty is with the specified values is added to the state.
splitchangetypeinterfaceaccess Use the addinterface and removeinterface access controls to determine if a user has the ability to add or remove an interface in this policy state. For more information, see Splitchangetypeinterfaceaccess Clause.
not splitchangetypeinterfaceaccess Use the changetype access control to determine if a user has the ability to add or remove an interface in this policy state.

When modifying the states of a policy, the state modification clauses are similar to those used to define states. For example, assume you had the following state definition:

state "In Progress"
   revision false
   version true
   public all
   owner all

Now you want to have a Manager oversee the work in progress. Rather than let the owner or public promote the object into the next state, you want to give that privilege to the Manager only. To make these changes, you might write a command such as:

modify policy "Manual Release"
   state "In Progress"
     add public notenable, notdisable, notoverride, notpromote
     add owner notenable, notdisable, notoverride, notpromote
     add user Manager promote, enable, disable, override;

When this command is processed, the state definition is modified to appear as:

state In Progress
   revision false
   version true
   public notenable, notdisable, notoverride, notpromote
   owner notenable, notdisable, notoverride, notpromote
   user Manager promote, enable, disable, override;