ActivityAPI

Activity API

Mit Stud.IP Version 3.5 wurde eine neue API zum Erzeugen, Darstellen und Filtern von kontextrelevanten Aktivitäten eingeführt. Diese API kann u.a. dafür genutzt werden um Nutzern einen schnellen Überblick über die für ihn relevanten Information/Aktivitäten zu geben.

Activity-Streams

Der Activity-Stream befindet sich auf oberster Ebene der API. Möchte man einen Activity-Stream haben:

 

Wobei der Parameter $observer_id die Nutzer-ID des Betrachters ist, $contexts ein Kontext oder ein Array der zu betrachtenden Aktivitätskontexte (z.B. eine Veranstaltung, ein Institut oder ein Nutzer) und $filter ein entsprechendes Filter-Objekt ist.

Möchte man diesen ausgeben:

 

Filter

Um den Zugriff auf bestimmte Aktivitäten oder Zeiräume zu fokussieren, können entsprechenden Filter-Objekte definiert werden. Filter-Objekte bestehen aus einem Start-, Endpunkt und einem Aktivitätstyp, welcher einen entsprechenden Activity-Provider beschreibt.

Activity-Kontexte

Der Activity-Stream bekommt die Aktivitäten über Activity-Kontexte bereitgestellt. Kontexte beschreiben die Bereiche in Stud.IP, in denen potentielle Aktivitäten generiert werden können.

Beispiele für Kontexte:

Veranstaltungen Einrichtungen Systemweiter Kontext Nutzerbezogener Kontext

Klassenbeschreibung des Activity-Kontext:

 

Activity-Provider

Orthogonal zu diesen Kontexten existieren Activity-Provider. Diese aggregieren bestimmte Activities. Beispiele für Activity-Provider:

  • Forum
  • Blubber
  • Dateibereich
  • Nachrichten
  • News
  • Teilnehmer
  • Wiki
  • Ablaufplan
  • Liteaturverwaltung

Das Activity-Provider-Interface

Möchte man einen neuen Activity-Provider implementieren, muss man das entsprechende Interface berücksichtigen, welches die Methoden getActivityDetails() und getLexicalField() voraussetzt.

 

Um eine persistente Datenhaltung der Aktivitäten sicherzustellen, wird empfohlen zusätzlich die Methode postActivity() zu implementieren, welche unter Verwendung entsprechender Observer aus dem NotificationCenter Daten in die Activity-Tabelle speichert.

Die Klasse ActivityObserver

Die Klasse ActivityObserver sorgt dafür, dass relevante Observer aus dem NotifactionCenter geladen werden. Hier können nach Bedarf weitere Observer für z.B. neue Provider abgelegt werden.

Activities

Activity-Feed Widget

Das ActivityFeed-Widget wird als Portalplugin implementiert. Neben der Ansicht des Activity-Streams bietet das Widget dem Nutzer auch die Möglichkeit den Stream individuell zu Filtern.

REST-Route

Als alternative Zugriffsmöglichkeit werden der Stud.IP REST-API folgende neue Routen hinzugefügt:

 

Die Route kann durch Angabe weiterer Queryparameter gefiltert werden.

Letzte Änderung am May 30, 2016, at 04:20 PM von aklassen.