Data Portability
Create data definitions to extract user-related data and render it in frontend
The Data Portability app is an app which allows you to do two things:
- Create data definitions in the backend which contain configurations for extracting user-related data
- Render those data definitions in frontend, and allow users to download the data
As can be inferred from this, the app consists of two parts:
- A configurable app for creating data definitions
- A paragraph app for rendering data definitions in frontend
In this document we will look at the configurable app.
Data Definitions and Data Groups
A data definition is, well, a definition of the data you want to make available for download. A data definition consists of one or more data groups, which in turn contain data item types.
Displayed is a data definition called Default with the data groups User, Content and Ecommerce, and User contains four data item types:
All of this is a fairly complicated way of saying that you use providers to extract data about a user and their activity, and that you can group the data together when it makes sense.
To create a data definition:
- Go to Settings, and from the node GDPR choose Data Portability
- Click the '+'-icon when hovering over the Data Definitions node
- Enter a Name and click Save and close
A data definition can contain of as many data groups as necessary – each data group can be viewed as a rough grouping of related data, e.g. content data such as comments and form submits.
To create a data group:
- Click the '+'-icon when hovering over a created Data Definition e.g. Default (not the node called Data definitions)
- Enter a Name and click Save and close
The data grouped in the data group is retrieved by data item types.
Data Item Types
A data item type is a configuration which uses a provider to extract data associated with the user from the solution.
To create a data item type:
- Click on the data group
- Click New Data item type on the dashboard
- Provide a Name and choose a Provider
- Click Save and close
DW10 ships with a set of data providers which can extract various types of data related to a user:
Provider | Data extracted |
---|---|
CommentDataProvider | Comments on pages, products, etc. which have been added to the Comment table in the database |
FavoriteListDataProvider | Favorite lists |
FormSubmitDataProvider | Form data submitted using the Forms for Editors app |
OrderDataProvider | Orders & Carts with their order lines |
PaymentCardDataProvider | Saved credit card information |
SQLDataProvider | See below |
UserAddressDataProvider | Secondary addresses associated with the user |
UserDataProvider | Standard user fields |
UserExternalLoginDataProvider | External login data, e.g. Facebook login associated with the user |
Should the preconfigured providers not be adequate, you can use the SQLDataProvider to extract data from other parts of the system.
This provider, unlike the others, must be configured:
- Select a database table to extract data from
- Select one or more columns to include in the download - if nothing is selected, all columns will be included
- Select the column name containing the UserId to extract data based on