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?
- 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. - 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.
- Als nächstes ladet der Client mit einem GET-Request den Inhalt des Dokumentes herunter.
- Zum Schluss wird per PROPFIND-Methode die Atribute des Dokumentes gelesen.
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.