Modifying Signature Requirements

If you want to alter the signature requirements within a state, use a Signature subclause within the State subclause.

signature SIGN_NAME [SIGNATURE_MOD_ITEM {SIGNATURE_MOD_ITEM}]
  • SIGN_NAME is the name of the signature item to modify.
  • SIGNATURE_MOD_ITEM identifies the type of modification.

You can make the following types of modifications to a signature clause. These types of modifications are related to the subclauses you saw in defining the signature requirements:

Modify Signature Subclause Specifies
[add] approve USER_NAME {,USER_NAME}The users are added to the list of people who can approve of the object. The add keyword is optional and behavior is the same with or without it.
remove approve USER_NAME {,USER_NAME} The users are removed from the list of people who can approve of the object.
[add] ignore USER_NAME {,USER_NAME} The users are added to the list of people who can sign in place of an approver or rejecter.
remove ignore USER_NAME {,USER_NAME} The users are removed from the list of people who can sign in place of an approver rejecter.
[add] reject USER_NAME {,USER_NAME} The users are added to the list of people who can reject the object. The add keyword is optional and behavior is the same with or without it.
remove reject USER_NAME {,USER_NAME} The users are removed from the list of people who can reject the object.
add branch STATE_NAME The branch is added to the signature.
remove branch STATE_NAME The branch is removed from the signature.
add filter EXPR The filter is added for the signature.
remove filter EXPR The filter is removed from the signature.

The following state definition creates user documentation:

state "In Progress"
   revision false
   version true
   public all, notenable, notdisable, notoverride
   owner all, notenable, notdisable, notoverride
   user Manager override
   signature Complete
     approve Writer
     reject Writer
     ignore Manager

Now you want to allow the editor to approve or reject the object. You also want to add a second signature that shows the manual has been accepted by the editor. To make these changes, you could write a Modify Policy command similar to the following:

modify policy "Manual Release" state "In Progress"
   signature Complete
     add approve Editor
     add reject Editor
   signature Accepted
     add approve Editor
     add reject Editor
     add ignore Manager;

After this command is processed, the state definition appears as:

state In Progress
   revision false
   version true
   public all, notenable, notdisable, notoverride
   owner all, notenable, notdisable, notoverride
   user Manager override
   signature Complete
     approve Writer, Editor
     reject Writer, Editor
     ignore Manager
   signature Accepted
     approve Editor
     reject Editor 
     ignore Manager