Bart, your comment was correct.
It seemed that the target groups were published, but the extension dao (<Bundle src="storage_extension_dao_bundle.xml" />) wasn't properly set up, and the deployer_conf.xml also didn't contain the proper pipeline items (so this piece of the documentation wasn't properly installed : https://docs.sdl.com/LiveContent/...
@Manas, What I understand from your question is you are facing issue while incrementing the value of tracking key. To increment the tracking key value, you don't need to read the component visit/Page visit value. I can see some issue in your code, which seems to be a major issue in not updating the tracking key value. No need to use trackingKey.SetKey(...
You can implement that requirement to some extent using CM security: create Folders for each User and ensure that initially only that User has Read and Write Permissions on the Folder.
In order to let the User share the Folder with others, he should be able to change his Folder's Access Control List. However, this means he would need to have Permission ...
You can get the value using the following:
var waiPage = new WAIPage(pgModel.Id, this.HttpContext.ApplicationInstance.Context);
//For Storing the Tracking Key
Tridion.ContentDelivery.Web.WAI.TrackingKeys trackingKey = new TrackingKeys(waiPage.User);
//retrieving cond from page.componentPresentation.Conditions
if (cond is KeywordCondition)
The commonest cause of null reference exceptions coming from Tridion Content Delivery code is incorrect configuration. This usually means that an expected XML element or attribute can't be found. (I imagine if they checked the result of every XPath, things would be better.) I would suggest the following:
Schema validate your configuration files - the ...
Maybe depends on the environment because in previous versions of Tridion (2011) there were differences in the behaviour of the Profiling between "aspx" and "jsp" pages.
When the page is first loaded, it checks for a "request....
Answering your first question: Yes. you can use Custom Characteristics without tracking keys.
Second i have never tested but AFAIK it should be published DCP and dropped on page as Bjorn mentioned in your last post. can't you just try?
Yes, its possible but there is no OOTB code in DD4T handling Condition Tags.
You will get the condition list in your component object.
But after that You have to write your own code to handle it as per your requirements i.e. what component you want to remove or show from your current list of presentation according to your conditions.
Reference from my ...
This functionality works on the Sdl Web's Category/keywords. you need to add the "Activate tracking" tbb in the Page template, and add the category for tracking in CT's Tracked Category.
check my answer on this post for code snippet:
How to use Tracking Key in DD4T application
TrackingKeys trackingKey = new TrackingKeys(waiPage);
i hope ...
As far as I know, the (legacy) Personalization & Profiling functionality is not exposed through SDL Web 8 CIL APIs, but only in the (deprecated) in-process APIs.
Note that Experience Optimization (and to some extent Context Expressions) functionality is considered the successor of Personalization & Profiling functionality. But, admittedly, neither ...
OK, let me walk you through the analysis of the artifacts you provided:
The JSON reveals two issues:
There is no XpmMetadata at all for the ST Region. That explains why Model.GetStartQueryMarkup is empty. This is unexpected, because XPM is enabled (as witnessed by XpmMetadata on some Entities furtheron).
MaxItems is 0 whereas you would expect 3.
The DXA ...
If you are looking for general information on how Experience Optimization works, you should read the Experience Optimization docs: http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web%20Experience%20Optimization-v2/GUID-9931CB12-6060-42B5-BB31-BCA3DDD17BB1
Note that the DXA XO Module currently only supports XO Promotions and Content Experiments (not XO ...
The Personalization and Profiling functionality is considered legacy and is not available in the SDL Web 8 CIL API.
You can use conditional Component Presentations based on Context Expressions using the DXA Context Expressions Module.
You can also use Experience Optimization (a.k.a. SmartTarget) using the DXA Experience Optimization Module.
Below are few links which will be usefull:-
Target Groups based Contenttarget-groups-based-content
I did for Java but not DD4T version, If you are able to generate the condition then Set up WAI API as per the blog given by Raj Kumar and try with the below code.
<%@ taglib uri="cd_tags" ...
To start with there are two types of personalization: Implicit and Explicit
Implicit will use Categories and keywords
Explicit will use Java or .net to set Customer Characteristics using WAI module.
More information can be seen in below post which have full code for my working module.
Target Groups based Content
I recently used Target group on DXA, Please use following links to understand it better.
setup - http://blog.building-blocks.com/technical-tips/how-to-setup-sdl-tridion-profiling-personalisation
end to end example http://rajmittal.blogspot.in/2015/08/profiling-and-personalization-using.html
JSP example https://community.sdl.com/developers/tridion_developer/...
I know that a while back the out of the box activate tracking TBB did not work, for which I created a fixed version as part of some generic TBBs on Tridion World. I would have expected that this had been fixed in more recent versions though (what version are you using?), however to be honest I have not done anything with P&P for years so I couldn't tell ...
It's been a while, but I seem to have 'solved' my issue when I started working on it again - I've opened up the Web App log file for a fresh peek and I noticed this ERROR suddenly after the CD WAI gets initialized.
ERROR LicenseReader - Could not find the license file file:/c:/windows/system32/inetsrv/cd_licenses.xml
Yep, all kinds of wrong.
As you might ...
The exception is being thrown in the constructor of WAIPage. The constructor accepts an HTTPContext as a parameter. If this parameter is null, this will cause the problem you are reporting.
It's a real shame that your Tridion license won't allow you to simply decompile Tridion.ContentDelivery.Web.WAI.WAIPage and look at its constructor. I've found that ...