How to Integrate SiteCatalyst and WebSphere Portal 6.1.5

by Brent on 4/2/10

We are currently working on enhancements to the WebSphere Portal integration for WebSphere Portal 6.1.5. The integration is pretty easy. Please feel from to send me an email at lamont@adobe.com or speak to your Account Manager with any questions. More documentation will be forthcoming. Construct an Aggregator The aggregator is a JavaScript remote code file that reads the DOM of a portal page and places the elements into selected Omniture variables. An example DOM element that lists the portlet id is shown below.

 

The aggregrator will search the page for "asa.portlet.id" and place 7_6S5S7FH208QE10IST7G2K730G0 into the selected variable. A complete list of variables available from IBM can be found on their website along with a description of what the data is how to use it. Functionally, the aggregator is a plugin from inside the remote code or s_code file. To implement the aggregator generate a new s_code file and add the following code below the declaration of the instance, or "s" variable. I added the code for mine just above the setting of the visitor namespace.

var aggregator_variables = {
	"asa.visitor":[],
	"asa.vp.id":[],
	"asa.url":[],
	"asa.login.user":[],
	"asa.login.success":[],
	"asa.login.failure":[],
	"asa.selfregistration.user":[],
	"asa.page.title":[],
	"asa.page.id":[],
	"asa.portlet.title":[],
	"asa.portlet.id":[],
	"asa.portlet.screen.id":[],
	"asa.portlet.screen.title":[],
	"asa.portlet.wsrp.producer":[],
	"asa.search.query":[],
	"asa.search.results":[],
	"asa.peoplefinder.query":[],
	"asa.peoplefinder.results":[]
};

s.usePlugins=true
function s_doPlugins(s) {
	for(var variable in aggregator_variables)
	{
		var a = new Array();
		dojo.query("span[class=" + variable + "]").forEach(function(node, index, arr){
			a.push(node.innerHTML);
		});
		for(var x = 0; x < aggregator_variables[variable].length; x++) {
			s[aggregator_variables[variable][x]] = a.toString();	
		}
	}
}
s.doPlugins=s_doPlugins

From the code above you can list the variable(s) that you want each element to be assigned to. For instance if you want asa.page.title to be put in s.pageName and s.eVar2 you would construct the aggregator_variables lookup to look like this:

"asa.page.title":["pageName","eVar2"]

Remember to leave off the "s." portion of the variable. Install the Aggregator The aggregator lives within "/EnhancedTheme/themes/html/Enhanced/js/" directory. You will want to install the file into that directory. After you have completed this portion, please refer to the IBM documentation on how to get your environment load the aggregator.

Comments (2)

Has anyone integrated Site Catalyst with Websphere Portal v6.0.1? Thanks in advance.

Yes, we have. It does not follow the method described above since the Active Site Analytics component of Portal was not introduced until version 6.1. The API on the portal existing to do the data normalization and decoding so your s_code script can send decoded data to SiteCatalyst.

Must be logged in to comment. or register now to comment!