CMS Usage Statistics - BloomReach Experience - Open Source CMS

This article covers a Hippo CMS version 11. There's an updated version available that covers our most recent release.

29-08-2016

CMS Usage Statistics

User Interface improvement programme

At Hippo we want our users to have an excellent user experience. With Hippo CMS 10 we started the roll out of our UI improvement programme with a restyling of the entire user interface. Over the coming releases, we'll be gradually improving the flow of the user throughout the system. We’re using Lean UX methodologies to improve our user interface as we want to make absolutely sure that we’re going into the right direction. To test our assumptions, we’re collecting UI usage statistics from the CMS. This allows us to better understand how the system is being used - and what we should work on. The data collected contains metrics on which perspectives have been opened, which buttons have been clicked, etc. No content or configuration of the customer will be transmitted to our data centers. We will not use this info for any other purposes than improving our products and services. Our privacy statement is explained on our  Terms & Conditions page.

Which information is collected?

Hippo CMS sends usage data about specific UI events, next to the usual browser data such as IP address and browser type:

  • Hippo CMS version number
  • Content type and Events
  • CMS Language
  • Unique user identifiers

The list of collected events is expected to grow in future releases of Hippo CMS. See our privacy policy for further details about how this data is used.

Disabling the collection of usage statistics

By default, the collection of usage statistics is enabled. If desired, it can be disabled via a repository configuration property or a Java system property. This will prohibit us from learning from your user's experiences with Hippo CMS. 

Repository configuration property

Whether usage statistics are collected or not is determined by the following boolean repository configuration property:

/hippo:configuration/hippo:frontend/settings/@send.usage.statistics.to.hippo

Its default value is true. Disable the collection of usage statistics by setting it to false. For example, use a  contentpropset initialize item:

<sv:node sv:name="myproject-disable-usage-statistics">
  <sv:property sv:name="jcr:primaryType" sv:type="Name">
    <sv:value>hippo:initializeitem</sv:value>
  </sv:property>
  <sv:property sv:name="hippo:sequence" sv:type="Double">
    <sv:value>30000</sv:value>
  </sv:property>
  <sv:property sv:name="hippo:contentroot" sv:type="String">
    <sv:value>/hippo:configuration/hippo:frontend/settings/send.usage.statistics.to.hippo</sv:value>
  </sv:property>
  <sv:property sv:name="hippo:contentpropset" sv:type="String">
    <sv:value>false</sv:value>
  </sv:property> 
</sv:node> 

Java system property

Another way to disable the collection of usage statistics is to set the Java system property  send.usage.statistics.to.hippo to false. For local development, set this system property in the systemProperties section of the Cargo plugin configuration in the root pom.xml file of your project. For example:

<profiles> 
  <profile>
    <id>cargo.run</id>
    <build>
      <plugins>
        <plugin>
          <configuration>
            <container>
              <systemProperties>
                <send.usage.statistics.to.hippo>false</send.usage.statistics.to.hippo>
              </systemProperties>

Technical background

The CMS frontend publishes certain client-side events to a JavaScript event bus. Other JavaScript components in the CMS can subscribe to these events and react to them. When the collection of usage statistics is enabled, the CMS includes an external JavaScript file that monitors all those published events and forwards them to our data service. The external JavaScript file is loaded asynchrously to prevent it from degrading the CMS UI performance.

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?