Personalization Hub Manual / Version 2307
Table Of ContentsUsing CoreMedia Client-side Personalization requires the installation of at least two extensions (see Section 4.1.5, “Project Extensions” in Blueprint Developer Manual for more details about extensions):
The p13n-core extension at https://github.com/coremedia-contributions/p13n-core.
At least, one of the adapters p13n-adapter-generic (https://github.com/coremedia-contributions/p13n-adapter-generic or p13n-adapter-monetate (https://github.com/coremedia-contributions/p13n-adapter-monetate) to connect with a third-party system.
You will find the extensions in the following repositories:
https://github.com/coremedia-contributions/p13n-core
The core extensions that must be installed.
https://github.com/coremedia-contributions/p13n-adapter-monetate
This adapter connects to Monetate and provides a direct integration using the Kibo metadata API.
https://github.com/coremedia-contributions/p13n-adapter-generic
This adapter provides a generic integration base for providers without a client API. Experiences must be mirrored in the CoreMedia system with a special content type. Built-in support is included for Dynamic Yield and Evergage
You can either add the extension repositories as Git submodules, the recommended approach, or copy them
into your Blueprint workspace in the modules/extensions
folder. Copying the extensions requires more work
when upgrading the Blueprint workspace to newer releases. In the following section you will learn how to add them as submodules.
Adding Extension as Submodule
If you plan to customize the extensions, first create a fork of the repositories and add your forks as submodules. Otherwise, you can simply add the CoreMedia repositories as submodules as shown in the following example.
Add the core and adapter extensions to the Blueprint workspace as Git submodules as follows (this example uses the Monetate adapter). To do this, open a terminal window and run the following commands:
cd /<blueprint-root-dir> mkdir -p modules/extensions git submodule add https://github.com/coremedia-contributions/p13n-core.git modules/extensions/p13n-core git submodule add https://github.com/coremedia-contributions/p13n-adapter-monetate.git modules/extensions/p13n-adapter-monetate git submodule init
Example 4.1. Adding submodules
After the submodules are added, go to each submodule directory and check-out the branch matching your Blueprint version.
cd /<blueprint-root-dir>/modules/extensions/p13n-core git checkout -b <branch-name> cd ../p13n-adapter-monetate git checkout <branch-name>
Example 4.2. Checkout branch in submodule
Then commit the changes to the submodules:
cd /<blueprint-root-dir>/modules/extensions git add p13n-core git add p13n-adapter-monetate git commit -m 'Add personalization submodules'
Example 4.3. Commit changes to submodules
Now, you have to activate the extensions.
Activating the Extensions
Run the extensions tool (see Section 4.1.5, “Project Extensions” in
Blueprint Developer Manual
for more details about the extensions tool) in workspace-configuration/extensions
to activate the extensions like
this (here, the core and the monetate extension are activated):
mvn extensions:sync mvn extensions:sync -Denable=p13-core,p13n-adapter-monetate
Example 4.4. Activate extensions
Now you are done with the installation and activation of the extensions. In order to work with the extensions, you have to configure them, as described in the next sections.
Updating the Extensions
If you are upgrading your Blueprint workspace to another major release, an update of the personalization extension may be required. Check the extension's repositories for the available branches and select the branch matching your Blueprint release version or the highest release version lower than your Blueprint version.
Update the extension's submodules by opening a terminal window and running the following commands (the example shows the steps for the Monetate adapter):
cd /<blueprint-root-dir>/modules/extensions cd p13n-core git fetch git checkout <branch-name> cd .. git add p13n-core cd p13n-adapter-monetate git fetch git checkout <branch-name> cd .. git add p13n-adapter-monetate/ git commit -m 'Update personalization submodules to release xxxx.x'
Example 4.5. Updating an extension