In order to implement appropriate disaster-recovery measures, I am interested in knowing where SmartTarget promotions are stored, and how a back up of this can be implemented. (This might be a bit off-topic for this site, as I suspect its more of a Fredhopper question...)
-
Great question. If SmartTarget is on-topic than this is on-topic as well. Fredhopper is the engine behind SmartTarget.– Jan HCommented Jan 26, 2015 at 13:34
-
Well... SmartTarget is specific to Tridion, while Fredhopper isn't. But I suspect the on-topic-police might be asleep right now, so good luck.– Dominic CroninCommented Jan 27, 2015 at 12:18
-
What are "DR" measures? abbreviations.com/DR– Dominic CroninCommented Jan 27, 2015 at 12:19
2 Answers
Apart from the approach Stephan202 mentioned: If you're using the deployment agent, you can use it's "capture" functionality to capture the complete configuration, and restore that when needed.
-
+1. I think this is a better approach than the procedure I outlined, because it's faster and less error-prone. Crucially, it's more resilient in the face of changes to the way in which SmartTarget integrates with Fredhopper. Also, it will retain any (non-promotion) customizations you might have applied directly to Fredhopper. Commented Jan 27, 2015 at 9:10
-
SmartTarget uses the deployment agent as well, so the capture import/export is what I would recommend too. I'd add that SmartTarget stores its metadata in a special Promotion, which would be included in the capture (and so the operation is 'safe'). Just don't pick and choose the Promotions you import -- it's gotta be all or nothing. Commented Jan 30, 2015 at 10:24
SmartTarget promotions are stored in Fredhopper, as "campaigns". Unless SmartTarget stores additional meta-data outside of FH (something I'm not aware of), it should be enough to simply extract the campaigns from Fredhopper using their configuration REST API. You can do this using e.g. curl
. The full campaign configuration for a single FH universe and locale can be accessed using a GET
operation to an endpoint such as the following:
<host>:<port>/fredhopper/config/campaigns/<universe>/<locale>/list
Restoring campaigns (i.e., insertion/replacement of a configuration (where replacement relies on the configuration having an ID, but this will anyway be the case for backups)) can only be done one campaign at a time. The simplest way to do this is to PUT
all backed-up entities one by one; the endpoint for this is:
<host>:<port>/fredhopper/config/campaigns/<universe>/<locale>/single/new
Just for reference: the campaigns can also be extracted one at a time, using a GET
to:
<host>:<port>/fredhopper/config/campaigns/<universe>/<locale>/single/<id>
Disclaimer: I have no detailed knowledge of SmartTarget, just the FH software.