How to setup GetStream for corporate intranet? - getstream-io

I'm looking to add a "company feed" to a corporate intranet SaaS application. More or less a timeline of posts very similar to facebook.
1) I think the Flat feed type is what I'd want for that but not sure.
2) I don't want users to have to "follow" one another. If you post on the company feed, everyone in the company should probably see it. How would you set this up on GetStream?

1) Yes, a flat feed is what you'd want.
2) If the users don't follow each other, everyone in the company posts to the same feed, and the same feed is shown to everyone in the company, then the best option is probably to set up a single feed group (timeline, maybe), with one feed in it (timeline:company1234) that everyone posts to and reads from.
Then, whenever a user posts on the company's feed, you'll add an activity to the timeline:company1234 feed, and whenever someone needs to read the feed, you'll retrieve the activities from the timeline:company1234 feed.

Related

What is the best way to add a user feed to his own timeline?

I would like to build an Instagram-like social app, where on the user timeline, you also have his own activities displayed. My first thought was to follow his own user feed but from what I read in this blog post: https://getstream.io/blog/best-practices-for-instagram-style-feeds/
We recommend blocking a user's timeline feed from following their own user feed
Can someone explain why it would be a bad practice ? How could I implement my use case if that is the case ?
Thanks !
Looking at this myself. I think the logic they describe is incorrect. The full statement in context make a little more sense in terms of what I think they mean.
We recommend blocking a user's timeline feed from following their own
user feed, and also blocking users from seeing/following another
user's timeline feed.
The first part of the sentence I believe is backwards. What I think it should says is that the "user" feed should be blocked from following the "timeline" feed. The user feed should just contain actions that the user performed, so it shouldn't contain data from the timeline feed. But if you want the user's activities to appear in the timeline feed than it seems to me that you should definetly make the user's timeline feed follow thier user feed, and prevent the user's timeline feed from unfollowing their own user feed.
The second part that says you should block users from following another user's timeline feed. I believe this is correct because the timeline feed is a series of peronalised items for an individual user. It doesn't make sense to follow another user's timeline feed.
This is how I have implemented my logic and it seems to be working so far, but if I come across any issues with it I'll come back here and update this answer.

Getstream location based feed?

I am try to implement location based feed in React Native app with getstream. For example user in New York only see only see feed post from other user in New York. If user in LA then user only see feed post from other user in LA.
So I am use geolocation. This possible with getstream?
There are multiple ways to do it:
add a custom property to activities and read the feed and ignore unrelated
add activities to different feed, simply decide while writing. For example, if an activity should be seen by LA, then write it to LA feed
contact support for personalization (paid though)

Using GetStream, can I show a user's actions on his follower's timeline but not on his profile feed?

I am building a web app where users can post articles. They can also comment, like and share posted articles. Users can follow other users so that they see their activities on their timeline feed.
On their timeline feed, they see the activities of all the users they follow. And just like Facebook, they can access a user's profile page where they see the user's "profile feed". On this feed, they only see this specific user's recent activities.
On a "profile feed", I only want to show some specific actions like "Jack posted a new article" or "Jack shared this article". I don't want to show activities like "Jack commented this article" or "Jack liked this article". But I wan't to show all of these activities on the timeline feeds.
After reading the whole docs, I don't see how I could do this. For the timeline feed, I'm good. For the "profile feed", I think I would need to read the user feed, but this feed will include all of the user's activities including comments, likes, etc. Is there a way to read a feed and ask for only specific verbs?
This is how I handled this situation :
Have two user feed groups. One user_profile_actions for actions that belong on a user's profile and one user_other_actions for other actions. This way, when I want to display the user's profile, I read the user_profile_actions feed. And when someone decides to follow a user, I will make his timeline_aggregated feed follows both user feeds this way:
$follows = [
['source' => 'timeline_aggregated:peter', 'target' => 'user_profile_actions:jack'],
['source' => 'timeline_aggregated:peter', 'target' => 'user_other_actions:jack'],
];
$batcher->followMany($follows);

Direct link to newsletter - kentico 9

We are using kentico 9 at work for our website.
You can subscribe to our newsletter using a "box" which is integrated all the way down on our homepage.
However, I would like to have the opportunity to share a direct subscription link on social media so people can click on it and subscribe to the newsletter.
Now, I have to invite people to go on our website and to go down the page to subscribe which is inconvenient (nobody is going to do this).
I can't find a way to get a direct link (I'm not a developer).
Does anybody know how I could do it ?
Thanks in advance ! :D
Anne
If someone want to subscribe to newsletter, he/she must provide you with email address and I'm not sure that can be done with direct link, because you are not aware of user email address (your target group is unknown group from social media).
You can set up anchor in 'subscribe to newsletter' link, which will automatically scroll down your page to box at the bottom, but I don't think that is the best solution. Maybe, to create a new content page, with only purpose to subscribe users to newsletter (have some introduction text, and widget for 'newsletter' where users can subscribe). I don't know is that what you are looking for, but it is nicer solution then asking people to scroll down and subscribe to newsletter.
Best regards,
Dragoljub
My suggestion would be to create a specific landing page with that signup form on it. This way you can have a link you share in social media that takes them directly to that page and allows them to put in their info (first, last and email) and sign up for that specific newsletter. This way it's a specific call to action on that page and allows for the user to only do one thing.

How to remove activity from multiple feeds?

I'm using notification feeds where users get a notification when other users add replies into a forum thread they are part of.
I'd like to know how I can remove activities from all feeds when the reply is deleted?
I can't seem to find any information about that. The examples show how I can remove an activity from one users feed. But I don't necessarily know all the users that might have the activity on their notifications feed.
Or is there a way to get a list of notification feeds that contain activities with a foreign id?
When you delete an activity from a feed, a delete is propagated to every feed that received that activity via follow relationship or to field. In your example, if you delete the activity from the "origin" feed you should be OK. If that's not the case you should probably expand your question with more detail.
Since you mentioned it: deletes by foreign_id allow you to delete all activities from one feed that share the same foreign_id value. For example: say that you have many activities in a feed with foreign_id "post:42" and you want to delete them all in once, you can perform a delete on foreign_id="post:42".

Resources