FXM.Web is a much bigger subproject than FXM.Analytics
. It allows to track views of external pages, to crawl website content and to edit non-Sitecore pages using the Sitecore
1. FXM.Web Site Configuration
To connect with your website, you should configure the Sitecore Federated Experience Manager and add one row of js code to the site pages (or master pages).
[Notice that the only pages with js code can be supported by this module.]
To configure your website you just need to create a Site Definition item (use template Federated Experience Manager/Web/External Site) under the “Content/Federation Experience Manager” location, fill all required fields and of course publish it.
Please specify the protocol and Primary Host Name (like “netzkern.de”). If you have a multi domain website, you can specify it in the “Additional Host Names” field.
2. FXM.Web Site Resolver
When the Site Definition item has been published, FXM site resolver updates the site configuration. The Federated Experience Manager has its default site resolver, but you can create your custom one. To configure your custom resolver, you need to create a Site Resolver item, define the resolver type and fill in the default site properties.
Then you need to select the Site Resolver item in your Site Definition item’s field “Site Resolver” in “Site Configuration” section.
3. FXM.Web Crawling
Now when your site is configured, you can crawl it. But first you should understand why you need to do it. Actually mirror items contain all tracking and personalization settings. So if the item is not existing, the analytics and personalization is disabled for the page.
To crawl a website you need to select your Site or Page Definition item and click the “Crawl” button in the ribbon:
Or you can do it from the Crawl Editor. Select “Federation Experience Manager” item and go to “Web Crawler” editor. There you can run and stop crawl processes for each website. Also you can see crawl statistics for each website.
3.1 FXM.Web Page crawling
Actually pages can be crawled in 3 different ways:
1. By crawling a website
2. In the Sitecore Page Editor by clicking the menu link that redirects you on it
3. When you open an external page (that contains js code) in your browser
[Notice: page will be crawled only if crawling configuration allows it.]
4. FXM.Web Crawl Configuration
All crawl settings are located in the section “Crawl Configuration”. Here you can specify the crawl provider. By default “aBot” crawler is used. If you need to crawl only some parts of your website, you can define the start page in the field “Crawl Root Path”. It should be a path to any existing page like “/products/new products.html”.
In the field “Template Definition Rules” you can define different templates for your mirror items.
In the field “Tracking Configuration Rules” you can assign specific tracking settings, profile cards, events, goals etc.
When you have crawled your website, you have your mirror items tree. The mirror items do not contain page content, but only the path to it.
5. FXM.Web Language Resolvers
If your website is multilingual, you should not create different mirror items trees for different languages. You just need to configure your language resolver and the Federated Experience Manager will create a new language version of your mirror item.
By default, FXM provides two language resolvers: Query String and URL-Segment resolvers. The first option reads Query Strings, looks for parameters defined in the field “Parameters” and maps into Sitecore Language using “Language Mapping” field. The other option reads page URL segments to retrieve the language.
When the language resolver is configured, select it in the field “Language Resolver” of your Site Definition item in the “Language Configuration” section.
6. FXM.Web Analytics
There are two additional ways to collect analytics data for your external pages:
1. Using the Tracking Settings Field
2. Using the Web Tracking Rules
Each Page Definition item contains such fields. But if you go to the Site Definition item, you will find 2 additional fields that start with “Common”. It means that this setting is running for each page item of the site.
Tracking Settings functionality works in the following way. You can create Tracking Settings item under the Tracking Settings folder, assign some analytics on it and then select this item in the “Tracking settings” field of your mirror item. Afterwards, all its tracking settings will be true for the mirror item.
“Web Tracking Rules” field contains actions and conditions that allow you to collect analytics for each of your pages.
When you have configured your mirror item analytics, you need to publish it.
7. FXM.Web Personalization:
Another nice Federated Experience Manager (FXM) feature is personalization. It allows you to edit your non-Sitecore pages using the Sitecore Page Editor.
Open your page item in the PE mode. In the “View” you can see a button “Fxm”. It switches the Fxm PE functionality on or off. This button is automatically disabled if “Designing” or “Editing” submodes are disabled.
Actually in this submode FXM module extends the standard Sitecore Placeholders functionality, providing ability to create Sitecore placeholder before/instead/after of any html element on the page.
By using the blue “WebEdit” button with the arrow you can select parent elements. When you click on any add button, a popup window will be opened where you can enter the name of your new placeholder. Then you will see a new placeholder before/instead/after the selected html element, according to your action.
When you click “add to here”, you will have the ability to add some rendering to the placeholder.
If you select FXM “Content Field Renderer” you will see all renderers that are created under the “/sitecore/content/Federated Experience Manager/Content Blocks/” location
When a user creates a new placeholder, FXM creates a new Placeholder Selector item (if it is not exists) and saves it in the Page Definition item’s field Placeholder Selector.
To see changes on your external page you just need to save your changes in the PE mode and publish your item.
8. FXM.Web Item ID Generator
Finishing the blogpost I would like to mention one very important feature called “Item ID Generation”. As you can see, the Federated Experience manager (FXM) can collect a lot of analytics data for your pages. All this data is connected to items by their IDs. So if you remove an item and then create the same item again with the same ID, analytics data will not be lost. That’s why FXM uses its ID generator. When you create a page item, it generates the ID by such parameters as the site item ID, page item path and page item template ID.