2017 June Release

TransferPermanent link for this heading

AdditionalTransferObjectsPermanent link for this heading

The customization point FSCTRANSFER@1.1001:AdditionalTransferObjects calculates depending transfer objects which will be used by specific object classes. These depending objects will be transferred as copies and won’t have a transfer state or a link between the object in the source and the target domain. This customization point is evaluated in the source domain when the container is transferred and in the partner domain when the container is retracted.

Syntax

customize AdditionalTransferObjects<objclass> {
  objects = expression {...}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • objects
    The depending objects for an instances of  the object class.

In the expression following additional variables are available:

  • targetrootobj
    The container object of the transfer. This parameter normally represents the team room which is transferred.
  • transferobj
    The current object for which the depending objects should be calculated
  • transferdirection
    The direction of the transfer. (e.g. sending or receiving)

Example

customize AdditionalTransferObjects <Mail> {
  objects = expression {
    cooobj.mailattacheditems;

  }

}

AdditionalTransferParticipantsPermanent link for this heading

The customization point FSCTRANSFER@1.1001:AdditionalTransferParticipants calculates additional transfer users which will be used by specific classes. By default only the users which have permissions on the transfer root object ware transferred.

Syntax

customize AdditionalTransferParticipants<objclass> {
  users = expression {...}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • users
    A list of users which should be transferred additionally to the participants of the transfer root.

In the expression following additional variables are available:

  • targetrootobj
    The container object of the transfer. This parameter normally represents the team room which is transferred.
  • transferobj
    The current object for which the additional participants should be calculated
  • transferdirection
    The direction of the transfer. (e.g. sending or receiving)

Example

customize AdditionalTransferParticipants <Mail> {
  users = expression {
    cooobj.onlinerefs.user + cooobj.onlinerefsexclude.user;

  }

}

TransferContainerPermanent link for this heading

The customization point FSCTRANSFER@1.1001:TransferContainer defines if an object can act as transfer container. By default a valid transfer container must have the attributes FSCTRANSFER@1.1001:objtransferprotocol and FSCTRANSFER@1.1001:objtransferpublishprotocols assigned.

Syntax

customize TransferContainer<objclass> {
  isvalidcontainer = expression {

  }
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • isvalidcontainer
    The result defines if the current object can act as transfer container

Example

customize TransferContainer <Object> {
  isvalidcontainer = expression {

    return cooobj.CheckSetAccess(cootx, #objtransferstate) &&

         cooobj.HasAttribute(cootx, #objtransferprotocol) &&

         cooobj.HasAttribute(cootx, #objtransferpublishprotocols);

}

}

TransferContainerLocationPermanent link for this heading

The customization point FSCTRANSFER@1.1001:TransferContainerLocation defines the linking property between the current object and the transfer root. During the transfer the link between the two objects is created in the target domain.

Syntax

customize TransferContainerLocation<objclass, containerobjclass> {
  containerlocation = AttributeObjectDef
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • containerobjclass
    The object class of the transfer root.
  • containerlocation
    The property in which the link between the current object and the transfer root is stored.

Example

customize TransferContainerLocation <Object, TeamRoom> {
  containerlocation = objteamroom;

}

FinishTransferPermanent link for this heading

The customization point FSCTRANSFER@1.1001:FinishTransfer allows execute post steps for each object when it was transferred successfully. The configured expression must return true when post steps were executed correctly

Syntax

customize FinishTransfer<objclass> {
  steps = expression {...}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • steps
    The expression is executed directly after the object was transferred to perform post steps defined within. The expression must return if the steps have been executed correctly.

In the expression following additional variables are available:

  • targetrootobj
    The container object of the transfer. This parameter normally represents the team room which is transferred.
  • transferobj
    The current object for which the post steps should be executed
  • transferdirection
    The direction of the transfer. (e.g. sending or receiving)

Example

customize FinishTransfer <Object, TeamRoom> {
  steps = expression {

    if (targetrootobj.HasClass(#Object) && transferobj.HasClass(#Object)) {

      TransferProtocol protocol = targetrootobj.GetTransferProtocol(false, false);

      if (protocol.HasClass(#TransferProtocol)) {

        transferobj.PatchRemarks(protocol.transfermapping);

      }

    }

    return true;

  }

}

ConcludeSecurityPermanent link for this heading

The customization point FSCTRANSFER@1.1001:ConcludeSecurity defines which security is applied to the transferred objects.

Syntax

customize ConcludeSecurity<objclass> {
  secapplied = boolean
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • secapplied
    The expression which defines the security for the object and returns if the security was applied

In the expression following additional variables are available:

  • targetrootobj
    The container object of the transfer. This parameter normally represents the team room which is transferred.

Example

customize ConcludeSecurity <Object> {
  secapplied = expression {
    AccessControlList acl = cooobj.AttrObjACLConstructor(#objaclobj);
   cooobj.ObjectLock(true, true);
    cooobj.objaclobj = acl;
    return true;
  }
}