Before closing out the Front-end Request training, we need to cover some remaining consoles. The most important console is Webhooks, the link to the Back-end process.
The goals for the article are:
- Learn basics of Administering
- Learn to Create and Maintain Webhooks
- Learn to Troubleshoot Webhooks
The primary console for Space and Kapp settings is the Settings console within each area.
The Space Settings holds a few basic pieces of information about the space (Name, slug, locale, timezone). It also holds the bundle location for the space.
The Display Type (Display Page, Single Page App, and Redirect) determines how the application works.
(for kinops, Single Page App is used)
Some of the tabs have already been covered in previous articles, Attributes, and Security.
- Platform Components covers the connection to Task and the Kinetic Agent
- OAuth defines connections to other applications
- Workflow defines basic security and configuration for the workflow engine
Kapp settings are similar to Space Settings but choices on the Space Settings tab can influence the available options.
Here you can see that there are limits on options because of the choice of Display Type on the Space Settings.
We've already covered the Attributes and Security. Fields is a list of fields that you can add to your Form and they will be searchable accross multiple Forms.
Form Types are a basic list of types that you can add to your form. Form types are just a name that is used on the General tab of the Form. The application ships with a set list of form types. The types are normally used with the bundle.
Logs for the application are under Spaces.
Data from the logs are now available in a format like Elastic search. Each entry has specific information that you can sort or filter by and the message field is searchable. For many situations, you can use a correlation id to track the progress of an item (for example, a submission) through the logs. You can also either select from the given time frames, select a custom time frame to inspect.
Example Log screen with search and filter:
Here's an example of a specific entry:
The properties are the same for each entry, although some may not be used. If there is an error it is shown in the message (a stack trace for example). That helps with searching.
Categories are optional, but are useful to organise Forms into logical groups. Selecting Categories is done on the Categories tab for a Form.
Example Category selection:
Category Creation and maintenance is similar to Form Types, except that you can add Attributes to Categories. Common attributes are icons and sort order.
Example Category definition:
Webhooks allow the front-end application to communicate with our back-end workflow engine.
When a change is made to an element in the front-end (defined by Type and Event), a webhook fires with the defined URL (after passing an optional filter). A JSON object is also sent with the URL.
Parts of a webhook (all required except Filter):
- Webhook Name - unique descriptive name
- Type - what element can trigger this Wenhook. Dropdown list changes depending if you are in a Space or a Kapp.
- Event - what action from the selected Element triggers the Webhook. Element selection defines the Event.
- URL - specific url that is called for the type|event (if the filter evaluates to true). Variables from the application are available based on the element. For example, you can use the slug of a specific form if the type|event is submission|sub mitted.
You can select the </> within the Filter and URL fields to acess variables for use in either field.
There are three additional consoles to track what happens when a webhook fires. If the webhook fires successfully, it is listed under All History.
If there is a failure, you have the option to alter URL and the Request Content and then try again.
Any Errors should be displayed in the Response Content section.
That's it for articles on the Front-end. Next we turn to Back-end processing and look at the Workflow Engine.