Please see https://doc.ez.no/display/EZSERVICES/eZ+Recommendation+Bundle for the current documentation
The documentation here is only due to legacy availability
The eZ Personalization Solution is a completely client-based recommendation extension that can be integrated into eZ Publish. It includes a tracking mechanism that sends usage data to the recommender tracking servers to calculate recommendations.
It can be used for
- displaying personalized recommendations that meet his interest based on a users's behavior
- providing recommendations based on the current context of a user (the content itself)
- push defined content (e.g. paid and non-paid)
- cross-recommend content (e.g. users who read this article also watched this video)
- provide information about the current content (e.g. how many users are currently watching the content that recommendations are requested for)
- provide search suggestions and matching content
In order to enable the extension, some preparation is needed which covers the following
- Install the bundle -> https://github.com/ezsystems/EzSystemsRecommendationBundle
- Register an account (a so-called mandator) via email@example.com
- Allow access to the eZ instance's API
- Define what should be tracked and enable the tracking -> https://github.com/ezsystems/EzSystemsRecommendationBundle#tracking-of-users-activity
- Define the content to be imported
- Style and enable the rendering of recommendations -> https://github.com/ezsystems/EzSystemsRecommendationBundle#displaying
Whitelisting to access the eZ API
YC needs to access the API of an eZ installation in order to sync customer data. If a whitelist of IPs is needed, use the following ones
Content types to be tracked
Define the list of content types, their identifier and the language that should be tracked and recommended. You can only recommend what you are tracking.
Send a complete list to firstname.lastname@example.org or contact YOOCHOOSE employees directly.
Import of customer data
Import operations could cause heavy load on the customer's server if the wrong params regarding pages and page_size are provided. Please test locally if the server can stand this load. Iterate over all the content that should be exported and if this works fine, start the initial import.
All actions related to importing data requires BASIC AUTH based on your customer ID and license-key information (available under https://admin.yoochoose.net).
You can verify the import controller of the bundle by calling the local API. To check if content interface is working as expected, please check this URI
Authorization Basic xxxxxxxx
To check if the contenttype interface is working and delivers the correct content fields:
Authorization Basic xxxxxxxx
By default the following fields of eZ Content are imported:
- categorypath (content object structure that leads from the root content to the current)
All additional data that should be delivered from the Recommendation Service to be rendered on the client-side must be configured. For examples see the table below
|content type||identifier||language||additional fields to be imported|
|16||article||eng-GB||short_description, title, image|
In case of an image, only the hyperlink is stored in the Recommender.
Send this list to YC and we will take care of the setup process.
Initial full import
It is required to make an initial import of customer data to fill the Recommender System with the data that should be delivered with a recommendation response. There is a "notification" interface on the Recommender System that triggers a full import. It can be accessed by a POST request with the following body information.
The eZ backend sends a notification automatically to the Recommender System when content was deleted or updated. With this mechanism the content of the Recommender Engine stays in sync with the customer content.
The notification URL stays the same, just the body changes:
The recommender will then later fetch this content via the API of the customer system and update the local data which can be returned in a recommendation response.
Fetching recommendations is implemented in the bundle and can be enabled in templates by following the instructions under https://github.com/ezsystems/EzSystemsRecommendationBundle#displaying
Recommendation responses contain all requested data which is available, i.e. successfully imported. For example a request
would deliver the following response
This response can be interpreted and rendered by the RecommendationBundle's own HandleBar templates.
Recommendation response V2