2017 October Release

Personnel FilePermanent link for this heading

CPInstanceACLsPermanent link for this heading

The customization point CPInstanceACLs defines the access control lists which can be used in the personnel file context. For example the possible acls for instances of personnel file folders are restricted to the defined values of the customization point.

Syntax

customize CPInstanceACLsQuickSearchAction<objclass> {
  acls = expression {...}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • acls
    The possible access control lists for objects in the personnel file context.

Example

customize CPInstanceACLsQuickSearchAction <PersonnelFileFolder> {
  acls = expression {
    return [#AppConfigurationRoomACL, , #RoomPersonnelFileShelfACL, #RoomPersonnelFileACL,

            #RoomPersonnelFileConfidentialACL, #RoomPersonnelFileSupervisorACL];
  }

}

InheritSecurityContextPermanent link for this heading

The customization point InheritSecurityContext defines in which cases in an personnel file context the parent acl will be inherited by the child..

Syntax

customize InheritSecurityContext<objclass> {
  definedacl = expression {...}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • definedacl
    The acl which sould be applied to the child object. If no acl is returned the current acl of the child object will not be changed.

Example

customize InheritSecurityContext<Object> {

  definedacl = expression {

    AccessControlList curracl = cooobj.objaclobj;

    AccessControlList categoryacl = null;

    DocumentCategory category = cooobj.COOTC@1.1001:objcategory;

    if (category &&

        (category.HasClass(#DocumentCategory) ||

         category.HasClass(#ComponentDocumentCategory))) {

      categoryacl = category.dcdefaultacl;

    }

    if (categoryacl && categoryacl.HasClass(#AccessControlList)) {

      return null;

    }

    else if (cootx.IsCreated(cooobj) || cooobj in #TV.TV_ALLIMPORTEDOBJECTS ||

        cooobj in #TV.TV_PERSISTED || backlink != #objaclobj ||

        (curracl && curracl == oldparentacl)) {

      return newparentacl;

    }

  }

}