Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Employee Emeritus
It can be an Extension that doesn't exist at all, or one that you've created using the custom JavaScript extension
9 REPLIES 9
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Silver Contributor
Silver Contributor
Sorry to go against the "ONE" criteria but I am going to name two. 1) An extension to assist in content modification testing preferably leveraging the multi-armed bandit theory (http://en.wikipedia.org/wiki/Multi-armed_bandit). There is also a blog post with some js code that claims to do this (http://stevehanov.ca/blog/index.php?id=132) 2) An extension to easily loop through a flattened JSON object and place values into a delimited list. Lincoln has its own data object that looks like this: {"page": {"wlpdesktop":"Consumer", "wlppagelabel":"P12400299741316786111396", "breadcrumb":"Home|Resource Center", "l1":"LFG"}, "events":[], "portlets":[ {"id":"portlet_HUB002543", "type":"content", "manifestId":"HUB002543", "contentIds":"HUB_000725"}, {"id":"portlet_HUB006602", "type":"content", "manifestId":"HUB006602", "contentIds":"HUB006601"}, {"id":"portlet_HUB002554", "type":"content", "manifestId":"HUB002554", "contentIds":"HUB002349,HUB002350,HUB002351,HUB002352"}, {"id":"portlet_HUB002907", "type":"content", "manifestId":"HUB002907", "contentIds":"HUB_000731"}, {"id":"portlet_HUB002539", "type":"content", "manifestId":"HUB002539", "contentIds":"HUB_000730,HUB002001,HUB002002,HUB007801,HUB002003,HUB002004,HUB002005"} ]} When flattened the portlets piece looks something like this. portlets.array-size=5 portlets0.contentIds="HUB_000725" portlets0.id="portlet_HUB002543" portlets0.manifestId="HUB002543" portlets0.type="content" portlets1.contentIds="HUB006601" portlets1.id="portlet_HUB006602" portlets1.manifestId="HUB006602" portlets1.type="content" portlets2.contentIds="HUB002349,HUB002350,HUB002351,HUB002352" portlets2.id="portlet_HUB002554" portlets2.manifestId="HUB002554" portlets2.type="content" portlets3.contentIds="HUB_000731" portlets3.id="portlet_HUB002907" portlets3.manifestId="HUB002907" portlets3.type="content" portlets4.contentIds="HUB_000730,HUB002001,HU...003,HUB002004,HUB002005" portlets4.id="portlet_HUB002539" portlets4.manifestId="HUB002539" portlets4.type="content" Our developers can move portlets around on the page very easily and a page could have any number of portlets. Currently we use the a javascript plugin that looks like this var contentIds=[]; for(var i=0; i<=b["portlets.array-size"]; i++) { var count=""; if(contentIds){ try{count = b["portlets"+i+".contentIds"];}catch(e){} } if(typeof count!="undefined" && count != ""){ contentIds.push(count); } } b["portlets.contentIds"]=contentIds.join(","); This effectively grabs all the portlet contentIds and joins them in a list delimited by comma so I can pass them into an Omniture list prop.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Employee Emeritus
If anyone was going to break the "One" rule, it would be you Joe ;-). Love both of these. Can't promise anything but am ever curious about where the gaps are.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Employee Emeritus
Joe, (showing my lack of knowledge here...they tell me it's the path to wisdom) is the multi-armed bandit problem not something that's supposed to be addressed by MVT?
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Silver Contributor
Silver Contributor
It is a little different then mvt. I can send you some more info. I heard a Wharton professor speak about it at a daa event. I also thought of another nice extension. The ability to set an analytics account based on a variable value. Being able to control s_account or google analytics account based on a variable value would be nice. It would eliminate the need for multiple profiles that are just duplicates.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Employee Emeritus
I believe you can currently set a Google Analytics account based on a variable by mapping the variable to the Account (Override Default) field.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Silver Contributor
Silver Contributor
Very nice. I was not aware of the override default field since we, Lincoln Financial, do not use GA and I was just using it as an example. I do not believe this capability exists for SiteCatalyst, but could be wrong.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Silver Contributor
Silver Contributor
Okay I have another one. You will have to tell me if I could do this already via the lookup function but I do not believe I can. We have a breadcrumb on one of our sites that looks like this Home|Account Summary|Recent Activity|Contributions, "I" pipe delimited. Another one of our sites also has a breadcrumb however it is delimited by ">" with white space. Home > Account Summary > Recent Activity > Contributions. I pass the breadcrumb value into a tealium variable page.breadcrumb. It would be nice if I could do a find and replace for characters in a string. Look through the page.breadcrumb variable and find and replace all the > with "|". I am under the assumption that to use the look up extension I would have to lookup the entire string and replace the entire string.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

We use listeners/dispatchers a lot (see my comment https://community.tealiumiq.com/posts/537843-javascript-code-extension#comments It would be great to have a listener extension with the name of the listened variable and a text field for a custom callback method.
Highlighted

What ONE extension (that currently doesn't exist) do you wish we had?

Employee Emeritus
Robert, aren't the listeners and dispatchers by their very nature custom code? Not sure that I see a path to abstracting that in a useful way that works differently/better than the custom JavaScript extension.