Oracle Waveset 8.1.1 Resources Reference

Disabling and Enabling

In Domino 6.0 and later, the preferred method to disable a user is to set the CheckPassword account attribute to 2. However, the 5.x method of adding a user to a DENY GROUP may still be used.

Early versions of Domino do not implement a native disable flag for each user, so each user disabled is placed in a DENY GROUP. When enabled, they are removed as members of any of the defined groups. DENY GROUP has a maximum number of members threshold so the group has to be specified as an account attribute to the resource. This requires an additional DenyGroups account attribute to be passed to the resource. DenyGroups can be set during a Disable, Enable, or Deprovision, but will not be fetched without additional coding.

When deprovisioning or disabling, you must send a list of DenyGroups that the user will be added to. When enabling, you must send a list of DenyGroups that the user will be removed from.

The available DenyGroups can be fetched from the resource with the following code:

<invoke name=’listResourceObjects’ class=’com.waveset.ui.FormUtil’>
    <ref>:display.session</ref>
    <s>DenyLists</s>
    <s>YourResourceName</s>
    <null/>
    <s>false</s>
 </invoke>

The currently assigned DenyGroups can be fetched on a disable, enable, or deprovision form with this code:

<invoke name=’getList’>
    <invoke name=’getView’>
       <ref>display.session</ref>
       <concat>
          <s>UserViewer:</s>
          <ref>resourceAccounts.id</ref>
       </concat>
       <map>
          <s>TargetResources</s>
          <list>
             <s>YourResourceName</s>
          </list>
       </map>
    </invoke>
    <s>accounts[YourResourceName].DenyGroups</s>
 </invoke>

In the enable, disable, and deprovision forms, you must address the DenyGroups attribute as:

resourceAccounts.currentResourceAccounts [YourResourceName].attributes.DenyGroups

The following example defines a field in the disable form that lists the available DenyGroups in the left hand side of a multi-select box:

<Field name=’resourceAccounts.currentResourceAccounts [
  YourResourceName].attributes.DenyGroups’>
    <Display class=’MultiSelect’>
       <Property name=’title’ value=’Deny Groups’/>
       <Property name=’required’>
          <Boolean>false</Boolean>
       </Property>
       <Property name=’allowedValues’>
          <invoke name=’listResourceObjects’ class=’com.waveset.ui.FormUtil’>
             <ref>:display.session</ref>
             <s>DenyLists</s>
             <s>YourResourceName</s>
             <null/>
             <s>false</s>
          </invoke>
       </Property>
       <Property name=’availableTitle’ value=’Available Deny Groups’/>
       <Property name=’selectedTitle’ value=’Assigned Deny Groups’/>
    </Display>
 </Field>

The following example defines a field in the enable form that lists the assigned DenyGroups in a derivation rule of a hidden field:

<Field name=’resourceAccounts.currentResourceAccounts 
  [YourResourceName].attributes.DenyGroups’>
   <Derivation>
       <invoke name=’getList’>
          <invoke name=’getView’>
             <ref>display.session</ref>
             <concat>
                <s>UserViewer:</s>
                <ref>resourceAccounts.id</ref>
             </concat>
             <map>
                <s>TargetResources</s>
                <list>
                   <s>YourResourceName</s>
                </list>
             </map>
          </invoke>
          <s>accounts[YourResourceName].DenyGroups</s>
       </invoke>
    </Derivation>
 </Field>