When configuring Experience manager, you have to configure the Ambient Data Framework both for the staging site, and for the Preview Webservice. Some of the reasons for this are obvious enough, but I'm left with the idea that I don't have the full picture of what's going on.

So to start with, I'm assuming that these days ADF is pretty much the standard way for content delivery components to get access to a cookie. The staging site needs to see the XPM session token cookie so that it can grab preview content from the preview database, and it makes sense for the ADF to be used for this.

It seems also that use is made of ADF's session management, and that the end of a session triggers the cleanup of temporary files that are created by the filter/module in the web application.

It is less obvious to me why ADF needs to be present/configured for the Preview Webservice. Is there also a session cookie here? (I had assumed the session token was part of the payload.) What is the ADF used for here?

Have I understood it correctly so far? Are there other parts of the Experience Manager dance which are choreographed by the ADF?

1 Answer 1


As of Tridion 2013, it is possible to get and set claims via OData. This serves two purposes:

1) You can now configure Session Preview on websites that are not .NET or Java based, e.g. Ruby, PHP or JSF based.

2) On the product roadmap the CD layer of the Tridion stack is moving towards a web-service model so that the CD API is a basic proxy client, instead of a mountain of jars and config files.

This means that cartridges run on the cd_webservice as well as the website, and XPM is plugged in via its Session Preview cartridge. So the configuration of both, website and web service, is most likely because of class dependencies inside the cartridge.

  • I haven't seen any implementations with Ruby or PHP. Presumably the implementer would also have to build the equivalent of the module/filter that boots the ADF. But I still don't see how such an application would have any business talking to the preview webservice. Commented Dec 12, 2014 at 8:23
  • I've seen 2 PHP implementations and XPM was ruled out because in 2011 this wasn't available. Yes, a filter or module (or logic in front of all other logic, like a front controller) would need to be built to set the XPM claims, such as page publish URL. Commented Dec 12, 2014 at 14:01
  • I wrote a blog article about this a while ago so here's a shameless self-promoting link: blog.addictivesoftware.net/… It uses a jvm based language, but the principles are the same for any language/framework Commented Jan 7, 2015 at 14:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.