9

It is not documented in which Web Application Event ADF should be executed. The recommendation would be to use an event that is executed before the Request Handler is executed and after the session data and cookies are available since they are mandatory for ADF. HttpApplication.PreRequestHandlerExecute is the right event for this. Please note that ADF is ...


9

Ambient Data Framework requires the following: A valid Tridion license A Java Runtime Environment A correctly configured Tridion Content Delivery stack cd_ambient.jar & its configuration, cd_ambient_conf.xml A configured web.xml (J2EE) or web.config (.NET) with the configuration to start the J2EE Ambient Data Framework Filter or the .NET Ambient Data ...


9

You cannot access the request object directly, as cartridges are web-application-agnostic (i.e. the .NET request object is very different from the JSP one). Instead, you can access the headers and other parameters from the ClaimStore passed into your methods. The ADF automatically extracts the variables from the request and adds them as claims. For a list ...


8

I'll try to answer some of the questions I saw: Since we can set up additional claims, then this could include any other data an organization has on a given visitor, right? Anyone can add any claim to the ADF and it can have pretty much any value. So yeah, go nuts. The docs mention Footprints map to ADF keys. How are keys related to claims? The "...


7

I think the servlet-name in your filter mapping might be the problem here: <filter-mapping> <filter-name>Ambient Data Framework</filter-name> <servlet-name>Content Delivery Web service</servlet-name> </filter-mapping> So your ADF Filter doesn't come into play for your Java app, since it seems to be mapped to the ...


7

The order of cartridges are not guaranteed by default, but you can control it a little bit by declaring one cartridge dependent on the output claim of another cartridge. The caveat is that the output claim must be listed in the configuration of that cartridge (and then listed as an input claim on the dependent cartridge). So if Cartridge A declares an ...


7

I guess it should be possible. You can create your own 'data type' and its 'editor' As an exercise we created an google map editor that allow you to click on a map and put the lat/long on the adf, with a cartridge translation that to a country, this could just as easy be a dropdown that get's its value by a webservice call or something I'll do some ...


7

Try this in javascript. if (typeof $display === "object" && $display.getView().getId() === "EditorView") { //Experience Manager is enabled } Try this in C#, this also works in Tridion 2011. string sessionPreviewToken = "taf:claim:contentdelivery:webservice:preview:sessionid"; ClaimStore claimStore = AmbientDataContext.CurrentClaimStore; ...


7

For .NET Web Application the Tridion Home is dynamically setup by JuggerNET. It will check for the presence of an HttpContext, if it is true, then it will check for the presence of a Bin folder containing Config and Lib folders, if it cannot find them then it will try to find a [TRIDION_HOME] in the Environments Variables. Make sure you have a Bin folder ...


7

It seems like I missed this step in the manual: <ExcludedPaths> <Path>/access_token.svc/</Path> </ExcludedPaths> In the ADF config file


6

Tridion has a loosely coupled architecture that means that the CD side it not tight to the CM side, there is no information about the dynamic component path in the CD side. If it is necessary to use the path in your web application I would suggest to use custom metadata for it. There are few ways to do it. Add a path field in the metadata section of your ...


6

As far as my knowledge is concerned, you can only get an IP address from the ADF and you would need some IP-To-Location third party APIs to show the physical location mapped to this IP - I would certainly recommend using some paid service like: MaxMind ip2location I have worked with these two and results are 98% accurate (as per their claim; I have seen ...


6

PreviewContentModule: this is only used for XPM. And the responsibility of this module is to ensure that pages and/or any multimedia being retrieved from file system in the delivery site in context of xpm has the latest content. However the AmbientData.HttpModule is used by a lot of other conponents. This module is responsible for a datastore which is ...


6

The preview cartridge (cd_preview_ambient.jar) manages your sessions -- ensuring that you have a valid token that hasn't expired, creating a new sessions as necessary, etc. The footprint cartridge just adds some standard claims about the session. I think this one is mostly there for backwards-compatibility and to provide some claims out-of-the-box for the ...


6

Yes this is correct, there is an "AND" operator between triggers in a promotion, but an "OR" operator when selecting multiple values within a single trigger. For the use cases you mentioned it is also possible to use filters instead of triggers. This allows to have a single promotion getting potentially all promotional content available, but then filtering ...


6

Context Engine Cartridge documentation can be found here and within that information on how to download the latest device database is here EDIT (Nuno) Also check out Eric Huiza's excellent Community Webinar on this topic.


5

The modules are for the Tridion Experience Manager in-context editing tool, also known as the "User interface update for SDL Tridion 2011 SP1". Here are the docs: http://sdllivecontent.sdl.com/LiveContent/web/pub.xql?action=home&pub=UIU4SDLT2011SP1&lang=en-US. The Ambient Data Framework is the module that integrates various products within the ...


5

It looks like you need to brush up on your "read the documentation" skills. This functionality was added with Tridion 2011 SP1. Read all about it in this topic in Live Content "Forwarding Claims to a WebService" (login required). Short answer: yes, you can. How to do it is described in the documentation.


5

I don't have the 2011 .Net API handy, but I never used this third parameter to the Put method. Try the following: AmbientDataContext.CurrentClaimStore.Put(new Uri("taf:claim:myclaim"), "claimvalue"); You can use custom cartridges with Tridion 2011.


5

Unfortunately, you cannot set a claim's scope to SESSION through code. The only way to define that a claim's scope is SESSION and not REQUEST is via the claim definition configuration xml. We have fixed this for the next service pack release (2013 SP1). I have not tried it, but you might be able to define a claim through a simple ADF cartridge (using the ...


5

A bit of a trivial piece of advice, I'll offer it anyway: use a separate Application Pool for each web site. My guess is that the .NET wrapper, Juggernet, spins up a JVM for each app pool, and this does not play nice when multiple sites try to use the same Java heap space.


5

From your link to the docs, you are using Tridion 2011 SP1. There was a hotfix that addressed this issue and it should be part of the Hotfix Rollup 2 release.


5

In order to successfully install/upgrade the Devices Database your server ip address needs to be added to the SDL Whitelist. Please contact to Customer Support or your sales contact in order to have this setup


5

The Contact data is loaded anew on every request. There's no caching involved. That makes it simple, if not the most optimal in terms of resources.


4

90% of the time my SQL Errors are because I forgot to drop the 3rd party jar "sqljdbc4.jar" into my application /bin/lib directory, i'd first confirm you have this. Failing that you can configure content delivery logging via your logback.xml file, this should give you a lot more information as what's going on in your app and the cause of the failure. If ...


4

ADF would be the right place for it, since you have access to the IP address you can define a Cartridge that performs a look up in a geo location database to get the information that is needed. ADF is technology agnostic so that cartridge will be available for .NET, Java and CD Web Service (Tridion 2013).


4

Don't set multiple output claims: The relationship between Input and Output claims should be N-1 (so 1 output claim can have more input claims


4

Try the following, it worked for me: In your cartridge configuration xml e.g. date_cartridge.xml <ClaimDefinition Uri="fh:user:date" Scope="SESSION" Description="website visit date within the context." /> ... <ClaimProcessorDefinition Uri="taf:pe:claimprocessor:context:date" ImplementationClass="com.tridion.extensions.ambientdata....


4

The claimstore is physically stored in the web application's session; although most cartridges (re)set claim values at every request it makes sense they do not remove claim values at every request (if no contact ID claim is set the audience manager cartridge simply does nothing; a removal of existing claims would be relatively expensive here). You will ...


4

You can write an ADF Cartridge for this. In this ADF cartridge, you can read/write data to the claimstore, perform any action on these values, so you could store or retrieve them from/to the database. An example can be found here : https://github.com/jhorsman/weather-cartridge and here http://erichuiza.blogspot.be/2012/07/ambient-data-framework-in-nutshell....


Only top voted, non community-wiki answers of a minimum length are eligible