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

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

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

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

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

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

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

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

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

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

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.


5

The error is not specific to DXA; it occurs in the Ambient Data Framework. Looking at the Stack Trace, it seems that there is some claim with an unexpected type (HttpResponseStream ?!) which cannot be serialized by the JSON serializer used in the ADF. Did something change recently with regard to your ADF claims? It may be best to contact SDL Support to ...


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....


4

The ADF stores a couple of the taf:request:parameters entries as a HashMap<String,String[]>>. These are: CONTENT_LENGTH CONTENT_TYPE QUERY_STRING PATH_INFO In addition, the ADF stores the HttpServletRequest parameter map in it's entirety on the claim as well, so given the following example query string: ?foo=1&bar=2 In total, you get the ...


4

It sounds from your question that you want to specify a wildcard in a Globally Accepted Claim and allow processing any forwarded claims that match this wildcard. Unfortunately you cannot specify wildcards and need to specify each Globally Accepted Claim individually. Here is how it works: The ADF extracts the GloballyAcceptedClaims from the config and ...


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