The 5.7 branch of Magnolia reached End-of-Life on December 31, 2023, as specified in our End-of-life policy. This means the 5.7 branch is no longer maintained or supported. Please upgrade to the latest Magnolia release. By upgrading, you will get the latest release of Magnolia featuring significant improvements to the author and developer experience. For a successful upgrade, please consult our Magnolia 6.2 documentation. If you need help, please contact info@magnolia-cms.com.
Magnolia provides a sample implementation showing how you can collect leads (such as email addresses) on a web form, ask for consent, and push those leads to IBM Watson.
The example on this page makes use of the Privacy module, IBM Marketing cloud connector and External Forms IBM modules.
Note that External Forms is an EE std module and is not bundled. You should only use:
magnolia-external-forms
– provides functionality to render external forms as Magnolia forms.magnolia-external-forms-ibm
– provides a sample implementation for the IBM Watson Campaign Automation tool.
Do not include the Infusionsoft and Eloqua submodules.
In the sample implementation, the magnolia-external-forms-ibm
module (sub module of External Forms) provides a page called watsonFormSample
(and a followup confrmation
page) in the Pages app.
This page contains a simple email field form linked to IBM Watson. The form is processed using an out-of-the-box processor called XXX
The visitor consent tracking mechanism is provided using the default implementation of the magnolia‐privacy‐visitor‐manager module (sub module of Privacy module). A dedicated visitor references searcher called info.magnolia.extforms.consent.WatsonReferencesSearcher
processes GDPR-sensitive data from the forms.
Magnolia provides a sample for IBM Watson Campaign Automation but you can connect to any external form provider by writing custom forms, custom form processors in Javascript/Nashorn and your own implementation of the VisitorManager.
DIAGRAM
Configuring the sample
To enable the sample with your implementation of IMB Watson, follow the steps in the sections below.
Connect to the external database
- If you do not already have one, create a Single Opt-In database in your Watson Campaign Automation account. Make sure that
Email
is one of the fields in your database. - Once created, open the additional details and copy the Database ID.
- In Magnolia, open the configuration of the
magnolia-privacy-visitor-manager
module: Configuration app >/modules/visitor-manager/config/visitorReferencesSearchers/watson/databasesIds
- Add a property node under
databaseIds
with the Database ID you copied previously as the value.
The name of the property node is unimportant. You can add as many database ids as required. - In Magnolia, open the configuration of the
magnolia-external-forms-ibm
module: Configuration app >/modules/external-forms-ibm/config
- Add your IBM Watson credentials for the three property nodes:
clientId
clientSecret
refreshToken
XXXWhere would a customer get these credentials?
Create an external web form with a GDPR-aware email field
If you already have an IBM Watson Marketing Automation web form with an Email field, connect to it directly in the watsonFormSample
page External Form component. XXX
The External Form component in the watsonFormSample page is preconfigured to:
- Fetch data from IBM Watson once the site URL is provided.
- Ask for visitor consent before submitting the form by displaying consent checkboxes.
- Send the visitor an opt-in email for the second phase of the opt-in procedure.
To create an external web form and connect it to Magnolia:
- In your IBM Watson Automation Campaign database, create a new standard web form.
- Keep the default fields in the new form and follow the instructions in the IBM wizard.
- Publish the form.
- On the Publish Confirmation page, click Publish Site.
- In the Site Settings, copy the site URL. For example:
http://www.pages03.net/trial-magnoliainternational/<sitename>/Form
- In Magnolia, go to the Pages app and open the
watsonFormSample
page: http://localhost:8080/magnoliaAuthor/.magnolia/admincentral#app:pages:detail;/watsonFormSample:edit. - Edit the External Form sample component to add the URL of the site you just published.
The External Form component can now fetch data from IBM Watson Automation Campaign.
If you encounter problems, try refreshing the configuration of the magnolia-external-forms-ibm
module. To do so, open a property in Configuration app >/modules/external-forms-ibm/config
and close it again. This restarts the module.
Test the form and view consent in Magnolia and IBM Watson Campaign Automation
If you want to act as a visitor and test this process yourself, you must configure your Mail settings in Magnolia first.
Preview the watsonFormSample
page in the Pages app. When a visitor submits their email address in the form, they are asked to give consent for their personal data to be processed.
Once they have checked the box, their email address appears in the Tools > Visitors app. However, no consent is recorded until the double opt-in process is complete. You can see this by selecting the item in the Visitors app and clicking Update consent.
To complete the double opt-in process in this sample, the visitor must follow a link contained in an email that is sent to them and click Proceed to confirm their consent. The email visitors receive is preconfigured in the Opt-in Email tab of the IBM external forms component. See GDPR and Forms for details about configuring email options and consent duration settings.
Once the visitor confirms their consent you can see a record of it in the Visitors app:
In the Visitors app, click Show dependencies to see the link to external sources (in this example IBM Watson Campaign Automation). The clickable link takes you to your Watson dashboard (contacts list) where you can see an entry for the visitor along with the consent recorded.
Note that the other data privacy features provided by Magnolia can be used with an external source: send all data (export from JCR but also JSON from Watson), forget a visitor, delete a visitor's data (request sent to Watson).