Bearbeiten von MS Office-Dokumenten aus einer Webanwendung: benutzerdefinierte WebDaV-Implementierung oder ...?

8

Nachfolgend ist unser Setup & amp; Voraussetzung:

  • Es gibt eine öffentliche Webanwendung, auf die über SSL + Standardauthentifizierung zugegriffen werden kann. Die meisten dieser Anwendungen sind in ASP.Net; Einige ältere sind im klassischen ASP. Server ist Win 2003 / IIS 6.0
  • Diese Anwendung muss die Online-Bearbeitung von (meist) MS Office-Dokumenten (2007 und 2010) unterstützen. Die Dokumente selbst werden zusammen mit dem Inhalt der Anwendung in der Datenbank gespeichert.
  • Die Benutzer sollten in der Lage sein, das Dokument über HTML-Links zu öffnen; Die entsprechende externe Office-Anwendung (z. B. MS Word) sollte das Dokument im Bearbeitungsmodus öffnen (mit exklusiver Sperre), und wenn der Benutzer die Schaltfläche Speichern drückt, sollte das Dokument zurück an die Anwendung gesendet werden.
  • Vorzugsweise müssen keine externen Plugins / ActiveX-Steuerelemente auf der Client-Seite bereitgestellt werden.

Ist eine benutzerdefinierte WebDAV-Implementierung der bestmögliche Ansatz? Beachten Sie, dass wir möglicherweise nicht alle Funktionen von WebDAV zur Unterstützung der obigen Anforderungen benötigen. Sind Ihnen Alternativen bekannt?

Wenn eine benutzerdefinierte WebDAV-Implementierung der richtige Weg ist, können Sie bitte einige gute Ressourcen (kommerzielle / Open-Source-IIS-Plugins, Beispiele in .Net, Dokumenten usw.) empfehlen, außer Ссылка ? Übrigens, ich bevorzuge nicht die Installation eines sperrigen CMS wie Sharepoint, um so eine kleine Anforderung zu unterstützen!

Ich habe einen Thread zu SO über die benutzerdefinierte WebDav-Implementierung gefunden: Was sind deine Erfahrungen? WebDAV implementieren / verwenden? Es klingt so entmutigend :( (Avialable nur auf IIS-root, erfordert Windows-Authentifizierung, etc)

Vielen Dank im Voraus!

    
Venkat 22.07.2011, 16:19
quelle

3 Antworten

1

Was ist los mit WebDAV? Es gibt einige WebDAV-Server-Komponenten von Drittanbietern, die Sie an Ihre serverseitige Anwendung anschließen können ( www.webdavsystem.com , unsere WebDAVBlackbox ).

Alternativ können Sie ein virtuelles Dateisystem auf dem Client erstellen, das mit dem Server unter Verwendung eines anderen Protokolls kommuniziert (entweder einfaches HTTP, wenn es einfacher ist, diese Vorgehensweise zu implementieren, oder FTP oder SFTP).

    
Eugene Mayevski 'Allied Bits 26.07.2011, 05:19
quelle
5

Ich habe kürzlich einen einfachen Webdav-Server mit dem Apache Tomcat WebdavServlet als Basis entwickelt. Ich habe gerade die Quelle von SVN (siehe unten) und änderte es, um meine Bedürfnisse zu erfüllen. Sie können Code zu den verschiedenen darin enthaltenen Methoden hinzufügen:

%Vor%

Ich benutze es als armer mans webdav vor einem Unternehmens-CMS, also habe ich innerhalb jeder Methode API-Aufrufe hinzugefügt, um das Dokument abzurufen, zu sperren, zu versionieren oder was auch immer. Im Grunde wollten sie das Webdav-Produkt nicht vom Anbieter kaufen, und Tomcat ist kostenlos.

Wie beim Öffnen der Office-Dateien auf dem Client müssen Sie sich möglicherweise auf eine Bibliothek verlassen, die mit Office-Installationen ausgeliefert wird (seit mindestens Office XP). Beachten Sie, dass die Komponente SharePoint blah blah heißt, aber keine SharePoint-Installation erforderlich ist. Ich habe hier ein js-Schnipsel, das die Bibliothek für ein Beispiel verwendet, offensichtlich würden Sie ändern, um Ihre Bedürfnisse zu erfüllen. Ich weiß, dass Sie kein ActiveX gesagt haben, aber ohne das bin ich mir nicht 100% ig sicher, wie Sie die Links öffnen würden. Sie können gerne andere Wege versuchen.

%Vor%

Ich erkenne auch, dass Ihr Server IIS und nicht Apache-basiert ist, aber Sie können die Tomcat-Installation immer mit IIS starten (das ist was wir tun) und den JK-ISAPI-Filter über AJP verwenden. Wie auch immer, es ist eine Möglichkeit, Dinge zu tun und erfordert nicht, dass Sie etwas kaufen.

SVN-Quelle: Ссылка

    
Brendan Hannemann 27.07.2011 15:36
quelle
2

Wenn Office eine Datei von einer URL öffnet, prüft es, ob WebDav für diese URL unterstützt wird. Wenn dies der Fall ist und WebDav das Schreiben in diese URL zulässt, erlaubt Office dem Benutzer, die Datei zu bearbeiten.

Das Öffnen der Datei durch Office, wenn der Benutzer auf einen Link im Browser klickt, funktioniert am besten mit einer URL wie dieser:

%Vor%

URLs in diesem Stil funktionieren nicht, wenn Office nicht auf dem Computer des Benutzers vorhanden ist.

Die Integration mit auf der Hardware des Benutzers installierter Software ist natürlich schwierig, da der Entwickler keine Kontrolle über die Hardware des Benutzers hat.

Es wäre am besten, wenn die Bearbeitung von Office-Dokumenten vollständig im Browser durchgeführt werden könnte. Office365 macht das. Die Integration einer Line-of-Business-Anwendung mit Office365 erfolgt über das WOPI-Protokoll.

Office wird über dieses Protokoll in DropBox und ähnliche Elemente integriert. Es scheint jedoch, dass Microsoft noch nicht bereit ist, eine große Anzahl von LOB-Anwendungen mit Office365 zu integrieren.

Vielleicht wird Microsoft eines Tages ein SDK veröffentlichen, um diese Integration durchzuführen, ohne WOPI von Grund auf zu schreiben.

    
H. den Breejen 06.05.2016 14:27
quelle