Form Connectors expose a public endpoint where WebForm data can be submitted into an ArcESB flow.
The public web endpoint exposed by a Form Connector allows clients to fill out Form data and submit this data into an Arc Flow.
Forms are created within the Form Connector configuration panel. Forms are divided into sections and details, each of which can have a variable number of Form fields. More details can be found in the Creating Forms section.
When Form Connectors are used to submit new data, the Form Connector should typically be at the start of a connected Flow. Clients can connect to the web endpoint, view and fill out the form, and submit this data into the configured Arc Flow. More details can be found in the Submitting New Form Data section.
Settings related to the core operation of the connector.
- Connector Id The static name of the connector. All connector-specific files are held in a folder by the same name within the Data Directory.
- Connector Description An optional field to provide free-form description of the connector and its role in the flow.
- Form URL The public endpoint/URL where clients can access the WebForm, fill out Form fields, and submit the data to Arc.
- Success Message The confirmation message that users will see after successfully submitting Form data.
The Form designer supports building a set of Form fields organized by Sections and Details. When clients connect to the configured Endpoint and submit a Form, they will see the field layed out as configured in this panel. For more information, please see the Creating Forms section.
Settings that determine the folder on disk that files will be read from, and the folder that they will be received/written to.
- Input Folder (Send) The Form connector does not process files placed in the Input folder.
- Output Folder (Receive) When a client submits Form data, the connector will write the Form data file to this folder. If the connector is connected to another connector in the flow, files will not remain here and will instead be passed along to the Input/Send folder for the connected connector.
- Processed Folder (Sent) The Form connector does not place files in the Sent folder.
Settings for specific use cases.
- Other Settings Allows configuration of hidden connector settings in a semicolon-separated list, like
setting1=value1;setting2=value2. Normal connector use cases and functionality should not require use of these settings.
This tab supports creating User credentials for accessing the Endpoint. If the client is not already logged in to the application administration console, they will be prompted to enter the User/Password combination when browsing to the Endpoint.
Trusted IP Addresses
This section defines the IP addresses that are allowed to make connections. The following functions are available:
- Add Opens a modal to enter a new IP address range.
- Edit Opens a modal to modify the selected IP address range.
- Delete Deletes the selected IP address range from the list.
The following restrictions apply to this feature:
localhostcannot be modified or removed from the list.
- Ranges are supported. For example, the entry
126.96.36.199-15would indicate that IP addresses between
188.8.131.52would be allowed. Any IP addresses outside of that range would be rejected.
- Wildcard patterns are supported. For example, the entry
100.10.100.*would indicate that IP addresses beginning with
100.10.100would be allowed. Any IP addresses outside of that range would be rejected.
A Form can have Fields, Sections, and Details:
- Field - An input box with a label to where users enter Form data
- Section - A heading that groups Fields together
- Detail - A section that may repeat a variable number of times
Fields are the basic unit of input for the Form. The ‘Available Fields’ list on the right displays the Fields that can currently be added to the Form. New Fields can always be created by clicking on ‘New Field’ and specifying the Field name.
Sections divide Fields in the Form by categorizing them under a heading. For example, the ‘Ship To’ section may contain fields like Address, City, and Zip.
Sections are not required to add Fields to the Form, but may help users understand the Form at a glance. A Section can be expanded to make room for more fields by clicking the + button.
Adding Fields to the Form
Fields are added to the Form by dragging the Field from the Available Fields list into the darker regions of the Form editor. It may be necessary to expand the region with the + button to add space for new Fields. Each ‘row’ added with this button fits two Fields.
Fields (and Section headings) can be dragged around to customize the layout of the Form.
Details should be used when some set of Form fields will be repeated a variable number of times, like having a variable number of Line Items as part of a Purchase Order, or a variable number of Addresses for a customer.
When filling out the Form, users can add as many instances of a Detail as required for their particular data set. So, if a user needs to submit Purchase Order data with three Line Items, they can add two ‘line item’ Details (to the initial one) and fill each one out with data from a specific line item.
Submitting New Form Data
After creating the Form in the Form Editor, users can access the Form Connector’s web endpoint and submit data via the Form.
For Fields in the main Form, users simply enter the values that correspond to the labels on the Form (which are taken from the name of the Fields dragged into the Form Designer).
For Details, users should click the + button for each additional instance of the Detail they intend to fill out.
Once a user has submitted a Form, the data is pushed to the Output/Receive folder of the Form connector. This output is an XML file with the following structure:
<Items> <FormTitle> <FieldA>data</FieldA> <FieldB>more data</FieldB> <FieldC>yet more data</FieldC> <DetailTitle> <SubFieldA>123</SubFieldA> <SubFieldB>456</SubFieldB> </DetailTitle> <DetailTitle> <SubFieldA>135</SubFieldA> <SubFieldB>246</SubFieldB> </DetailTitle> </FormTitle> </Items>
This output is well suited to being processed by an XML Map Connector so that it can be mapped into an XML format usable by another connector.