Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
RuedigerMueller
Advisor
Advisor
0 Kudos

StreamWork provides Feeds to keep you up to date with what is going on in your activities. In addition Feed are keeping you in the loop with what the people you are following are up to.

At the very beginning some of the terms are a little bit confusing, so let’s try to make things somewhat clearer.

A variety of sources – let’s call them applications or, more verbose, Feed Applications - send messages and events to a collector, stamped with an ID which identifies the target of the information. In our case, of course, StreamWork provides the collector – StreamWork is our Feed Provider or Feed Aggregator (both terms are often used synonymic).

StreamWork puts this information into containers – the ID sent together with the information is in fact the ID of the container. You can subscribe or, in other terms, follow these containers (more on this later).
Each container has been created with a concrete topic in mind; therefore you may call the container IDs Topic IDs.

Whenever you request to receive the newly arrived messages from all the containers you have subscribed to (Users you are following are viewed as containers, too, in this context) StreamWork aggregates all these messages into a single stream of messages along a timeline - the Feed.

As a consequence there are no "Feeds" from StreamWork – you cannot receive a feed from User A and one feed from HR and one feed from each of your activities from StreamWork. There's just one single Feed, your personal feed.

We already mentioned Feed Applications. These are external sources of information. Some information in your Feed is produced by StreamWork itself, first of all the micro blogs (Status Updates) posted by the user or changes done to the activities that the user follows; but some come from sources outside of StreamWork.

So what if you have written a beautiful Feed Application and want to post messages to StreamWork? Well, all these external apps first have to be registered with StreamWork; a site admin of your StreamWork server will have to approve the Feed Application. Such an approval can be given for the whole site or for one or more organizations.

After approval through the site administrator your application may be enabled/disabled by an Organizationadministrator.

An Organization is, looked at from a technical point of view, a group of people who share the same license code. This can be a whole company; this can be a division of a company or just a team. In addition an organization has an organization administrator, the guy who is responsible for managing the users, the business methods and last but not least the one who enables/disables the Feed Applications. Only members of the Organizationcan see and work with items which have been created in the organization’s context.
One precondition, though: the Organization is available with the Professional and Enterprise Editions only. 

Back to your Feed Application: If it has been approved for the whole server any user on the server may receive your feed entries.
If the application has been approved for one or more organizations only members of these organizations may receive your feed entries. Otherwise all user from the StreamWork user pool may receive your feeds.
The Topics do not have an analogy on the UI side, it is a pure technical construct and therefore completely invisible. Only Feed Applications can create Topics and can let users follow these topics (and of course it can remove users from theFollows-List). A user can unsubscribe – or un-follow – a Topic, but never follow without acknowledgment from the Feed Application.

When writing Feed entries a distinction of the target of the entries has to be made:
A Feed Application can post Status Updates to Activitiesand Events to Topics.

An Event describes information regarding some object describing some action by some actor. The event is in theActivityStrea.msformat.

A Status Update is just simple textual information what’s happening at the moment, something like “Working on a new insurance police model” – and it’s always in the context of a user.

Finally a picture says it all: