UTA PDF Parser - Configuration Instructions

From SmartWiki
Jump to: navigation, search
How.png This article will explain how you can implement this feature for use on your SmartSimple system.

SmartSimple's UTA PDF Parser allows for fillable forms in PDF format to be downloaded from SmartSimple, completed offline and then re-uploaded to create records within SmartSimple.

The settings page for the UTA PDF Parser is accessed through the Global Settings page, under the Integrations section.
A walkthrough of the steps end users will take to utilize a fully-functional UTA PDF Parser are available at this page: UTA PDF Parser.
A video describing the PDF Parser functionality has also been prepared and is available here: UTA PDF Parser - Video

Detailed configuration instructions are as follows:

Create a UTA PDF Parser in Global Settings

To create a new type of UTA PDF Parser, go to the Global Settings page. Under the Integrations section, click on the hyperlink for UTA PDF Parser.
Click on the "New Parser" button at the top of the page.

UTAPDFParserEditPage.png

The settings on this New Parser page are as follows:

  • Prefix - The Prefix you set in this field serves to differentiate different types of UTA PDF Parsers. The file name of the PDF template used in conjunction with this parser must begin with the "prefix" you specify.
  • Active - The Active switch exists so that you can enable or disable UTA PDF Parsers. The default for new types of parser is "disabled" ("Active" is not selected).
  • Configuration - This section contains the XML code that maps the field names in the stored PDF document to the fields for the SmartSimple record to be created.
  • Error - This non-editable section contains a timestamped log of all files uploaded to the system using the UTA PDF Parser. This section can be cleared by clicking the "Clear Error" button at the bottom of the page.

Enter XML details in Configuration Section of UTA PDF Parser

The following is an example of the XML block required to automatically create Level 2s in SmartSimple from an uploaded PDF:

<?xml version="1.0" encoding="UTF-8"?>
<utaparser>
<leveltwo>
<docid>DID</docid>
<appid>102587</appid>
<attachfieldid>1371520</attachfieldid>
<parentid>Parentid</parentid>
<keyfields>
  <typename>{32588}</typename>
  <description>DID</description>
  <eownerid>@userid@</eownerid>
  <objectid>Parentid</objectid>
  <objecttype>{23}</objecttype>
  <subject>@userid@</subject>
  <startdate>Date</startdate>
</keyfields>
<formfields>
  <startdate>SubmissionDate</startdate>
  <cf_1371453>MeetingDate</cf_1371453>
  <cf_1371454>Time</cf_1371454>
  <cf_1371456>Location</cf_1371456>
  <cf_1371460>MetWith</cf_1371460>
  <cf_1371462>MeetingPurpose</cf_1371462>
  <cf_1371464>ReportDetails</cf_1371464>
  <cf_1371465>Signature</cf_1371465>  
  <cf_1371469>InvoiceAmount</cf_1371469>
  <cf_1371472>ReportNo</cf_1371472>
</formfields>
<defaults>
  <typename>{39270}</typename>
  <objecttype>{23}</objecttype>
  <statusid>{39233}</statusid>
  <objectid>parentid</objectid>
  <eownerid>@userid@</eownerid>
</defaults>
</leveltwo>
</utaparser> 
 

The above XML code can be broken out into the following sections:

Header

<?xml version="1.0" encoding="UTF-8"?>
<utaparser>

File Locations

<leveltwo>
<docid>DID</docid>
<appid>102587</appid>
<attachfieldid>1371520</attachfieldid>
<parentid>Parentid</parentid>

Key Fields

<typename>{32588}</typename>
<description>DID</description>
<eownerid>@userid@</eownerid>
<objectid>Parentid</objectid>
<objecttype>{23}</objecttype>
<subject>@userid@</subject>
<startdate>Date</startdate>

Form Fields / Field Mapping

<startdate>SubmissionDate</startdate>
<cf_1371453>MeetingDate</cf_1371453>
<cf_1371454>Time</cf_1371454>
<cf_1371456>Location</cf_1371456>
<cf_1371460>MetWith</cf_1371460>
<cf_1371462>MeetingPurpose</cf_1371462>
<cf_1371464>ReportDetails</cf_1371464>
<cf_1371465>Signature</cf_1371465>  
<cf_1371469>InvoiceAmount</cf_1371469>
<cf_1371472>ReportNo</cf_1371472>

Defaults

<typename>{39270}</typename>
<objecttype>{23}</objecttype>
<statusid>{39233}</statusid>
<objectid>parentid</objectid>
<eownerid>@userid@</eownerid>

Footer

</defaults>
</leveltwo>
</utaparser> 

The following section explains the purpose of each section and the meaning of the various XML tags:

Header

The Header section will always contain the XML coding as shown:

<?xml version="1.0" encoding="UTF-8"?>
<utaparser>

File Locations

The XML tags in the File Locations sections must contain values as follows:

  • docid - contains the value "DID"
    • The docid stands for “Document ID” which is a unique text string generated for each PDF generated from SmartSimple. Using the Document ID as one of the key fields will ensure that there will always be a new record created as no document will have the same DID.
  • appid - contains the application ID of the in which the new Level 2s will be created.
  • attachfieldid - contains the custom field ID of the single file or multiple file upload field to which the PDF to be parsed will be uploaded.
It is recommended that the "File Type Restriction" in the custom field specified be set to "pdf", in order to prevent files not in PDF format being uploaded to this field and creating parsing errors.
  • parentid - contains the value "parentid"
    • The parent ID is the Opportunity ID of the level 1 record. This is used by the parser to know which L1 record to attach the activity to. This is pre-populated when the PDF is generated from the L1 record.

Key Fields

    • This section will begin with the tag and will end with the closing tag.
    • The keyfields section functions as a method of duplication checking.
      • If a PDF is uploaded to SmartSimple, and the fields specified in the keyfields section match an existing SmartSimple record, that record will be updated.
      • If the fields in the uploaded PDF do not match with an existing SmartSimple record, a new record will be created.
    • The syntax is as follows:
      • typename refers to the typeid of the Level 2 being uploaded.
      • objecttype should be set to {23}. See Entity IDs for further information.
      • See the article Database Field Names for further examples of fields that can be specified.
    • Any field that is added in the keyfields section will also have to be referenced in the formfields section below.

Form Fields / Field Mapping

This section will begin with the tag and will end with the closing tag. Within the tags, the fillable PDF fields are matched up with (or "mapped to") the relevant fields in SmartSimple, using the following syntax:

    • For standard fields, the XML tag will be the database field name of the standard field. The value within the tags will be the name given to the fillable field on the PDF.
Example: SubmissionDate
    • For custom fields, the XML tag will be the custom field ID of the custom field, prefaced by "cf_". The value within the tags will be the name given to the fillable field on the PDF.
Example: MeetingDate
    • Autonumber fields can be included using the following syntax (note the letter 'a' after the field ID):
 ~0

Defaults

    • The defaults section tells the system which Level 2 Type to use for the creation of the SmartSimple record, and to which status it should be set.
    • The following syntax is used:
      • typename refers to the typeid of the Level 2 being uploaded.
      • objecttype should be set to {23}. See Entity IDs for further information.
      • statusid should be set to the status ID of the status to which the Level 2 to be created should be set. See Determining the statusid for more information.
      • objectid should be set to the value parentid.
      • eownerid should be set to the value @userid@.

Footer

The Footer section will always contain the XML coding as shown:

 

Create a Fillable PDF Form

See Also

Why.jpeg Click here to learn why this feature is a benefit to your organization.