Infiniti uses the .NET Extension Model to allow extensible modular components to plug into various aspects of the platform, allowing Infiniti to cater for many integration requirements and possibilities, including:
- Delivering data and documents to a document management system via an Action Extension;
- Extracting data from third-party systems via a Data Source Extension;
- Authenticating against an existing user base via a Membership Extension; or
- Extracting content from a document management system via a Library Extension.
There are seven Extension types (blue squares in Integration Architecture Diagram) and outlined in the table below, which are detailed in the sections that follow.
Actions are the most widely used Extension types. Actions are designed to take the data entered in the eform and/or generated documents and deliver them to another system (eg. CRM / email). These Actions are triggered at either a transition step in workflow and at the final submission of a completed eform or scheduled service.
For example, the Email Action allows an email message to be sent automatically on completion of an Infiniti process to a specified person with a personalized message and attachment payload.
Infiniti comes packaged with the following Action providers:
- Display Message
- Save to Disk
- Save to SQL Server Database
- Save to Oracle Database
- Send Email
- Add Message to management Console
- Send to REST Service
- Post to Webhook
- Push Notification
- Project Results To SQL
Actions Providers often require parameters to be able to pass the payload between the various Internal (or external) system. There are several types of input parameters that may be relevant to these actions:
- Connector Settings – these are configured in Manage and are global in nature, affecting all projects using the action. In some cases, these global settings can be overridden by action attributes within each project.
- Action Attributes – these are configured in Design on the Properties tab when you add the action to your project, and only affect that instance of the action.
- Documents – some actions are designed to use the documents generated or attached to the project. You can control which documents will be passed into the action, and which document format they should be sent in (e.g. PDF). You can configure this on the Documents tab in Design after adding an action.
Some actions also return Action Outputs after execution, which can then be referenced as inputs to subsequent actions in the project.
Your projects may include multiple actions, which are to be executed one after the other in the order they appear.
Actions can also be configured to repeat for each row of a data source question, or for each item in a repeating section. For example, you may wish to send an email to each person selected in a data source.
Data Source Extensions are widely used to retrieve external information from within an Infiniti project from an external database, repository or info system.
You may wish, for example, to recover a list of folders from an EDRMS as a data source to then store the generated documents from Infiniti. Another example, there may be a list of states you’d like to make available for the user to select from in a drop-down list in an Infiniti form, i.e. country list/postcodes.
Infiniti comes with these standard data source providers:
- RSS Feed
- Web Service
- SQL Server
Data source providers are configured via Infiniti Manage Portal, where administrators will need to define the required connection information and any data objects (e.g. tables/views) that may be required.
Once the data source is configured and saved in Infiniti Manage Portal, it is available for use within all future project designs. The Design Portal allows you to connect your projects to the data source - you can configure data filtering, sorting and other relevant display information ensuring that the correct data is available for your project. Information can be return in a single row or multiple rows formats which can be used to feed data to repeating sections or drive data into repeating actions.
Custom question extensions provide the ability to create new types of questions that can be rendered in web forms. For example, you may wish to display an interactive map within a web form.
Once configured in your environment, custom questions become available within Design to drag and drop on your project’s question sets as you would any other built-in question type.
Note that custom questions are not supported by the Infiniti GO app for Windows or iOS. If you use a custom question in a project, that form will only be able to be used in Produce using a web browser.
Content library extensions are used to connect to alternative content library repositories, allowing external content to be registered as a reference in the Infiniti content library. This external content can then be consumed by projects using content library questions.
For example, you may wish to register content stored in a corporate Document Management System for use within Infiniti. Out of the box, Infiniti comes with the Infiniti Content Library Provider to use content stored within its own content library.
If using a custom library provider, you can specify the location of new content you add to the content library in Infiniti Manage.
Escalations can be configured as part of workflow transitions, and are executed based on a schedule. Escalation providers can be used to create custom functionality when an escalation schedule event occurs, for example updating an external system.
Infiniti comes with two built-in escalation providers:
- Send Email
State Extensions are executed by Infiniti Produce during web form usage and can provide custom functionality when the user navigates between form pages, or when the ‘Save’ button is pressed by the user. State providers can also display custom HTML elements on the page.
For example, a state provider may be used to provide a custom Help button that’s always visible during a form and, when pressed, display custom help information to the user.
Membership Extensions make it possible to use a third party system to authenticate users based on credentials collected by Infiniti’s login page, or passed in via web service calls.