We had a requirement (and I am sure most of the folks using content deployment and Audience targeting have this requirement) to manage the Audiences on the Publishing site (target site) after the content deployment is done from the Staging/Authoring site.
1. Staging/Authoring site has Audience set for the webpart and this Audience is defined in the SSP used by the Staging/Authoring Farm and I am sure you all know that the AUDIENCE IDs are stored and not the AUDIENCE Names in the web part's Audience Targeting property. So the GUID stored for the web parts AUDIENCE ID is the GUID from the staging farm.
2. Now you run Content Deployment and the Publishing/Production farm has all the contents from Staging farm. Please note here that the Publising Farm is using a different SSP and hence the GUIDS are not the same for the AUDIENCES in the Publishing farm. Also note that the AudienceID property is readonly and there is no way to set it. So Audiences will always fail or to say Audience Targeting will always fail when you have different SSPs for Staging/Publishing Farm. So do we modify the Publishing Farm to make use of the new Audiences? If we do so will it break the readonly nature of the Publishing farm, if yes that means future content deployments will fail, correct? Well no that is not correct modifying the Audiences on the web part of the Pages will not break the readonly nature of the Publishing site.
Following are some of my findings:
1. There is no way to change the GUIDs of the AUDIENCEID (in any Farm's SSP ).
2. So content deployment will only carry over the OLD GUIDs for web parts/Pages that are targetted in the Publishing/Target site.
3. Hence a utility needs to be created that will export all the Audience information for all the web-parts and Pages in a site/site-collection. This information will only fetch us GUIDs of the Audiences. Now using these Audience GUIDs we find the name of the Audiences (from the Source Farm's SSP), AUDIENCENAME property.
4. Now we go to the Target/Publishing site and run the import utility that will have all the Audience information about all the web-parts and Pages in a site (or the entire site-collection).
5. This will replace the old GUIDs (on the Publishing site's web-part/pages) with the new GUIDs (from the new SSP of Publishing), the mapping will be done on the basis of AUDIENCENAME property (Basically we will have the AudienceName from the old SSP from step-3 and we will have the same AudienceNames created in the Publishing SSP, GUIDs will be different but now we have the Table/mapping that will help us replace the old GUIDs on the publishing/target site with the new GUIDs by matching the name).
So all and all no straight way to replicate the Audiences and also I am not sure if we would break the readonly nature of the Publishing/Target site when we change the AUDIENCE-TARGET property for the web parts on pages. Also a web-part doesn't have a AUDIENCETARGET property, it is the AuthorizationFilter property that is used to set the Audiences for the web-part.
Following are some result of the test that we conducted both for Security modification and Audience modification on the Publishing site:
Update : Also, the “read only” nature is applied to data that lives Content DB’s only (since content deployment doesn’t take care of other DBs at all) and the Audience ID is a reference to the SSP data. So, I don’t think that the nature of Content Deployment would not be preserved