Add the Collectors Bundle to a Project
Introduction
Goal
Add the Collectors Bundle, which contains commonly used collectors, characteristics, and UI plugins, to a Bloomreach Experience Manager implementation project.
Background
The Relevance Module contains several collectors that are not bootstrapped by default. To make it easier to add these collectors to a project a Collectors Bundle has been created. The bundle is available as a jar file and contains commonly used collectors, characteristics, and UI plugins. This page describes what the bundle contains and how it can be used in a project.
Installation through Essentials
As of Bloomreach Experience Manager v12.1, the Relevance Collectors Bundle can be installed into your project through Essentials (v4.1). If you start developing a new project, ensure that you "Make use of Enterprise features", navigate to the Library tab in Essentials, locate the Relevance Collectors Bundle feature and click "Install feature". Essentials then applies the steps documented for manual installation below to your project. Rebuild and restart your project, and configure the collectors as described below.
Manual Installation Instructions
Add the bundle as a dependency to the pom.xml file of your project’s cms module:
<dependency> <groupId>com.onehippo.cms7</groupId> <artifactId>hippo-addon-targeting-bundle-collectors</artifactId> </dependency>
Some collectors in the bundle require additional configuration, as described in Configure Collectors below.
Contents of the Collectors Bundle
Provided Collectors
The Collectors Bundle provides configuration for the following collectors:
Class Name |
Collects |
DayOfWeekCollector |
The (server side) day of the week a visitor is viewing pages. |
DocumentTypesCollector |
The type of documents a visitor has viewed. |
GroupsCollector |
The groups a logged-in visitor belongs to. |
ReferrerCollector |
The external web page that led the visitor to our site. |
ReturningVisitorCollector |
Whether the visitor has visited the site before or not. |
TagsCollector |
The tags on documents a visitor has viewed. |
CookieCollector |
The HTTP cookies assigned to a visitor. |
PrincipalsCollector |
The name of the currently authenticated visitor if the visitor has been authenticated. |
Provided Characteristics and Plugins
Visitor data for a collector is only updated if a corresponding characteristic has been configured for it. This is done to minimize the volume of visitor data and the number of back-end calls. The bundle provides characteristics (with corresponding UI plugins) for the following collectors:
Collector | Characteristic | Pre-configured Target Groups |
DayOfWeekCollector | visits the site on a (day of the week) | Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Weekend |
DocumentTypesCollector | mostly looks at (content type) | |
GeoIPCollector | comes from (continent) | Africa, Asia, Europe, North America, Oceania, South America |
GroupsCollector | is logged in as (group) | |
ReferrerCollector | is referred from (url) | |
ReturningVisitorCollector | is a (returning or new visitor) | New visitor, Returning visitor |
These collectors will therefore update visitor data after adding the bundle to your project. These collectors also come with a characteristics plugin so that the visitor data can be used to set up target groups for personalization.
Characteristics and UI plugins are not provided for the following collectors:
Collector |
TagsCollector |
PrincipalsCollector |
These collectors will not update visitor data. If you want to use the collected data for personalization you will have to write your own characteristic and UI plugin.
Configure Collectors
The Collectors Bundle cannot provide all bootstrap configuration because some collectors require project specific configuration.
CookieCollector
The following optional property controls which cookies are collected:
Property name |
Type |
Example |
cookies |
Multi-valued String |
cartID, domain1.user.prefs |
The cookie name matching is case-sensitive, so ‘cartID’ will not match ‘CartID’.
If the cookie name contains dots, the collector will replace them by underscores (see section Dots in fields for more information) .
This collector only collects request data and does not update visitor data. As a result you cannot use this collector for personalization and a characteristic and UI plugin are not available.
RequestParamsCollector
This collector is bootstrapped by default via the Relevance Module. The values of those request parameters specified in the ‘params’ property will be saved as targeting request data.
Property name |
Type |
Example |
params |
Multi-valued String |
q, query, search |
The parameter name matching is case-sensitive so ‘Q’ will not match ‘q’.
If the parameter name contains dots then the collector replaces them by underscores.
This collector only collects request data and will not update visitor data. As a result you cannot use this collector for personalization and a characteristic and UI plugin are not available.