Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: How the example works

...

This page shows how to ensure data privacy when you collect visitors' personal data on the website and store that data in an external system. In this example we collect an email address from the visitor in a web form, ask the visitor for their consent, and store the data in IBM Watson Marketing. The example uses the Magnolia External Forms IBM module and the Magnolia Data privacy API.

Table of Contents

...

Installation

...

Install the External Forms module which is an EE

...

Standard module. The module

...

is not bundled

...

with Magnolia by default.

Required artifacts:

  • External forms: eenders

...

  • external forms as Magnolia forms.

...

Do not include the Infusionsoft and Eloqua submodules.

  • (warning) External forms Infusionsoft: not needed, you can exclude this.
  • (warning) External forms Eloqua: not needed, you can exclude this.

How the example works

External forms IBM adds a page named watsonFormSample in the Pages app. The page contains a form with an email field. The form was created in IBM Watson and is rendered by Magnolia.

Image Added

When a visitor types their email address into the field and submits the form Magnolia processes the input using an In the sample implementation, the magnolia-external-forms-ibm module (sub module of External Forms) provides a page called watsonFormSample (and a follow up confirmation page) in the Pages app. This page contains a simple email field form linked to an IBM Watson Campaign Automation web form. The form is processed using an

Javadoc resource link
classNameinfo.magnolia.extforms.services.ExternalFormService
renderTypeasynchronous
 called ibm named ibm. Magnolia asks the visitor to give consent for storing personal data and how long that consent should be valid.

Image Added

The example uses Magnolia's default data privacy mechanism from the magnolia‐privacy‐visitor‐manager module which is a submodule of the Privacy module. A custom visitor reference searcher called 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.the personal data on the form.

Similar to the IBM Watson example, 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 a different external marketing automation tool or your own CRM system. See the examples for Eloqua and InfusionSoft. You need to render the forms created in the external system and process the submitted data in Java or JavaScript/Nashorn. For data privacy, use the Magnolia default 

Javadoc resource link
classNameinfo.magnolia.consent.visitor.VisitorManager
renderTypeasynchronous
 or implement your own.

Image Modified





Configuring the IBM Watson sample

...

  1. 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. 
  2. Once created, open the additional details and copy the Database ID.
  3. In Magnolia, open the configuration of the magnolia-privacy-visitor-manager module: Configuration app > /modules/visitor-manager/config/visitorReferencesSearchers/watson/databasesIds
  4. 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. 
  5. In Magnolia, open the configuration of the magnolia-external-forms-ibm module: Configuration app > /modules/external-forms-ibm/config
    and onfigure your watson url for /modules/external-forms-ibm/rest-client/watsonCampaignAutomation@baseUrl.
  6. Add your IBM Watson credentials for the three property nodes:
    • clientId
    • clientSecret
    • refreshToken

...