Content
Standard signatures can be customised in MOXIS using resolvers (placeholders). This article explains the logic behind resolution and the different types of resolvers available.
1. Definition
What is a resolver?
A resolver is a software component that retrieves information from a name server via the DNS protocol.
In the case of MOXIS, a resolver is a placeholder that is placed in a MOXIS component to represent a specific text or piece of information. As soon as the information is available, it is automatically retrieved and the placeholder is replaced by the information/text. This allows certain processes in MOXIS to be automated and simplified.
1. Resolution of resolvers
The resolution of resolvers follows the logic below:
|
Resolver |
Resolution |
|---|---|
|
|
The percent sign ( |
|
|
The question mark (?) indicates an optional placeholder that resolves to an empty string if the key cannot be evaluated. It can also be escaped with a backslash ( |
|
|
The character string %(...) indicates a group whose result is the first valid value after evaluation of the subgroups content-1 ... content-n. |
|
|
Optional placeholders also work for groups. |
|
|
Groups can also be nested and contain static elements. Static elements are only taken into account if all placeholders in the subgroup resolve validly. |
|
|
A static placeholder for |
2.1. Examples for resolvers
|
Resolver |
Resolution |
|---|---|
|
|
… resolves the common name from the certificate, if the certificate is available. |
|
|
… resolves the first name and last name of the logged-in MOXIS user, provided that the MOXIS user is available. |
|
|
Hard-coded name (Max Mustermann or John Doe, depending on the language). Required in the preview for external signatories. |
|
|
… current (signature) time |
2.2. Examples for resolvers with groupings
|
Resolver |
Resolution |
|---|---|
|
|
… resolves to the common name from a certificate or first name and last name or Max Mustermann (if the language is German). Depending on which resolves first. |
2.3. Further resolvers and Resolver and their effects
|
Resolver |
Resolution |
|---|---|
|
|
… Resolves the first invalid match for certificate-user-name, certificate-common-name, moxis-user-name, default-signer-name. Resolves to null if none of these match. |
|
|
… resolves to the ‘Issuer Distinguished Name’ of the certificate, if specified, otherwise null. |
|
|
… resolves to the ‘Common Name’ of the certificate, if specified, otherwise null. |
|
|
… resolves to the serial number of the certificate, if specified, otherwise null. |
|
|
… resolves to the currently logged-in MOXIS user name <first name> <last name>, if specified, FOR SHARES, otherwise null.
|
|
|
… resolves to the email address of the currently logged-in MOXIS user, otherwise |
|
|
… resolves to the constants John Doe or Max Mustermann, depending on the locale used and if preview mode is used, otherwise |
|
|
… resolves the name of the signer that must be displayed. |
|
|
… resolves the name of the user who signs in place of the original signer, otherwise |
|
|
… resolves the iteration comment set in the ‘Create order’ view, otherwise |
|
|
… resolves the job ID (process instance ID) that would otherwise be automatically assigned to null. |
|
|
… resolve the job reference ID, otherwise |
|
|
… resolves into the signature comment of a qualified signature. |
|
|
… resolves into the signature comment of a simple signature or an approval. |
3. Use case: Resolvers in practical application
In MOXIS, for example, signature visualizations can be designed differently using resolvers. We would like to explain their function and benefits using a practical example.
Good document management is particularly important in industries that are subject to strict guidelines. This is also the case in the pharmaceutical industry, where transparency plays a major role. Not only the name but also the role of the signatories must be noted on documents.
However, it can happen that more than one person works on a document. This must of course also be recorded with a signature.
3.1. Use case: General conditions
For our example, we have defined three people who are working on the same document. After successful interaction, they must countersign it in some form:
-
Creator of the document = Creator
-
Editor of the document = Checker
-
Approver (person with hierarchical authority) = Approver
Now, you could create a separate signature profile for each role. However, this would have to be selected before each signature. Since this can be prone to errors, the use of a resolver is recommended. This can be controlled by the client(s) in the course of the annotation for each signature level.
3.2 Use case: Personalizing signatures in MOXIS
Use case: A person in the quality management department of a pharmaceutical company wants to create a document. Their signature should include their name, the date and time, and their role.
Solution: The “%iteration-comment” resolver is suitable for our example. According to the syntax description in section 1.3 of this article, this can be resolved and inserted into the signature profile accordingly.
To add a resolver to a signature profile, open the signature profile you want to edit. Then add the desired information.
In the Caption section (see figure 1 [1]), make sure you have checked all the important items you want to display. You can choose between:
-
Display name
-
Display date
-
Display time
-
Display note text
XiTip
Please note: The check mark for “Display note text” must be selected in all cases. Otherwise, the resolver will not be displayed in text form.
Now enter the resolver (see figure 1 [2] and see here in turquoise) with additional, freely selected text (see here in yellow) in the text field.
%(I am the %iteration-comment of this document| )
Following the logic of our example, the final signature will look like this (see figure 2), with the resolver following the following logic:
%(I am the %iteration-comment of this document| )
%(I am the Creator of this document| )
We invite you to try out your own signature profiles and find out what works best for you.