UTA PDF Parser - Configuration Instructions
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 Business & System Configuration 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:
Contents
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 Business & System Configuration section, click on the hyperlink for UTA PDF Parser.
Click on the "New Parser" button at the top of the page.
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}</objectname> <statusid>{39233}</statusid> <objectid>parentid</objectid> <eownerid>@userid@</eownerid> </defaults> </leveltwo> </utaparser>
The above XML code can be broken out into the following sections:
<?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> |
</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> <leveltwo>
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 <keyfields> tag and will end with the closing </keyfields> 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 <formfields> tag and will end with the closing </formfields> tag. Within the <formfields> 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: <startdate>SubmissionDate</startdate>
- 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: <cf_2676299>MeetingDate</cf_2676299>
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@.
The Footer section will always contain the XML coding as shown:
</leveltwo> </utaparser>
Create a Fillable PDF Form
- Fillable PDFs can be created using:
- Adobe LiveCycle
- Adobe Acrobat
- Any other software that allows for the modification of form XML
- For information on creating fillable PDF forms, please visit Adobe's help pages, for example: http://www.adobe.com/content/dam/Adobe/en/products/acrobat/pdfs/adobe-acrobat-xi-convert-forms-into-fillable-pdf-tutorial_ue.pdf