IArtifactCreateAddin

Add-in that is triggered just before an artifact is uploaded to the application. It allows to modify the artifact or the information to be added to the artifact.

Triger Event(s): Just before document creation
Table 1. IArtifactCreateAddin interface methods declaration and description
Method Description

prepare

Allows the ArtifactCreateRequest to be modified to add/remove or alter existing parameters, before creating the document

Parameter

Type

Description

ArtifactCreateRequest

ArtifactCreateRequest

Information necessary for the creation of the artifact

Returns

Type

Description

-

-

-

Table 2. ArtifactCreateRequest structure and element description
Artifact Create Request

Parameter

Type

Description

artifact

byte[]

Artifact in byte array format

template

String

Artifact template

artifactType

ArtifactType

Artifact type (Currently supported type is PDF_DOCUMENT)

orientation

Orientation

Orientation of the artifact

texts

HashMap<String, TextRequestField>

Container of all the requests to add text fields to the artifact

textBlocks

HashMap<String, TextBlockRequest>

Container of all the requests to add text blocks to the artifact

checkboxes

HashMap<String, CheckboxRequestField>

Container of all the requests to add checkboxes to the artifact

radioGroups

HashMap<String, RadioRequestGroup>

Container of all the requests to add radio buttons to the artifact

signatures

HashMap<String, SignatureRequestField>

Container of all the requests to add signature fields to the artifact

images

HashMap<String, ImageRequestField>

Container of all the requests to add images to the artifact

addins

HashMap<String, String>

Container of all the add-ins to be used specifically with this artifact

variables

ArtifactVariables

New USER variables may be added and removed freely, SYSTEM variables are readonly

barcodes

List<BarcodeRequest>

Container of all the requests to add barcodes to the artifact

Table 3. Variables that may be added to the artifact context by the user
Artifact Variables

Scope

Variable

Description

Artifact

PARENT

Unique identifier of the parent process of the artifact

PLUGIN_TEMPLATE

Signature Plugin Template for Handwritten signature on artifact

TRANSCRIPTION_TEMPLATE

Plugin Template for Transcription signature on artifact

OTP_PROVIDER

OTP Provider used for a given artifact or field

SHOW_NOTICE

Notice to be displayed on web page

BRAND

Entity or organization. Used to identify visual templates

BARCODE_MESSAGE

Barcode default message

QR

Defines if QR codes at top left of screen are enabled

AUTO_SUBMIT

Defines if the document auto submits when the submission requisites are met

SIGN_DELETE_CONTRAINT

Defines if the document requires the signatures to be deleted in the reverse order they were added

INTERACTABLE_BOOKMARKS

Defines if the document can be interacted through the bookmarks tab

DISPOSABLE

Defines if the document is disposable or not. [see property artifact.disposable.default]

AUTO_REMOVE

Defines if the document is should be deleted after submission or not. [see property artifact.autoremove]

Field

OWNER_ID

Owner ID card number (used for qualified certificates validation)

MESSAGE

Message to be included in signature pop-up

BOX_WIDTH

Signature box width

BOX_HEIGHT

Signature box height

STORE_SIGN

Determine if a signature must be stored in the signature repository

SIGNATURE_GROUP

Defines the signature group to which the field belongs

SIGNED_BY_USER

Indicates who signed the field

SIGN_TIMESTAMP

Indicates when the field was signed

SIGNED_BY_ROLE

Indicates what roles of the user that signed the field

Artifact & Field

SIGN_METHODS

Allowed signing methods on artifact

SIGN_LOCATION

The location value to associate to the signature

SIGN_REASON

The reason value to associate to the signature

ISSUERS

The certificate issuers allowed to sign the field

ALLOW_NONQC

Allows or not for the usage of non-qualified certificates for signing purposes

ALLOWED_TYPES

Defines the type of certificate signing purposes (SIGN,AUTHENTICATION or ALL)

eSign brings an out-of-the box implementation for this interface that is described below
Table 4. Available implementations for IArtifactCreateAddin
Implementation Default Description

DefaultArtifactCreateAddin

Does nothing

Configuration

First the add-in needs to be loaded as an extension,

"_comment" : "List all the extensions to be used",
"extensions" :
[
	...

	{
        "name": "artifact-creation",
        "class": "novabase.connect.paperless.esign.core.extensions.impl.DefaultArtifactCreateAddin"
    },

	...
]

Optionally, set as the default add-in by establishing the class path for the type "artifact_create"

"_comment" : "List all the default addins to be used",
"addins" :
[
    ...

    {
        "type": "artifact_create",
        "extension": "artifact-creation"
    },

    ...
]