Page History
...
Include Page | ||||
---|---|---|---|---|
| ||||
Artifact maven dependencies snippet | ||||
groupId | info.magnolia.extforms | artifactId | magnolia-external-forms
Code Block |
---|
<dependency>
<groupId>info.magnolia.extforms</groupId>
<artifactId>magnolia-external-forms</artifactId>
</dependency> |
For Infusionsoft add this Maven dependency. It includes the External Forms module automatically. Artifact maven dependencies snippet
Code Block |
---|
<dependency> <groupId>info.magnolia.extforms</groupId> <artifactId>magnolia-external-forms- |
...
infusionsoft</artifactId>
</dependency> |
For Eloqua add this Maven dependency. It includes the External Forms module automatically. Artifact maven dependencies snippet
Code Block |
---|
<dependency> <groupId>info.magnolia.extforms</groupId> <artifactId>magnolia-external-forms- |
...
eloqua</artifactId>
</dependency> |
For IBM add this Maven dependency. It includes the External Forms module automatically. Artifact maven dependencies snippet
Code Block |
---|
<dependency> <groupId>info.magnolia.extforms</groupId> <artifactId>magnolia-external-forms- |
...
Artifact resource link groupId info.magnolia.extforms artifactId magnolia-external-forms label $artifactId.jar renderType download_link resourceType JAR Artifact resource link groupId info.magnolia.extforms artifactId magnolia-external-forms-infusionsoft label $artifactId.jar renderType download_link resourceType JAR Artifact resource link groupId info.magnolia.extforms artifactId magnolia-external-forms-eloqua label $artifactId.jar renderType download_link resourceType JAR Artifact resource link groupId info.magnolia.extforms artifactId magnolia-external-forms-ibm label $artifactId.jar renderType download_link resourceType JAR
External Forms module
The External Forms module provides functionality to render external forms configured in the third-party marketing tool as Magnolia forms. If the external service is unavailable, submissions are queued in the External Forms app for resubmission.
The module is configured in /modules/external-forms
.
...
heading | 0 |
---|---|
multiple | false |
enableHeadingAttributes | false |
enableSorting | false |
class | m5-configuration-tree |
enableHighlighting | false |
...
Node name
...
Value
...
Mgnl f |
---|
...
Mgnl f |
---|
...
Mgnl f |
---|
...
Mgnl f |
---|
...
Mgnl f |
---|
...
Mgnl f |
---|
...
Mgnl f |
---|
Infusionsoft implementation
You can connect to Infusionsoft by configuration.
The External Forms Infusionsoft module provides an example configuration in /modules/external-forms-infusionsoft/external-form-service
.
...
heading | 0 |
---|---|
multiple | false |
enableHeadingAttributes | false |
enableSorting | false |
class | m5-configuration-tree |
enableHighlighting | false |
...
Mgnl f |
---|
...
Mgnl n |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
required
External form service configuration
...
infusionsoft
...
required
Name of external service.
...
externalFormConnector
...
required
External form connector node.
...
apiKey
...
required
Your Infusionsoft API key. See Infusionsoft API Key to generate your key.
...
applicationName
...
required
Your Infusionsoft application name. See Infusionsoft API Key to create your application.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
...
externalFormParser
...
required
External form parser node.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
...
fieldMappings
...
required
Field mappings node.
Map Infusionsoft fields to defined names. Mapped fields can be accessed in emails with Freemarker tags when configuring form settings.
...
Referer
...
required
Referer field in Infusionsoft. Use form_page
in your configuration.
...
inf_field_Email
...
optional
This mapping allows your to access the inf_field_Email
field with Freemarker tag ${email}
.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
...
externalFormDataBinderClass
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
Eloqua implementation
The External Forms Eloqua module provides an example implementation for the Oracle Eloqua marketing tool.
Eloqua REST API
All communication between Magnolia and Eloqua is made strictly over the REST API provided by Eloqua.
The module uses the following calls:
Code Block |
---|
/assets/forms @GET
/assets/form/{formId} @GET
/assets/optionList/{optionListId} @GET
/data/form/{formId} @POST |
To extend the range of provided REST calls, add new annotated calls using configured client. Have a look at the code for more call examples.
REST client configuration
The Eloqua rest client configuration is in /modules/external-forms-eloqua/rest-client
.
...
heading | 0 |
---|---|
multiple | false |
enableHeadingAttributes | false |
enableSorting | false |
class | m5-configuration-tree |
enableHighlighting | false |
...
Mgnl f |
---|
...
Mgnl n |
---|
...
Mgnl n |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
<URL for your Eloqua REST API 2.0 calls, for example: https://secure.p02.eloqua.com/API/REST/2.0 >
...
Mgnl p |
---|
...
Mgnl p |
---|
...
required
Eloqua rest client configuration.
...
clientFilters
...
required
Client filters node.
...
authenticationFilter
...
required
Authentication filters node.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
...
encodedKey
...
required
Your Eloqua REST API encoded authentication key. See Eloqua REST API - Authenticating to generate your key.
...
baseURL
...
required
URL for your Rest API 2.0 calls. See Determining Endpoint URLs for more.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
...
clientFactoryClass
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
RestEasyClient
.ibm</artifactId>
</dependency> |
External Forms module
The External Forms module provides functionality to render external forms configured in the third-party marketing tool as Magnolia forms. If the external service is unavailable, submissions are queued in the External Forms app for resubmission.
The module is configured in /modules/external-forms
.
Advanced Tables - Table Plus | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
|
Infusionsoft implementation
You can connect to Infusionsoft by configuration.
The External Forms Infusionsoft module provides an example configuration in /modules/external-forms-infusionsoft/external-form-service
.
Advanced Tables - Table Plus | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||
|
external-form-service | required External form service configuration |
| required Name of external service. |
| required External form connector node. |
| required Your Infusionsoft API key. See Infusionsoft API Key to generate your key. |
| required Your Infusionsoft application name. See Infusionsoft API Key to create your application. |
| required
|
| required External form parser node. |
| required
|
| required Field mappings node. Map Infusionsoft fields to defined names. Mapped fields can be accessed in emails with Freemarker tags when configuring form settings. |
| required Referer field in Infusionsoft. Use |
| optional This mapping allows your to access the |
| required
|
| required
|
Eloqua implementation
The External Forms Eloqua module provides an example implementation for the Oracle Eloqua marketing tool.
Eloqua REST API
All communication between Magnolia and Eloqua is made strictly over the REST API provided by Eloqua.
The module uses the following calls:
Code Block |
---|
/assets/forms @GET
/assets/form/{formId} @GET
/assets/optionList/{optionListId} @GET
/data/form/{formId} @POST |
To extend the range of provided REST calls, add new annotated calls using configured client. Have a look at the code for more call examples.
REST client configuration
The Eloqua rest client configuration is in /modules/external-forms-eloqua/rest-client
.
Advanced Tables - Table Plus | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
|
eloqua | required Eloqua rest client configuration. |
| required Client filters node. |
| required Authentication filters node. |
| required
|
| required Your Eloqua REST API encoded authentication key. See Eloqua REST API - Authenticating to generate your key. |
| required URL for your Rest API 2.0 calls. See Determining Endpoint URLs for more. |
| required RestEasyClientDefinition : Rest easy client class. |
| required
|
Service configuration
The service configuration is in /modules/external-forms-eloqua/external-form-service
.
Service configuration
The service configuration is in /modules/external-forms-eloqua/external-form-service
.
...
heading | 0 |
---|---|
multiple | false |
enableHeadingAttributes | false |
enableSorting | false |
class | m5-configuration-tree |
enableHighlighting | false |
...
Mgnl f |
---|
...
Mgnl n |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
Mgnl p |
---|
...
required
External form service configuration
...
eloqua
...
required
Name of external service.
...
externalFormConnector
...
required
External form connector node.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
...
restClientId
...
required
Your Eloqua REST client ID.
...
externalFormParser
...
required
External form parser node.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
...
fieldMappings
...
optional
Field mappings node.
Map Eloqua fields to defined names. Mapped fields can be accessed in emails with Freemarker tags when configuring form settings.
...
Referer
...
required
Referer field in Eloqua. Use form_page
in your configuration.
...
emailAddress
...
required
You can access the emailAddress
field with Freemarker tag ${email}
.
...
class
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
...
externalFormDataBinderClass
...
required
Javadoc resource link | ||||
---|---|---|---|---|
|
Javadoc resource link | ||||
---|---|---|---|---|
|
IBM Web Forms implementation
You can connect to forms created in IBM Watson Campaign Automation.
The IBM forms module is configured in /modules/external-forms-ibm/external-form-service
.
If your forms contain GDPR-sensitive data, see GDPR and external forms where a GDPR IBM Watson Campaign Automation sample is explained.
Advanced Tables - Table Plus | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||
eloqua
SESSION | | SP_IDENTITY
class info.magnolia.extforms.connectors.EloquaExternalFormConnector | | VIEWVIEW
restClientId <Eloqua REST client ID> |
info.magnolia.extforms.parsers.IbmExternalFormParserEloquaExternalFormParser |
form_page |
email |
info.magnolia.extforms.services.DefaultExternalFormServiceEloquaExternalFormService |
info.magnolia.extforms.form.engine.DefaultExternalFormDataBinder.EloquaExternalFormDataBinder | |
external-form-service | required External form service configuration | ||||||||||||||||
| required Name of external service. | ||||||||||||||||
| required External form connector node. | ||||||||||||||||
| required
| ||||||||||||||||
| required Your Eloqua REST client ID. | ||||||||||||||||
| required External form | service configurationparser node. | |||||||||||||||
| required | Name of external service
| |||||||||||||||
| optional Field mappings required External form connector node. | ||||||||||||||||
| Cookies which can be shared between Magnolia and IBM, e.g. to identify the current user when pre-filling the forms. | ||||||||||||||||
| required
| ||||||||||||||||
| required External form parser node. | ||||||||||||||||
| required
|
| |||||||||||||||
Javadoc resource link | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Map Eloqua fields to defined names. Mapped fields can be accessed in emails with Freemarker tags when configuring form settings. | |||||||||||||||||
| required Referer field in Eloqua. Use | ||||||||||||||||
| required You can access the | ||||||||||||||||
| required
| ||||||||||||||||
| required
|
IBM Web Forms implementation
You can connect to forms created in IBM Watson Campaign Automation.
The IBM forms module is configured in /modules/external-forms-ibm/external-form-service
.
If your forms contain GDPR-sensitive data, see GDPR and external forms where a GDPR IBM Watson Campaign Automation sample is explained.
Advanced Tables - Table Plus | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
|
...
|
...
|
...
|
...
|
external-form-service | required External form service configuration | |||||
| required Name of external service. | |||||
| required External form connector node. | |||||
| Cookies which can be shared between Magnolia and IBM, e.g. to identify the current user when pre-filling the forms. | |||||
| required
| |||||
| required External form parser node. | |||||
| required
| |||||
| required
| |||||
| required
| .services.ExternalFormService|||||
className | info.magnolia.extforms.services.ExternalFormService | |||||
---|---|---|---|---|---|---|
renderType | asynchronous |
| required
|
IBM External Form component
...
Configuring form settings
Form settings are configured in the External Form component.
Form tab
...
Field
...
Description
...
Title
...
Title displayed above the form.
...
Text
...
Introductory text displayed below the title.
...
Form URL
...
A URL of the IBM External Form.
For the description of the other fields of the component see the part are configured in the External Form component below.
Implementing your own marketing tool
The ExternalFormsmodule includes an API to define external form services, connectors and parsers.
Implement the following interfaces and abstract class to implement a new service:
...
Javadoc resource link | ||||
---|---|---|---|---|
|
...
Form tab
Field | Description |
---|---|
Title | Title displayed above the form. |
Text | Introductory text displayed below the title. |
Form URL | A URL of the IBM External Form. |
For the description of the other fields of the component see the part External Form component below.
Implementing your own marketing tool
The ExternalFormsmodule includes an API to define external form services, connectors and parsers.
Implement the following interfaces and abstract class to implement a new service:
...
Javadoc resource link | ||||
---|---|---|---|---|
|
...
info.magnolia.extforms.parsersservices.ExternalFormParser
ExternalFormService
( classNameJavadoc resource link ExternalFormService
)info.magnolia.extforms.
parsers.ExternalFormParserrenderType asynchronous connectors.ExternalFormConnector
(ExternalFormConnector
)info.magnolia.extforms.form.engine.AbstractExternalFormDataBinder
( classNameJavadoc resource link parsers.ExternalFormParser
(ExternalFormParser
)info.magnolia.extforms.form.engine.AbstractExternalFormDataBinder
(renderType asynchronous AbstractExternalFormDataBinder
)
Here's a skeleton of what your module configuration should look like.
...