2017 June Release

WorkflowPermanent link for this heading

MetaParticipantPermanent link for this heading

The customization point MetaParticipant defines how the meta participant is resolved.

Syntax

customize MetaParticipant<objclass, metapart> {
  newparticipant = expression {...}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • metapart
    Defines the meta participant that should be resolved.
  • newparticipant
    Defines the expression that is used to resolve the meta participant to a participant.

In the expression following additional variables are available:

  • object
    The object, on which the process is running.
  • activity
    The current activity instance.
  • process
    The object of the current process.
  • participant
    The current participant of the activity.

Example

customize MetaParticipant<Object, WFMP_INITIATOR> {
  newparticipant = expression {
    @owner = object.objowner;
    COOWF@1.1:WorkFlowParticipant @part = {};
    if (@owner != null) {
      @roles = @owner.userroles[COOSYSTEM@1.1:default==true];
      if (count(@roles) > 0) {
        @role = @roles[0];
        @rolegroup = @role.userrolegroup;
        if (@rolegroup != null) {
          if (@role.userrolepos == #FSCFOLIO@1.1001:HeadPos) {
            @supergroups = @rolegroup.grsupergroups;
            if (count(@supergroups) > 0) {
              @part.COOWF@1.1:wfpgroup = @supergroups[0];
            }
            else {
              @part.COOWF@1.1:wfpgroup = @rolegroup;
            }
            @part.COOWF@1.1:wfpposition = #FSCFOLIO@1.1001:HeadPos;
          }
          else {
            @part.COOWF@1.1:wfpgroup = @rolegroup;
            @part.COOWF@1.1:wfpposition = #FSCFOLIO@1.1001:HeadPos;
          }
        }
        else {
          @part.COOWF@1.1:wfpmetaparticipant =
            participant.COOWF@1.1:wfpmetaparticipant;
        }
      }
      else {
        @part.COOWF@1.1:wfpmetaparticipant =
          participant.COOWF@1.1:wfpmetaparticipant;
      }
    }
    else {
      @part.COOWF@1.1:wfpmetaparticipant =
        participant.COOWF@1.1:wfpmetaparticipant;
    }
    @part;
  }
}


Note: In the Fabasoft Folio Domain the customization gets defined in the workflow configuration.

ProcessOwnershipPermanent link for this heading

The customization point ProcessOwnership defines the owner and the group of the workflow process. If no configuration was made the current user is used as the owner of the process and the group of the current role will be used as owning group of the process.

The customization point ProcessOwnership is evaluated when creating a new process in the action COOWF@1.1:CreateWorkFlowObject.

Syntax

customize ProcessOwnership<objclass> {
  owner = expression {…}
  group = expression {…}
}

Description:

  • objclass
    The customization applies to objects of the defined object class.
  • owner
    Defines an expression to get the owner of the process.
  • group
    Defines an expression to get the owning group of the process.

Example

app.ducx Customization Language

customize ProcessOwnership<Object> {
  owner = expression {
    TeamRoom tr = cooobj.objteamroom;

    if (tr && tr.HasClass(#TeamRoom)) {
      return tr.objowner;
    }

    else {
      return cooobj.objowner;
    }
  }
  group = expression {
    TeamRoom tr = cooobj.objteamroom;

    if (tr && tr.HasClass(#TeamRoom)) {
      return tr.objowngroup;
    }

    else {
      return cooobj.objowngroup;
    }
  }
}

InsertActivityDefPermanent link for this heading

The customization point InsertActivityDef calculates an activity definition for a specified object class with a supplied context.

Syntax

customize InsertActivityDef<objclass, scope> {
  insertactdef = expression {...}
}


Description:

  • objclass
    The customization applies to objects of the defined object class.
  • scope
    A component object, that is used in combination with the object class to retrieve an activity definition.
  • insertactdef
    Defines a Fabasoft app.ducx Expression to calculate the activity definition. Following values are available in the local scope:
    • activity: The currently used activity instance of the current process
    • process: The currently used process instance
    • participant: The participant of the current activity instance
    • object: The object of the current process

Example

app.ducx Customization Language

customize InsertActivityDef<Object, SIGN_APPROVAL_ACCEPTED> {
  insertactdef = expression {
    return #ActDefApprovalAccepted;
  }
}


Note: In the Fabasoft Folio Domain this customization gets defined in the workflow configuration.