27. Januar 2011

openucf (Teil 3): Präsenzintegration

Endlich habe ich es geschafft. Nach langem Überlegen habe ich endlich einen Weg gefunden, wie ich die Funktionen aus unserem Open UC Framework – kurz openucf – auch anschaulich präsentieren kann. Ich stelle daher den zweiten Teil der Installation für einen Moment zurück und zeige unsere Präsenzintegration in openucf.

Die Präsenz ist ein schönes Beispiel um zu zeigen, dass unser Open Source Framework sehr leichtgewichtig mit so einem großen Thema wie dem Setzen, der Darstellung und dem Auswerten von Präsenz umgehen kann.

Dies möchte ich gerne zeigen:

  • wir nutzen ganz normales XMPP
  • die Präsenz wird in der openucf Web-Anwendung übersichtlich angezeigt
  • wir können die Präsenz auf dem openucf-mobile Client – gezeigt auf einem Android Tablet – abrufen
  • per API kann die Präsenz eines Nutzers gesteuert werden

Die einzelnen Schritte sieht man im Video, zur Realisierung danach noch ein paar Hintergrundinformationen. Und am besten im Vollbildmodus betrachten, sonst gehen doch ein paar Details unter.

Zum XMPP-Client und der Darstellung in der Web-Oberfläche gibt es nicht viel zu ergänzen.
openucf-mobile wird voraussichtlich in die Version 1.1 integriert werden (aktuell sind wir bei der 1.0, also sehr bald). Dabei erfolgt die Kommunikation über unsere API, was ein Deployment mit DMZ und ordentlichem Sicherheitskonzept möglich macht.

Die Steuerung der Präsenz über die API soll kein Geheimnis bleiben, mit nur ein paar Zeilen PHP-Code können wir z. B. den Benutzer auf DND in der Präsenz setzen, ohne dass der Nutzer selbst aktiv werden muss. Anwendungsbeispiele sind z. B. Termine im Kalender als Präsenz zeigen. Hier der Quellcode, um die Präsenz eines Nutzern zu verändern:


include_once("/opt/openucf/doc/api/RestOpenucf.php");
$username = "USERNAME"; $password = "PASSWORT";
$rest = new RestOpenucf("http://localhost/openucf/more/api/", $username, $password);
$state = 4;
$text = "Termin von 13.00 bis 14.00 Uhr";
$rest->post("presence", "data=" . json_encode(array("state" => $state, "text" => $text) ));

Weiteres zur API findet sich jetzt schon und bald noch mehr im openucf Wiki.

/sf

Ps: Die Darstellung von Code-Schnippseln optimieren wir noch, versprochen.

Kommentar hinterlassen

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.