Sitecore Super User Roles

Posted on

There are often times when we need to have what I would call super users in Sitecore environments – users that need access to pretty much everything without being logged in as a Sitecore admin.

Below is the list of roles a super user should be a member of along with Sitecore’s explanation of what each roles encompasses.  Sitecore’s full documentation on the 82 different security roles is here,

  1. Analytics Advanced Testing
    • Gives the user access to see additional tabs and controls in the Marketing Control Panel.
    • You typically give this role to optimization experts, who need expanded rights when performing tests, traffic allocation, and so on.
  2. Analytics Maintaining
    • Gives the user access to the Marketing Control Panel, the Engagement Plan Designer, and the Supervisor.
    • The role gives the user permissions to create goal or page event messages and campaigns for messages.
  3. Analytics Management Reporting
    • Gives the user access to view the management reports for optimization efforts.
    • This role is typically given to users working with optimization, who wants to view management reports for the optimization efforts. The user can still perform tests, but this is not their main objective.
  4. Analytics Personalization
    • Gives the user access to the personalization functionality in the Experience Editor and in the Content Editor.
    • Members of this role can create and edit personalization rules. Users who are not members of this role can switch personalization variations.
  5. Analytics Reporting
    • Gives the user access to the Marketing Control Panel, Experience Analytics, Experience Profile, Path Analyzer, and to the Engagement Plan Monitor.
  6. Developer
    • Gives the user access to content manipulation facilities in the Content Editor, plus all the design and authoring roles normally used by client authors and client designers. It also provides access to more functionality on the ribbon of the Content Editor to allow full development features for users assigned to this role.
    • This role also has access to the Development Tools menu in the Sitecore menu, which gives the user access to further development tools, such as the Package Designer.
  7. Experience Explorer
    • Gives the user access to the explore mode in the Experience Editor and to manage the Presets of the Explore mode in the Marketing Control Panel.
    • The role is intended for marketers who set up campaigns and personalization.

Sitecore Cross-site In Session Personalization

Posted on Updated on

Assume you have a scenario with two different websites for US travel and Canada travel (“” and “”)  that have different home nodes in a shared Sitecore instance.  Marketing Control Panel content such as goals and campaigns is shared as well.

By default in session personalization works for each individual site.  Identifying and merging contacts at the end of the session allows for post session personalization (assuming the contacts have been identified) but does nothing to address the user triggering a goal on the US site and then navigating to the CA site.  Out of the box, no personalization on the CA site would kick in based on the goal triggered on the US site until after session end.

It turns out that you can share an analytics session assuming that the sites in question share a domain and you have a shared session database:

  1. Configure shared session cookies based on a domain by adding “ <httpCookies domain=””/>” (with your domain name of choice of course) in the system.web section of the web.config
  2. Configure a shared session state database (instructions for 8.2 are here)

If you want to add some diagnostics to view this real time, you can access the Tracker.Current.Session.Interaction data.  You will see it contains the same ContactId and InteractionId for both websites and the pages collection including page visits and goals triggered are in sync across both sites as well.

Voila – personalization now works for both the US and CA sites exactly the same as it normally does for a single site.

No recent interactions in the Experience Profile after switching from Lucene to Solr

Posted on Updated on

I recently ran into an issue where in some of my client’s (more active) environments we were not seeing any recent interactions in the Experience Profile.  After much back and forth with Sitecore support it was finally determined that this setting – <setting name=”ContentSearch.SearchMaxResults” value=”500″ /> –  in the Sitecore.ContentSearch.config was the culprit. By default it is set to nothing, but when I implemented Solr I followed the instructions in here which specifically tells you to set this value.

Maximum Number of Search Results

This is a global setting found in the Sitecore.ContentSearch.config file.

This setting contains the maximum number of documents to retrieve on a single request if a limit has not been specified in the query, for example, Take(10). It is important to remember, for performance reasons, when querying how many results will be returned from the query being run and to handle them correctly, for example by using paging.
<setting name=”ContentSearch.SearchMaxResults” value=”500″ />

The problem comes in because the Experience Profile dashboard loads all contacts and then afterwards performs a sort operation.  That behavior was identified as a bug as it can lead to performance issues when there are a lot of contacts.

Sitecore has given the bug the reference number 163186. The patch that fixes the issue can be downloaded at:  Of note, the config file and the dll only need to be put on CM servers.

SUGCON 2015 – Knowledge Sharing Among Sitecore Aficionados

Posted on Updated on

Sugcon_400x400_finalThe Sitecore User Group Conference 2015 was a great event organized by the community for the community. In addition to everything I learn, Sitecore events also give me a chance to catch up with colleagues (present – former – future), vendors and friends, and I always leave with renewed vigor and focus. Below are a couple of quick takeaways from two of the sessions I attended.

Read the rest of this entry »

Sitecore’s Hash Stored IPs Tool – 3 Gotchas

Posted on Updated on

Sitecore provides a tool called Hash Stored IPs that must be run when upgrading from 8.1 or earlier. I ran into a few gotchas/good to knows when running the tool.

1. ERROR: System.InvalidOperationException: Failed to validate database. —> System.Exception: Database exist but the following collections doesn’t: GeoIps

Initially the tool didn’t run at all because we were missing the GeoIps collection. If for some reason you do not have this you will need to create the collection manually for the tool to work. A bug has been reported for this – reference number 142192

2. If you have a large analytics database, this takes forever to run and has no mercy in regards to how much memory it consumes on the collection server.

Of note, we are running on much less RAM than recommended so I’m sure that is a contributor. In our case we had roughly 32 million Interactions and 10 million ClassificationMap entries. We had to stop the process after it ran for about 15 hours as it was causing memory issues in production. The good news is that it can be safely stopped and started as many times as necessary. Overall it probably took us around 20 hours to complete over several nights.

3. I was a bit alarmed when in rerunning the tool over several nights we kept having an increase the number of Interactions that were not hashed. It turns out that In 8.2 IPs are only hashed in the GeoIps and ClassificationsMap collections and Interactions that are collected post-upgrade are in slightly different format than those processed by the tool.

Hopefully this saves a few headaches for others.

Removing the “Is rendered item valid XHTML document” validation error in Sitecore 8

Posted on Updated on

To remove the “Is rendered item valid XHTML document” validation error in Sitecore:

Go to: /sitecore/system/Settings/Validation Rules/Global Rules and remove “Full Page XHtml” from all Validation rules


Go to /sitecore/system/Settings/Validation Rules/Field Types/Rich Text and remove “Full Page XHtml” from all Validation rules


XBlog on Sitecore 8 Notes

Posted on

XBlog has not been officially updated for Sitecore 8, but you can download it from and follow Brad Christie’s comments for using it with Sitecore 8.

Of note if you use IE, the presentation details for the creator are not there by default – you’ll need to copy them using Sitecore rocks (it blows up in content editor since it is in the core database).

Item in question – /sitecore/client/Applications/Launchpad/PageSettings/Buttons/Marketing/XBlog

In Rocks –
Right click – tasks – design layout – Firefox – click on the little square button at the top left to copy into IE.