Details
-
Type: Sub-task
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.5.4
-
Component/s: None
-
Labels:None
Description
Marking this as minor because in the current implementation of sitelinks (legacy) "updating" a sitelink means to remove it and create a new one. Ideally, now that Google supports it, we will make use of their update functionality (to preserve history) instead of removing/re-adding, but this is secondary to getting the add and remove functionality working.
7/17/13 we decided to leave the update functionality as delete and re-add. Adding comment below to paste in the email thread.
===============
When FeedItems change, the CampaignFeed is affected b/c it is associated with the FeedItems. Here is the logic around that (note this implies redeployments):
1) all existing sitelinks are deleted (and none added) - note this is an edge case and would only happen if we shut sitelinks off via $JBOSS_HOME/server/<node>/conf/tsa/smb/smb-admax-deployment-service.properties:smb-admax-deployment-service.feature.siteLinks
delete CampaignFeed
delete FeedItems (represent sitelinks)
2) all existing sitelinks are deleted and new sitelinks are being added - note I don't think this is a use case that could ever happen
delete FeedItems to be deleted
add FeedItems to be added
update CampaignFeed
3) some (but not all) existing sitelinks are being deleted (and none added)
delete FeedItems to be deleted
update CampaignFeed
4) some (but not all) existing sitelinks are being deleted and new sitelinks are being added
delete FeedItems to be deleted
add FeedItems to be added
update CampaignFeed
5) new sitelinks are being added (and none deleted)
add FeedItems to be added
update CampaignFeed
To summarize, any time we delete existing sitelinks we have to delete the corresponding FeedItems; anytime we add a new sitelink we have to add a new FeedItem; if we are removing all FeedItems and not adding any (that is, the CampaignFeed is not associated with any FeedItems) the CampaignFeed gets deleted; otherwise if there are changes to sitelinks (add or delete) and the CampaignFeed has at least 1 FeedItem associated with it, the CampaignFeed gets updated. Specifically, the MatchingFunctionRHOperand of the CampaignFeed gets updated.