Difference between revisions of "Mapping Fields from Customised Forms"

From Hornbill
Jump to navigation Jump to search
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
This document can now be found at its new location in the [https://docs.hornbill.com/servicemanager-config/customize/mapping-fields-from-customized-forms/ Hornbill Document Library].
 +
 +
[[file:hornbill-document-library.png|Mapping Fields from Customized Forms|link=https://docs.hornbill.com/servicemanager-config/customize/mapping-fields-from-customized-forms/]]
 +
<!--
 +
 
<div style="border:1px solid #90C0FF; background:#D0E0FF; width:99%; padding:4px; margin-bottom:10px;">
 
<div style="border:1px solid #90C0FF; background:#D0E0FF; width:99%; padding:4px; margin-bottom:10px;">
__NOTOC__[[Main Page|Home]] > [[Administration]] > [[Progressive Capture Designer]] > Mapping Fields from Customised Forms
+
__NOTOC__[[Main Page|Home]] > [[Administration]] > [[Intelligent Capture Designer]] > Mapping Fields from Customised Forms
 
</div>
 
</div>
 
{|style="width: 100%"
 
{|style="width: 100%"
Line 7: Line 12:
 
== Introduction ==
 
== Introduction ==
  
Any information captured in customised forms results in the question and answer to be visible on the request form in a '''Questions''' collapsable section. Custom forms also support field mapping which is a mechanism that allows us to write the information to the main request table.
+
Any information captured in customised forms results in the question and answer being visible on the request form in a '''Questions''' collapsable section. Custom forms also support field mapping which is a mechanism that allows us to write the information to the main request table.
  
 
===Why would I use field mapping?===
 
===Why would I use field mapping?===
Line 15: Line 20:
 
:# to make the answers to custom questions available in email templates.
 
:# to make the answers to custom questions available in email templates.
  
The information gathered in a progressive capture custom form is stored in a table h_itsm_questions and is intended to act as a sort of audit history displaying what information was provided at the point the request was logged. This is why the questions section is not editable.
+
The information gathered in a capture custom form is stored in a table h_itsm_questions and is intended to act as a sort of audit history displaying what information was provided at the point the request was logged. Answers in the Questions section of a request can be edited. This option is only available for single-line and multi-line text fields and only for users having "Service Manager Delete Questions" or "Service Desk Admin" roles. Any other type of answers cannot be edited.
 
<br>
 
<br>
  
Line 36: Line 41:
 
===Which Database Columns Support Field Mapping?===
 
===Which Database Columns Support Field Mapping?===
  
To map a custom form answer to one of the supported database columns, the form field ID need to be set using the following format '''h_custom_a''' or appropriate column you would like to map to. The table below lists all the database columns that support field mapping and the type of content that they can hold.
+
To map a custom form answer to one of the supported database columns, the form field ID needs to be set using the following format '''h_custom_a''' or the appropriate column you would like to map to. The table below lists all the database columns that support field mapping and the type of content that they can hold.
 
<br>
 
<br>
 
{| class="wikitable" width="70%" style="text-align: left"
 
{| class="wikitable" width="70%" style="text-align: left"
Line 47: Line 52:
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_summary
+
| align = "left"            |h_summary
|                            <!-- Data Type/Capacity --> VARCHAR/255 characters
+
|                            VARCHAR/255 characters
|                            <!-- Description        --> The Summary field of a request
+
|                            The Summary field of a request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_description
+
| align = "left"            | h_description
|                             <!-- Data Type/Capacity --> TEXT/unlimited*
+
|                             TEXT/unlimited*
|                             <!-- Description        --> The description field of a request
+
|                             The description field of a request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_site
+
| align = "left"            |h_site
|                            <!-- Data Type/Capacity --> VARCHAR/64 characters
+
|                            VARCHAR/64 characters
|                            <!-- Description        --> The site field for a request
+
|                            The site field for a request
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_custom_a - h_custom_o
+
| align = "left"            | h_custom_a - h_custom_o
|                            <!-- Data Type/Capacity --> VARCHAR/255 characters
+
|                            Data Type/Capacity VARCHAR/255 characters
|                            <!-- Description        --> ''VARCHAR'' custom fields a - o each suitable for holding up to 255 characters of any type.
+
|                            Description        ''VARCHAR'' custom fields a - o each suitable for holding up to 255 characters of any type.
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_custom_p - h_custom_t
+
| align = "left"            | h_custom_p - h_custom_t
|                            <!-- Data Type/Capacity --> TEXT/unlimited*
+
|                            TEXT/unlimited*
|                            <!-- Description        --> ''TEXT'' custom fields p - t each suitable for holding large amounts of text characters of any type.
+
|                            ''TEXT'' custom fields p - t each suitable for holding large amounts of text characters of any type.
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_custom_21 - h_custom_25
+
| align = "left"            | h_custom_21 - h_custom_25
|                             <!-- Data Type/Capacity --> DATETIME/a single date-time stamp
+
|                             DATETIME/a single date-time stamp
|                            <!-- Description        --> ''DATETIME'' custom fields 21 - 25 each suitable for holding a single date-time stamp (YYYY-MM-dd HH:mm:ss). These columns should ONLY be used in conjunction with a date-time picker.
+
|                            ''DATETIME'' custom fields 21 - 25 each suitable for holding a single date-time stamp (YYYY-MM-dd HH:mm:ss). These columns should ONLY be used in conjunction with a date-time picker.
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_custom_26 - h_custom_30
+
| align = "left"            |h_custom_26 - h_custom_30
|                             <!-- Data Type/Capacity --> INTEGER/any whole number  
+
|                             INTEGER/any whole number  
|                             <!-- Description        --> ''INTEGER'' custom fields 26 - 30 each suitable for holding whole numbers. When mapping to these columns, ensure the following RegEx is specified in your Custom field settings: ''[0-9]''
+
|                             ''INTEGER'' custom fields 26 - 30 each suitable for holding whole numbers. When mapping to these columns, ensure the following RegEx is specified in your Custom field settings: ''[0-9]''
 +
'''Note:''' Phone numbers are ''not'' Integers, do '''not''' use these fields to store phone numbers.
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_custom_31 - h_custom_40
+
| align = "left"            | h_custom_31 - h_custom_40
|                             <!-- Data Type/Capacity --> TEXT/unlimited*
+
|                             TEXT/unlimited*
|                             <!-- Description        --> ''TEXT'' custom fields 31 - 40 each suitable for holding large amounts of text characters of any type.
+
|                           ''TEXT'' custom fields 31 - 40 each suitable for holding large amounts of text characters of any type.
  
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_backout_plan
+
| align = "left"            | h_backout_plan
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                            <!-- Description        --> The Back Out Plan of a Change or Release Request
+
|                            The Back Out Plan of a Change or Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_support_plan
+
| align = "left"            | h_support_plan
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        --> The Support Plan  of a Change or Relase Request
+
|                             The Support Plan  of a Change or Relase Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_communication_plan
+
| align = "left"            | h_communication_plan
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                            <!-- Description        --> The Communication Plan of a Change or Release Request
+
|                            The Communication Plan of a Change or Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_test_plan
+
| align = "left"            | h_test_plan
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        --> The Test Plan of a Change or Release Request
+
|                             The Test Plan of a Change or Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_implementation_plan
+
| align = "left"            | h_implementation_plan
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        --> The Implementation Plan of a Change or Release Request
+
|                             The Implementation Plan of a Change or Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_security_implications
+
| align = "left"            | h_security_implication
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                           Text/Unlimited*
|                             <!-- Description        --> The Security Implications of a Change or Release Request
+
|                             The Security Implications of a Change or Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_change_justification
+
| align = "left"            | h_change_justification
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        --> The Change Justification a Change Request
+
|                             The Change Justification a Change Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_release_justification
+
| align = "left"            | h_release_justification
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        --> The Change Justification a Release Request
+
|                             The Change Justification a Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_release_plan
+
| align = "left"            | h_release_plan
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        --> The Release Plan for a Release Request
+
|                             The Release Plan for a Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_disruption_level
+
| align = "left"            | h_disruption_level
|                            <!-- Data Type/Capacity --> VarChar/255 Characters
+
|                            VarChar/255 Characters
|                            <!-- Description        --> The Disruption Level of a Change or Release Request
+
|                            The Disruption Level of a Change or Release Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_change_category  
+
| align = "left"            | h_change_category  
|                             <!-- Data Type/Capacity --> VarChar/100 Characters
+
|                             VarChar/100 Characters
|                             <!-- Description        --> The Category of a Change Request
+
|                             The Category of a Change Request
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_release_category  
+
| align = "left"            | h_release_category  
|                             <!-- Data Type/Capacity --> VarChar/100 Characters
+
|                             VarChar/100 Characters
|                            <!-- Description        --> The Category of a Release Request
+
|                            The Category of a Release Request
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_proposed_start_time
+
| align = "left"            | h_proposed_start_time
|                            <!-- Data Type/Capacity --> DATETIME/a single date-time stamp
+
|                            DATETIME/a single date-time stamp
|                             <!-- Description        -->  The Proposed Start date/time of the a Change or Release Request - (YYYY-MM-dd HH:mm:ss). These columns should ONLY be used in conjunction with a date-time picker
+
|                             The Proposed Start date/time of the a Change or Release Request - (YYYY-MM-dd HH:mm:ss). These columns should ONLY be used in conjunction with a date-time picker
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_proposed_end_time
+
| align = "left"            | h_proposed_end_time
|                             <!-- Data Type/Capacity --> DATETIME/a single date-time stamp
+
|                             DATETIME/a single date-time stamp
|                            <!-- Description        -->  The Proposed End date / time of the a Change or Release Request - (YYYY-MM-dd HH:mm:ss). These columns should ONLY be used in conjunction with a date-time picker
+
|                            The Proposed End date / time of the a Change or Release Request - (YYYY-MM-dd HH:mm:ss). These columns should ONLY be used in conjunction with a date-time picker
  
 
|-
 
|-
| align = "left"            |<!-- Column Name  --> h_workaround
+
| align = "left"            | h_workaround
|                             <!-- Data Type/Capacity --> Text/Unlimited*
+
|                             Text/Unlimited*
|                             <!-- Description        -->  The Workaround for a Problem or Known Error record
+
|                               The Workaround for a Problem or Known Error record
  
 
|}
 
|}
Line 167: Line 173:
 
===Considerations===
 
===Considerations===
  
* When specifying the column you wish to map to in your custom form id, '''this value is case sensitive'''. e.g. ''h_summary'' will acheive the desired mapping but ''h_'''S'''ummary'' will fail to pull any values through. Ensure that the mapped value is written in lower case.
+
* When specifying the column you wish to map to in your custom form id, '''this value is case sensitive'''. e.g. ''h_summary'' will acheive the desired mapping but ''h_'''S'''ummary'' will fail to pull any values through. Ensure that the mapped value is written in lowercase.
 
* When the option of ''value / display'' is offered (e.g. in a static drop-down list) it is the '''display''' value that will be mapped to the column.
 
* When the option of ''value / display'' is offered (e.g. in a static drop-down list) it is the '''display''' value that will be mapped to the column.
 +
* Do not store Telephone Numbers in ''Integer'' fields. At best you will lose the initial ''''0'''', even more likely is that the value will exceed the maximum allowed for an Integer and the operation will fail.
 
* If the Default '''Request Details''' form is used in your progressive capture flow, and you try to map to h_summary or h_description, the values will not overwrite or be written to the summary or description fields i.e. the standard "Request Details" form takes precedence, but the custom questions and answers will still be written to the '''Questions''' section on the request.
 
* If the Default '''Request Details''' form is used in your progressive capture flow, and you try to map to h_summary or h_description, the values will not overwrite or be written to the summary or description fields i.e. the standard "Request Details" form takes precedence, but the custom questions and answers will still be written to the '''Questions''' section on the request.
 
* If the same mapping is used on different custom forms in your progressive capture flow, the first mapping will be written to the specified default field on the request, and any subsequent mapping to the same field will not overwrite this value, but will be written to the '''Questions''' section on the request.
 
* If the same mapping is used on different custom forms in your progressive capture flow, the first mapping will be written to the specified default field on the request, and any subsequent mapping to the same field will not overwrite this value, but will be written to the '''Questions''' section on the request.
 
* When custom questions have been mapped, the question and answer are still available in the '''Questions''' section on a request as well as now being available in the mapped field. This restriction can be controlled via the application setting "guest.itsm.progressiveCapture.overwriteCustomFieldValue".
 
* When custom questions have been mapped, the question and answer are still available in the '''Questions''' section on a request as well as now being available in the mapped field. This restriction can be controlled via the application setting "guest.itsm.progressiveCapture.overwriteCustomFieldValue".
 
* Once you have configured field mapping in your progressive capture custom forms, you may need to expose the mapped field on the request. See the [[Request_Details_Form_Designer|'''Request Details Form Designer''']] for more information.
 
* Once you have configured field mapping in your progressive capture custom forms, you may need to expose the mapped field on the request. See the [[Request_Details_Form_Designer|'''Request Details Form Designer''']] for more information.
* When creating your email template, simply look for the '''custom''' options available from the variables drop down pick list. By selecting the required variable in your email template, this will pass through the answer from your custom question which has been mapped to the corresponding custom field.
+
* When creating your email template, simply look for the '''custom''' options available from the variables drop-down pick list. Selecting the required variable in your email template, will pass through the answer from your custom question which has been mapped to the corresponding custom field.
 
+
-->
[[Category:Administration]]
+
[[Category:HDOC]]

Latest revision as of 21:34, 13 February 2024

This document can now be found at its new location in the Hornbill Document Library.

Mapping Fields from Customized Forms