Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

IBM Connections ActivityStream - Erstellen und Löschen von Aktivitäten

Einer der gro­ßen Vorteile eines Social Intranet liegt darin begrün­det, dass alle Informationen an einem Ort zen­tral gebün­delt wer­den und somit über ein ein­zi­ges System ver­füg­bar sind. Um diese Stärke aus­spie­len zu kön­nen, muss der Wissensarbeiter die Möglichkeit haben, die für ihn wich­ti­gen Informationen aus der gesam­ten Datenbasis ein­fach und über­sicht­lich zu aggre­gie­ren. Dieses Prinzip kennt man aus den Social Media, wo die Timeline, z.B. auf Facebook oder Twitter, die aggre­gier­ten Informationen aller Follower und Abonnenten des jewei­li­gen Nutzers abbil­det. Genau die­ses Filterprinzip hat IBM nun in seine große Enterprise 2.0 Suite "IBM Connections" imple­men­tiert und mit dem ActivityStream eine zen­trale Timeline geschaf­fen. In die­sem Beitrag befasse ich mich mit den tech­ni­schen Spezifikationen und Voraussetzungen, die erfüllt sein müs­sen, um Neuigkeiten in den ActivityStream zu pos­ten und die ver­füg­ba­ren Schnittstellen zu ande­ren Systemen nut­zen zu können.

Was ist der Activity Stream?

Der ActivityStream bie­tet eine Zusammenfassung der pri­va­ten und öffent­li­chen Aktivitäten eines Systems in chro­no­lo­gi­scher  Reihenfolge. In IBM Connections ist er unter der zen­tra­len Komponente "Homepage" unter­ge­bracht und dient dem Nutzer als Einstiegspunkt in das Produkt IBM Connections.

ActivityStream in IBM Connections
ActivityStream in IBM Connections

Dadurch, dass IBM in Connections (gemein­sam mit ande­ren Unternehmen) einen offe­nen Standard geschaf­fen hat, ist es ein Leichtes, Informationen über externe Ereignisse in IBM Connections zu inte­grie­ren. IBM ver­wen­det für den ActivityStream die Spezifikation von activitystrea.ms in der JSON Variante. In die­ser Spezifikation ist beschrie­ben, wie Aktivitäten tech­nisch aus­se­hen und was mit ihnen gemacht wer­den muss, um Informationen inner­halb von ActivityStreams anzuzeigen.

Aktivitäten erstel­len

Aufgrund der Spezifikation ist es genau fest­ge­legt, was in Aktivitäten vor­han­den sein muss. Das Grundgerüst ist für jeden Post gleich:

{
    "title": "${post}",
    "object": {
        "id": "post_id",
        "displayName": "Title element"
    },
    "actor": {
        "id": "@me"
    }
}

Einfacher ActivityStream Post
Minimaler Post im IBM Connections ActivityStream ohne Verlinkung und Inhalt

Leider ist das nur in den sel­tens­ten Fällen aus­rei­chend, weil wei­tere Elemente, wie z.B. ein Inhalt oder Links, hin­zu­ge­fügt wer­den sollen.

{
    ...
    "object": {
        ...,
        "url": "http://www.example.org",
        "summary" : "This is the content"
    },
    ...
}

Enhanced_ActivityStream_Post
Ein erwei­ter­ter Eintrag im IBM Connections ActivityStream mit Verlinkung und Inhalt

Das Ganze muss natür­lich noch irgend­wie zu Connections geschickt wer­den. Dafür schickt man einen HTTP-POST Request an die eine bestimmte URL, z.B. https://connections.acme.com/connections/opensocial/rest/activitystreams/@me/@all/@all und schon sieht es der ange­mel­dete Nutzer in sei­nem Stream.

Aktivitäten bear­bei­ten

Im Prinzip kön­nen alle selbst erstell­ten Aktivitäten beim Aktualisieren über­schrie­ben wer­den, indem sie die glei­che Object.ID ver­wen­den. Zu beach­ten ist dabei, dass nicht alle Attribute der Original-Nachricht über­schrie­ben wer­den kön­nen. Unter bestimm­ten Umständen ist es sogar mög­lich, einen Kommentar-Thread zu erzeu­gen, wel­cher der Inline-Ansicht der Kommentare aus IBM Connections ent­spricht.
Zur bes­se­ren Arbeit mit Aktivitäten (vor­al­lem in Hinblick auf Inline-Kommentare und Löschen) emp­fielt es sich, eine spe­zi­elle Erweiterung von IBM Connections zu akti­vie­ren – die Rollup-ID. Anhand die­ser ID las­sen sich Beiträge auch zusam­men­fas­sen, die unter­schied­li­che Object.IDs besitzen.

Aktivitäten löschen

Wie immer wenn man etwas erstel­len kann, kann es auch pas­sie­ren, dass man etwas falsch erstellt. Zum Glück bie­tet der ActivitityStream die Möglichkeit, Aktivitäten zu löschen. Leider ist das eine Connections-spezifische Lösung, die nicht ohne Weiteres funk­tio­niert und noch nicht offi­zi­ell doku­men­tiert wurde,

Folgende Erweiterungen müs­sen am Grundgerüst vor­ge­nom­men werden:

  • es muss das Verb "Delete" ver­wen­det werden,
  • es muss eine Rollup-ID ver­wen­det werden,
  • es muss IBM Connections mit­ge­teilt wer­den, dass das Delete-Event wei­ter­ge­ge­ben wer­den muss.

 

Das Löschen gilt glo­bal für alle Aktivitäten mit der glei­chen Rollup-ID. Die Aktivität wird nach dem Posten nicht mehr im Stream ange­zeigt, ist jedoch wei­ter­hin in der History vor­han­den, so dass mit einem Update, wel­ches auf die selbe Rollup-ID ver­weist, der bestehende Thread wie­der sicht­bar gemacht wer­den kann. Die vor­he­rige History wäre dann bspw. auch wie­der über das EE-Gadget einsehbar.

ActivityStream als Bindeglied zwi­schen Connections und Confluence

Wir von Communardo haben nun nun die Grundfunktionalitäten des ActivityStream um eine Schnittstelle zu Atlassian Confluence erwei­tert. So las­sen sich inner­halb von IBM Connections auch Inhalte aus Confluence anzei­gen. Diese Verbindung der zwei Systeme bringt für den par­al­le­len Betrieb ent­schei­dende Vorteile. Lesen Sie dazu mehr auf der Informationsseite zur C²-Connect Suite von Communardo.

Related Posts

Pin It on Pinterest