Could anyone explain some fundamentals about the NewsFeed module?
Why is it that when I add a story using the AddStoryToActorFeed method it's added correctly as a row in the tblEPiServerCommunityNewsFeedStory table, but after a while that row is duplicated with another ID? I get duplicate entries in my feed listings. I would guess it has something to do with the aggregation features, can I turn those off?
Generally, what is exactly the MiniFeed and the NewsFeed and what correlations do they have?
The mini feed is the list of actions for a particular user.
The news feed is the aggregated list of what the friends (contacts) of a particular user has been doing.
If you are getting duplicates in your listings, I assume that you are not using the regular API calls for getting one of these two kinds of feeds...?
What is it that you actually want to be listed?
Actually I am using the API call GetTargetFeed().
What I want is to get a feed over what is done to the user's stuff, hence I use the user as the target and try to get a target feed. But then I get the stories quadrupled or worse.
I need to use GetTargetFeed() in same way as Tomas.Is there a workaround for this or a possible hotfix that I can apply right now?
How did you solve it Tomas?
What we did was to add an attibrute - "IsOriginal" - to the NewsFeedStory when creating it, and setting the value to "true". Then when getting the target feed we filter out only the NewsFeedStorys that have the attribute "IsOriginal" set to true (we used LINQ but you also do it by simply looping the returned stories).
This works since when the NewsFeed functionality makes all the copies of the NewsFeedStories it doesn't copy any attributes from the original story. So only the first original NewsFeedStory will have the "IsOriginal" attribute set.
One other thing to keep in mind when using the target feed functionality is that it has a major bug in it: If you for instance first set a user with the ID 123 as a target on a story and then later set a club with the same ID (123) as target on another story the target feed will think of them as the same target. So when getting the target feed for club 123 you will also get the stories where the user 123 is the target! This is because the buggy functionality completly ignores the type of the target. We have reported this bug to EPiServer and it should be fixed in the next hot fix.
We made a work arround for this bug by having different sets of NewsFeedActions for users and clubs, e.g. User_AddedImage and Club_AddedImage. Then we filtered the target feed request to only inlcude the actions for the type of target we needed.
Hope this helps you!
Thanks a lot! This will help! Nice workarounds EPiServer really need to fix this to next SP.
Quick update: Hotfix 1 for Community 3.2 SP1 is now available, which should resolve this bug and others.