Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Reading through the documentation for SmartTarget/Fredhopper there's a section on Transforming data - where a popularity attribute can be assigned to based on figures gathered through web analytics.

We'd like implement something similar but its not clear though where the new "popularity" attribute is defined.

Is this something you need to add to the business.xml manually?

Another section in the docs mentions "Editing the business.xml manually is not supported."!!


share|improve this question

Indeed you can't do that...

Here's the easiest way to do it:

  • Add popularity to your content schema in Tridion and populate it in the CMS when it changes, then republish

Fredhopper's data model is relatively schema-less. Your data defines the schema, and that's why it copes so well with the Tridion schemas. By adding a field to your content, it appears as an attribute in Fredhopper.


The challenge with doing this using the data manager is the following:

To update one field of one item, you need to first load it from Fredhopper, update the field, load it back (easy enough through Data Manager). Fredhopper will not do "partial updates of one item" so you need to update the whole record.

While this is fine and really not that hard to do, what happens if you republish that item from Tridion? You will NOT have the popularity field until you run the data manager again.

So the usual approach we do with this is to have Tridion deploy the XML to a "staging" location, have a service or similar with either a X minute interval or fancy "file system change trigger" that detects this new file, enrich this file with the popularity (or any other attribute you want) and then move it to the Fredhopper "incoming" folder.

Hope this all makes sense, it's been a very long weeek.

share|improve this answer
Thanks Nuno - I'd thought this might be the case. What do you mean by "populate it in the CMS when it changes" -I thought the idea was to populate it through the Data Manager? Also - if this is easy, I'm intrigued to know the hard way! The FH Learning Centre mentions CSVs and incremental updates? – Neil Feb 1 '13 at 16:16
Thanks Nuno, very interesting. I considering whether the transformation job you construct in Data Manager could be scheduled using Kettle (as the DM is essentially Pentaho Spoon). Your way ties the enriching to publishing which I'm not sure will work for us as the data we want to use could change more frequently. – Neil Feb 1 '13 at 18:26
Also, I'd rather not pollute my scheme with additional fields if possible - but I take your point about ease of implementation. How come editing business.xml is not supported? These seems to be the correct place to define live attributes in FH? – Neil Feb 1 '13 at 18:30
Hi Neil, did anyone get back to you on this ... just out of interest as I may have a similar requirement so the answer would be interesting indeed. – Dylan .. Mark Saunders Mar 12 '13 at 13:48
Hey Mark, sorry only just noticed your comment. We looked at Data Manager first, but then ultimately went with Nuno's suggestion and created an intermediary windows service that takes FAS XML from Tridion and enriches it before passing on the FH. One notable issue here is that for 2011 SP1, the deployer extension that creates FAS XML always creates an "add" operation - not normally a bad thing as FH will replace existing items. But for us we needed an "update" as previously enriched data would have been overwritten. – Neil May 31 '13 at 7:46

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.