Herzlich willkommen auf dem Blog der exensio GmbH

exensio ist ein unabhängiges Software-Unternehmen von erfahrenen IT Beratern und Architekten. Zu unseren Kunden zählen namhafte deutsche Großunternehmen.

exensio verbessert das Kommunikations- und Informationsmanagement von Unternehmen. Auf Basis sinnvoller und zweckmäßiger Technologien erarbeiten wir flexible und übergreifende Lösungen für webbasierte Informationssysteme. Abhängig von den Kundenanforderungen realisieren wir Web Applikationen sowie Lösungen auf Basis von Web Content Management- und Portalsystemen. Integrativ, wirtschaftlich und anwenderfreundlich!

Hier gelangen Sie zur exensio GmbH.

Freitag, 4. Juli 2014

Das neue WebDAV Modul in Claretportal sorgt für bessere Integration mit MS Office Programmen

Im Unternehmensumfeld zählen MS Office Programme wie Word, Excel und Powerpoint nach wie vor zu den häufigst verwendeten Software-Lösungen. In Claretportal werden Office Dokumente von den Usern in das Dokumenten-Center hochgeladen und damit für Benutzer in ausgewählten Zielgruppen bereitgestellt.

Doch jedes mal wenn ein Dokument aktualisiert werden soll, muss dieses im System gesucht, heruntergeladen, bearbeitet und danach wieder manuell hochgeladen werden. Eine unnötige Routinearbeit, die immer wiederholt werden muss. Aus diesem Grund haben wir uns überlegt, wie wir diesen Vorgang optimieren können.

WebDAV und die Nutzung in Claretportal


WebDAV (Distributed Authoring and Versioning) erweitert das HTTP-Protokoll um weitere Methoden. Es ermöglicht ein kollaboratives Bearbeiten von Dateien über Server-Grenzen hinweg.

Hierzu bekommen die Nutzer in der Admin-Konsole von Claretportal einen Edit-Link für MS-Office Dokumente angezeigt. Wird auf diesen geklickt, so öffnet sich das Dokument zur Bearbeitung bspw. direkt in Word. Speichert er seine Änderungen, so wird dieses direkt serverseitig mittels WebDAV gespeichert und zusätzlich versioniert.

Um den genannten Anforderungen gerecht zu werden, haben wir in Claretportal ein Java-Servlet eingebaut, das das WebDAV-Protokoll implementiert, Requests entgegennimmt und abarbeitet. Zusätzlich wurde ein Javascript Plug-In für die Generierung von Cross-Browser-Links erstellt.

Wie sieht das WebDAV-Protokoll im oben geschilderten Szenario aus?

Nachdem der Nutzer einen Edit-Link im Browser geklickt hat, findet eine ganze Reihe von Aktionen zwischen dem MS-Office (Client) und dem WebDAV-Servlet (Server) statt:
  1. Zuerst spricht der Client den Server mit einem OPTIONS-Request für die WebDAV Resource an. Der Server antwortet anschließend mit einer Auflistung der erlaubten Methoden. Beispielweise kann der Server die Methoden "OPTIONS, GET, HEAD, PROPFIND, PUT, LOCK, UNLOCK" zulassen.
    Damit ein Dokument mit MS-Office zum Bearbeiten geöffnet werden kann, muss der Server die beiden Methoden "LOCK" und "UNLOCK" (WebDAV Level-2) unterstützen. Sonst kann das Dokument nur lesend geöffnet werden.
  2. Der Client sendet anschließend einen LOCK-Request für das Dokument, um dieses auf dem Server für sich zu sperren. Danach können andere Clients das Dokument nur noch lesend öffnen. MS-Office zeigt beim Öffnen auch eine entsprechende Meldung an.
  3. Als nächstes ladet der Client mit einem GET-Request den Inhalt des Dokumentes herunter.
  4. Zum Schluss wird per PROPFIND-Methode die Atribute des Dokumentes gelesen.
Nach Durchführung der oben gelisteten Aktionen ist das Dokument vollständig im Microsoft-Office Programm geladen. Der Nutzer kann anfangen, das Dokument zu bearbeiten. Während diesem Vorgang findet keine Interaktion zwischen dem Client und Server statt.
Speichert der Nutzer das Dokument, wird ein PUT-Request an den Servern gesendet. Änderungen werden zum Server übertragen. Als allerletzte Aktion wird einen UNLOCK-Request gesendet. Der Server entsperrt in diesem Fall die Resource wieder. Was der Server danach mit den geänderten Daten macht, kann frei programmiert werden. Wir legen bei Claretportal bspw. eine neue Version des Dokuments in der Datenbank an - vergleichbar mit dem Upload eines Dokuments mittels Web-Browser.

Browser Integration

Aber wie erstellt man Browser-Links, um Webdav-Dokumente direkt in Office zu öffnen bzw. zu editieren?
Für den Internet-Explorer wird hierzu ein ActiveXObject [1] verwendet. Bei anderen Browsern wie Chrome, Firefox und Safari gibt es das NPAPI (Application Programming Interface Plug-In) FFWinPlugin [2]. Auf dieser Basis haben wir ein Javascript Plug-In geschrieben. Für diejenigen, die sich dafür interessieren, haben wir das Plug-In auf Github frei zugänglich gemacht [3].

Fazit:


"Alte Techniken" wie WebDAV finden durchaus valide Anwendungsszenarien in modernen Web-Applikationen.
Das FFWinPlugin wird auf einem PC standardmäßig mitinstalliert, sofern eine MS-Office Installation vorhanden ist. Dies gilt nicht nur für MS Windows PCs, sondern auch auf Apple Rechnern. Die Browser-Integration funktioniert auch auf Macs sehr gut.

Links:

Keine Kommentare:

Kommentar veröffentlichen