I'm following up on question from here:
How to build a news feed with aggregate and flat types?
Tommaso posted a great answer which basically states - use a single aggregated feed. But the getstream.io documentation says:
Only Flat Feeds may be followed
So how do you achieve having an aggregated-like timeline which users can follow? Do you have to use flat feed and do aggregation on your own somewhere in backend?
Alright, I found a great article on Medium: https://medium.com/getstream-io/best-practices-for-instagram-style-feeds-3e1d9dd2dc03. I'm answering my own question to let others know what I found out.
Let me explain.
Only Flat Feeds may be followed
actually means:
Only Flat Feeds may be followed (by any other type of feed, such as aggregated).
When you create new user (let's say John), you should create his flat feed. This feed will be shown when John goes to his profile - he will see only his own activities.
After that, create an aggregated feed for him. This feed will be shown on his timeline, with activities from other users.
When John follows 10 people, his aggregated feed will follow 10 flat feeds.
When John becomes followed by 5 people, their aggregated feeds will follow John's flat feed.
When John (or anyone else) opens his profile, he should be shown a flat feed which the specific user can follow
When John opens his timeline, he should be shown an aggregated feed populated by activities of people he followed
Looks to me like aggregated feeds are here only for following flat feeds and displaying their activities. And flat feeds are here for actually posting content (status/image/video).
Update: Just found an article here: https://getstream.io/blog/aggregated-feeds-demystified/ which basically says that activities should be added to aggregated feed, not flat feed. This basically says that my explanation above is not correct. Anyone could assist with this?
Related
Hi I Have to create a timeline feed activity like facebook. I give the likes and comments using reactions.but if i give the likes again to a same post by a same person the likes count get increased. how to resolve it.
and how to use the aggregated feeds.. please give some example regarding this..
Multiple reactions from a user are allowed with the Stream API. We have a feature in the backlog to toggle this to allowed/not allowed, but I don't have an ETA for release. You can find aggregated examples here: https://getstream.io/blog/aggregated-feeds-demystified/
The title pretty much says it all, but I'll repeat in the body with more detail.
When notification feed notification:user1 follows flat feed posts:user2, activities are copied from posts:user2 to notification:user1. The precise number of activities to be copied can be optionally specified by passing an activityCopyLimit integer.
However, when a feed unfollows another feed, there is no similar option to control this behavior. The documentation simply states:
Existing activities in the feed coming from the target feed will be purged (asynchronously)
So my question is: is this also the case when it comes to notification feeds?
Whether it is or not, the option to not purge activities would be very useful. Just because a user no longer needs to receive activities from a given feed doesn't necessarily mean that the history of what has been received should disappear.
Thanks much.
It is possible to not purge the history when unfollowing feeds using the keep_history parameter. This feature is still not available on all official clients but it is described in the API rest documentation. The parameter needs to be provided as part of the query parameters and have value true or 1. If your client is not yet supported, you should open a ticket on its Github repository.
This is currently not possible, the feed will always be purged. I do understand your use case and we will consider adding this feature to our roadmap.
Is it possible to implement filtering on feeds in stream? I would like to allow users to follow other user posts but have those tagged with various categories. The desire is to select a category of Football and see just the posts made by people I follow which have that tag or potentially a collection of tags if the category was All Sports for example.
Looking in the api and docs it seems that a feed is pivoted on a single attribute so I can do a request for all posts of people I follow but not all posts for people I follow that are about NCAA or NFL.
Currently the getstream-io api does not have any filtering capability for the retrieval of activities. All possible options for retrieval of activities can be found in the REST docs
Hi I've a Post model with owner, and an Answer model with all answers from that Post. How can I use Getstream.io to create streams that will result in the following:
"Julie, Frank and 20 more answer your post" ( you're the post owner)
"Julie post a new Answer in post XXX " ( you're Frank)
Feed Groups per entity
Any feed type can be used to create feed groups for any entity in you application. Since the default feed group of type flat created for you is called 'user' this can be confusing, but you are free to create a feed group with type 'flat' for Post/Group/or any other entity in your program that can have its own activity feed.
Aggregated Feeds
To achieve the behavior you have described above you will need to use the aggregated feed type. Create a feed group of type 'aggregated' as described above. Every time somebody supplies an answer to the question you create an activity with verb "answer" on the feed for that post. The default aggregation rule aggregates by time and verb id it looks like you are only interested in aggregation based on verb id. When you retrieve activities from the aggregated feed you can render it in the format that you have described above.
I am very new to the field of Natural language processing. My only experience was to use the standford nlp to get the part of speech for sentence.
Problem: I have to find out top 10 suggestions given in a set of product feedbacks.
Input: It consists of around one hundred feedbacks given as suggestions for some product.
I am not able to figure out where should I start the work from. On what basis should I create the top 10 suggestions?
when you say you have a set of feedbacks, if there is any separator string or something involved then you can use regular expressions to separate the different feedbacks..
you can refer to this links for that
https://sites.google.com/site/gothnlp/links/regular-expressions
http://docs.python.org/2/library/re.html
If the separators are like the name of person submitting the feedback then you can look at the concept called named entity recognition which can separate person names.
If you can use the NLTk toolkit then I suugest you to use that..
http://www.slideshare.net/japerk/nltk-in-20-minutes
here is the link which can help
Also this blog might help you
http://blog.kaggle.com/2012/09/26/impermium-andreas-blog/