Unitfly Toolkit for M-Files logo color

Create task completion objects that could be added to other, referenced objects in order to keep the status of who and when marked an assignment as completed.

Required Vault Structure elements #

Assignments module creates a separate object for each assignment completion. To create a separate object, certain elements need to be created.

Object Type

  • Completion (required)

Class

  • Completion (required)

Property definitions

  • Assignments Completion (required)
    Choose from list “{Object Type you created}” (multi-select)
  • Completion User (required)
    Choose from list “Users”
  • Completion Date
    Date
  • Completion Date UTC
    Date
  • Completion Time
    Time
  • Completion Time UTC
    Time
  • Completion Timestamp
    Timestamp
  • Identifier
    Text

Configuration #

After you have successfully installed the application, you should configure Assignments.

  1. Open M-Files Admin
  2. In the left-side tree view, expand the desired connection to M-Files Server.
  3. In the left-side tree view, expand the Document Vaults node.
  4. Still, in the left-side tree view, expand the vault where you installed the connector and select Configurations.
  5. Expand Other Applications
  6. Expand Extension Kit
  7. Click on Assignment

Field description #

FieldValueDescription
EnabledYes/NoSpecifies whether the module is in use.
Configuration modeConfiguration modeDisplay simple or advanced configuration options for module.
Vault Structure
Assignments completion object typeList of objects typesSpecifies the object type of a created object. Defined in section 1.
Assignment completion classList of classesSpecifies the class of created objects. Defined in section 1.
Assignments completion propertyList of property definitionsSpecifies property definition that will contain a list of all Assignment Completions. Defined in section 1.
Vault Structure > Assignments Completion class properties
Completion NameList of property definitionsSpecifies property definition that will be the Name of newly created Assignment Completion. Defined in section 1.
Completion UserList of property definitionsSpecifies property definition that will contain information about Users who completed the assignment.
Completion DateList of property definitionsSpecifies property definition that will contain information about the Date of assignment completion.
Completion Date UTCList of property definitionsSpecifies property definition that will contain information about Date UTC of assignment completion.
Completion TimeList of property definitionsSpecifies property definition that will contain information about the Time of assignment completion.
Completion Time UTCList of property definitionsSpecifies property definition that will contain information about Time UTC of assignment completion.
Completion TimestampList of property definitionsSpecifies property definition that will contain information about Timestamp of assignment completion.
AssignmentList of property definitionsSpecifies property definition that will contain reference to assignment.
IdentifierList of property definitionsSpecifies property definition that can be used as a more specific Identification of assignment that is completed. E.g. Document Approval, Document Review…
Apply to all or selected assignmentsOne of the following:
AllSelected
All. If this option is selected, every assignment completion will create Assignment Completion object (created in section 1 and configured previously) and add it to the assignment. Selected. If this option is selected, a new configuration is visible (Assignments filters) that allows defining more specific rules. Rules allow the definition of Assignment classes and required property definitions that point to the object for which Assignment is created. That way you can create different Assignment classes and control for which classes you want to create a Completion object.
Assignments filtersList of assignment filtersDisplayed only if Apply to all or selected assignments flag is set to Selected.
List of filters that allow fine grained selection of assignment classes that trigger creation a Completion object.
Assignments filters > Assignment Filter [n]
Assignment completion identifierTextSpecifies identifier that will be added to newly created Assignment Completion object after assignments are completed. The identifier is used to add extra information to completion object.
Assignments filters > Assignment Filter [n] > Assignment
ClassList of classesAssignment class that filter rule applies to.
Source object propertyList of property definitionsSpecifies property that needs to exist on the Assignment to apply this rule.
Assignments filters > Assignment Filter [n] > Source
Completions propertyList of property definitionsAssignment Completion reference that will be added to the source object when Assignment Completion is created.

Use Case #

Document Approval Workflow with assignment completion information in document #

M-Files Elements #

It is often the case, that customer needs to keep information about document approval (who approved and when) in the document itself. Even though the M-Files history has needed information, it is not possible to include that information in the document.

Assignment module creates separate objects (in this example called Approvements) that contain information about who and when completed which Assignment.

To support this case, certain M-Files elements are created:

Required elements #

ElementNameDescription
Object TypeApprovementAn object of this object type will be created after a user marks assignment as completed
ClassApprovementObject of this class will be created after user marks assignments as completed
Property DefinitionApprovement NameName of Approvement object. Configured as a simple concatenating of properties:
%Approver User% – %Approvement Date% – %Approvement Time%
This property is very important as this property will be visible in the document.
Property DefinitionApprover UserUser that marks assignment as completed.
Property DefinitionApprovement DateDate when the assignment is marked as completed.
Property DefinitionApprovement Date UTCDate UTC when an assignment is marked as completed.
Property DefinitionApprovement TimeTime when the assignment is marked as completed.
Property DefinitionApprovement Time UTCTime UTC when an assignment is marked as completed.
Property DefinitionApprovement TimestampTimestamp when an assignment is marked as completed.
Property DefinitionDocument Approvers ApprovementsList of all approvement objects for an assignment for Document Approvers
Property DefinitionDocument Authors ApprovementsList of all approvement objects for an assignment for Document Authors
Property DefinitionDocument Reviewers ApprovementsList of all approvement objects for an assignment for Document Reviewers

Approvement class with all properties:

In most cases, document approval workflow has three important steps: authors approve, reviewers approve and final approval.

To support three different approval states we need to have three different assignment classes:

Each step of the workflow will create separate assignments with different assignment class.

Assignment Configuration #

With all the elements created, it is possible to configure the Assignments module.

The first part of the configuration is used for connecting elements that module looks for and created elements:

configuration of assignments in M-Files

After that, for each assignment class, we will add Assignment Rule that will create Assignment Completion objects and add them to the referenced object (in our case Document) [Source Object Property] in property (in our case Document Authors Approvements, Document Reviewers Approvements, Document Approvers Approvements) [Completions property].

configuration of assignments in M-Files

The Result #

To create a new document, the user needs to select Author(s), Reviewer(s) and Approver(s).

In the state Document Authors Approve separate assignment is created and assigned to Document Author – Cristiano Ronaldo. After Cristiano marks assignment as completed, Extended Assignments module creates a separate object (of class Approvement) and add this object to property metadata on Document (Document Authors Approvements)

The same behavior is for the next stages of Document Approval workflow and the result for this example is next:

As it is visible, the document is now in state Document Approved with information about who, when and in which state, approved this document. Now it is possible to add information in the document.

As this output with semicolons might not be good enough, we have created Macro Properties module which, among others, can convert multi-select lookups to the list of lookups displayed one value per line:

Your one-stop hub for Unitfly Toolkit for M-Files!

Unitfly Toolkit Community is live!

News and updates on our products • Frequently asked questions • Support page