Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Updated for Version 4.16

Overview

In order to provide clients with ESA forms which uniquely meet their needs, Windsor has implemented a feature that allows system users to:

...

Configuration/design of each of these ESA forms is presented in this document.

Anchor
Introduction
Introduction
Introduction

The nFORM tool supports the ability to define documents that can be generated from the system. This includes Electronic Signature Agreement (ESA) forms, which are presented to external user during the identity proofing process. These documents are used to authorize online signatures, in preparation for submission and electronic signing.

...

Please note that this is an advanced topic and is only to be utilized by advanced technical staff with knowledge of software coding practices.

Anchor
ElectronicSigAgreementFormDesign
ElectronicSigAgreementFormDesign
Electronic Signature Agreement Form Design

Anchor
ESAFormattingLayout
ESAFormattingLayout
ESA Formatting/Layout

ESAs are formatted and designed using MS Word (version 2007 or higher). The MS Word document can be highly formatted and include advanced features such as headers, footers, paging, tables, etc.

Be sure to test out the layout and functionality of the template using the publishing and testing instructions in this document.

Anchor
ReferencingSubData
ReferencingSubData
Referencing Submission Data

The ESA Document Templates have the ability to access data from the submission for reference on the form. In order to access this data, the system uses Aspose.Words and an Aspose-specific variation of the LINQ coding syntax. Here are some helpful resources on the template syntax:

**Disclaimer**

This is an advanced topic and is only to be utilized by advanced technical staff which knowledge of software coding practices.

Staff should know that if errors are encountered while running these documents, it is often due to issues with coding and data being presented not fitting into the assumed structure presented in this document. Most commonly, data referenced may not be present or may be returned in a different format than expected (e.g., text value returned in what was believed to be a numeric field). These situations must be handled/pre-empted to prevent errors during document generation. Professional services may be advisable/required from Windsor to assist in the creation of these documents.

Data Attributes

The form can access data user and some system attributes (e.g., User Name, First/Last Name, Agency Name, etc.) directly.

User Name Example

The following example returns the user’s name.

<<[Principal.FirstName]>> <<[Principal.LastName]>>

Address Example

In this example, the Template is attempting to access text from the address that the user entered on their user profile. The code below performs the following tasks:

  • Defines the userAddress variable to target the first address assigned to the user (data model supports multiple addresses, but UI does not).

  • Defines the userAddressStr variable to simplify the many references to this control.

  • The siteAddressStr variable is established by concatenating all the constituent parts of the address control (e.g., street address, secondary address, city, state, zip, etc.) and to improve formatting; HTML break tags are added where needed.

  • Performs error handling to handle the situation where the user address is null.

See example below:

<<var [userAddress=Principal.Addresses.FirstOrDefault()]>><<var [userAddressStr = userAddress == null ? “”: userAddress.Street +(userAddress.Street !=null?”<p />”:””) + userAddress.AddressLine2 + (userAddress.AddressLine2 !=null?”<p />”:””) + userAddress.Locality +”, ” + userAddress.AreaCode + “ “ + userAddress.PostalCode] >>

Note: Each individual address component could be referenced separately (versus one address block, if desired).

Once defined, the userAddressStr can be referenced from anywhere in the form using the following syntax:

Address: <<[userAddressStr]:”format” –html >>

Telephone Example

The following returns all telephone numbers assigned to the user.

<<foreach [item in Principal.Phones]>><<[item.PhoneTypeDescription]>>:
<<[item.Number]>>
<</foreach>>

Email Example

The following returns the Email address assigned to the user.

<<[Principal.PrimaryEmail]>>

Other Considerations

Below are some additional considerations when presenting dynamic data attributes:

  • When defining the variables for the data to be accessed at the top of the template:

    • Perform this work at the top of the page (prior to the data attribute being referenced).

    • Do NOT add carriage returns in or between these definitions as the template will include these carriage returns in the presented document.

  • If a value is empty (e.g., not available), the value will be returned as a blank to the document. It’s worth noting that in some cases, blank values are saved in controls as a “?” to help with URL encoding. In these cases, the “?” will need to be replaced with a blank value during display.

  • Case does matter when referencing variables so be sure that your casing is in sync.

  • Configuration values (in the Vars.config, VarsOverrides.config, etc.) can be exposed to the document generator. These can be exposed by referencing the existing configuration properties in the following format:

<add key="docgen.config.settings" value="
app.title,
app.name,
message.email.appBaseUrl,
esa.recipient.organization.name,
esa.recipient.mailing.address,
hcs.recipient.organization.name,
hcs.recipient.mailing.address
"/>

Any attributes referenced here can be accessed from within the document by referencing the configuration value without periods and capitalizing secondary words. So the app.Title configuration setting will be referenced as:

<<[appTitle]>>

The esa.recipient.mailing.address configuration setting will be referenced as:

<<[esaRecipientMailingAddress]>>

Anchor
Testing
Testing
Testing

It is recommended that the ESA Document Templates be tested in a test environment, prior to publishing.

Mail-In ESA Form

Once a draft Mail-In ESA is assigned to the system, a user can download the Mail-In ESA document by selecting the “Download Mail-In Form” option in the Enable Electronic Signatures portion of the registration and identity proofing process.

...

If issues are encountered and the Mail-In ESA Form returns a runtime error, further details about the nature of the error can be found in the application logs which can be found here, [root web application folder]\App_Data\logs where root web application folder is equal to the location of the web application.

Online ESA Form

Once a draft Online ESA is assigned to the system, a user can download the Online ESA document by selecting the “Use Digital Authentication Service (recommended)” option in the Enable Electronic Signatures portion of the registration and identity proofing process. The document will be presented within the page as a part of the identity proofing and in addition, the document will be emailed to the user once identity proofing is completed.

...

If issues are encountered and the Online ESA Form returns a runtime error, further details about the nature of the error can be found in the application logs which can be found here, [root web application folder]\App_Data\logs where root web application folder is equal to the location of the web application.


Anchor
Publishing
Publishing
Publishing

Mail-In ESA Form

To publish an established Mail-In ESA template, perform the following:

...

Please note that the base Template that is shared throughout the system must be named ElectronicSignatureAgreementTemplate.docx. Also note that if the template is opened by a user, other users will not be able to download the template.

Online ESA Form

To publish an established Online ESA template, perform the following:

...