tl;dr:

(too long; didn't read)

Dateien wurden nicht zuverlässig und schnell nach Nextcloud gespeichert
  • Manche Dateien wurden gar nicht gespeichert
  • Andere erst nach bis zu 15 Minuten
  • Möglicher Datenverlust
Beim Nutzen von ODT Dateien kam es öfter zu fehlerhaft gespeicherten Formeln
  • Nicht immer, aber immer öfter
  • Nicht auf den ersten Blick zu erkennen, erst beim Inspizieren oder Ändern
Generelles Verhalten von OnlyOffice
  • Entfernen von Features und Aufforderung zur Nutzen eines kostenpflichtigen Dienstes

Geschichte von OnlyOffice auf der Freiheitswolke

  • Ende Juni 2018 installiert und aktiviert
  • erst mit externer OnlyOffice Instanz
  • mit Nextcloud 18 wurden neue Funktionen für OnlyOffice eingeführt
    • mobiles Bearbeiten ermöglicht (App & Browser)
    • Möglichkeit vollständig per App ohne externe Instanz zu verwenden
    • Beides haben wir aktiviert

Generelles technisches Verhalten

Im Gegensatz zu Collabora wird ein großteil der Bearbeitungsfunktionen direkt im Browser des Nutzers ausgeführt, was ein paar Vorteile hat:

  • Ist generell schneller
  • Verringert die Last auf dem Server
  • Beim gemeinsamen Bearbeiten kann jeder seine eigenen Änderungen rückgängig machen, nicht die letzte kollektiv gemachte Änderung

Im Hintergrund wird dafür beim Öffnen die Datei in OnlyOffice geladen und in der eigenen Datenbank abgespeichert. Alle Änderungen werden zusätzlich in der Datenbank vermerkt. Sobald die Datei fertig bearbeitet wurde, wird diese zurück nach Nextcloud geschrieben. Dies passiert erst, wenn alle Nutzer die Bearbeitungsansicht verlassen haben.
OnlyOffice zeigt zwar auch zwischendurch an, dass es alle paar Sekunden speichert und man kann dies auch manuell tun, jedoch wird der aktuelle Zustand nur in der OnlyOffice Datenbank vermerkt.

Die neue OnlyOffice App von Nextcloud, welche die Nutzung fast aller Funktionen auch ohne separate OnlyOffice Instanz ermöglich, verhält sich sehr ähnlich. Da aber viele Komponenten in PHP neu geschrieben wurden, ist diese Variante leicht langsamer und stößt früher an ihr Grenzen.
Der Ablauf des Bearbeiten ist generell sehr ähnlich, jedoch werden ein paar Tabellen in der Nextcloud-Datenbank verwendet, anstatt dies auszulagern. Auch hier wird die Datei erst geschrieben, wenn alle Nutzer die Bearbeitungsansicht verlassen haben.
Aufgrund der Art wie Nextcloud und OnlyOffice sich unterscheiden, bekommt diese neue App dies meist nicht sofort mit, sondern erst wenn der Server die regelmäßigen Aufgaben (Cron-Jobs) durchführt, was alle 5 bist 15 Minuten passiert. Es ist also möglich, dass die Datei erst nach 15 Minuten nach Nextcloud geschrieben wird.

Die aktuellen Änderungen sind weiterhin zu sehen wenn man die Datei in OnlyOffice öffnet, aber nicht vorhanden wenn man die Datei in Collabora oder lokal öffnet oder herunterlädt.

Probleme beim Speichern

Da es ab und zu vorkommt. dass ein Nutzer seinen Tab mit OnlyOffice nicht schließt oder es ein Problem beim Beenden der Verbindung gab, wird die Datei nie nach Nextcloud zurückgeschrieben, da OnlyOffice annimmt, dass noch jemand das Dokument bearbeitet. Dies kann in beiden Varianten der OnlyOffice Integration auftreten[1].
Wird die letzte Verbindung/Session zum Dokument erst geschlossen wenn die Datei in Nextcloud bereits erneut geändert wurde, kann OnlyOffice die Änderungen nicht zurück nach Nextcloud schreiben/speichern. Nichtmal eine zweite Datei mit Informationen zum Konflikt kann angelegt werden, da Nextcloud das ETAG (zufälliger Wert um zu erkennen, ob sich eine Datei geändert hat) einer Datei verwendet um diese im System von Nextcloud zu finden. Hat sich dieses geändert, kann der Rückschluss nicht mehr erfolgen.

Zusätzlich gibt es bei der App-Version beim Rückspeichern von Dateien aus geteilten[5], vor allem Gruppenordnern[6], immer wieder Probleme wegen eines internen Fehlers der erst kürzlich zum Teil gefixt wurde, damit dies bei neuen Dateien nicht mehr auftritt oder zumindest früher auffällt. Bei Dateien bei denen der Fehler vor dem Fix auftrat besteht das Problem jedoch weiterhin.
Da der Speichervorgang bei Fehlern bei einer einzigen Datein stoppt[7,8], wirkt sich das Problem auf nicht betroffene Dateien aus. Auch hierfür gibt es inzwischen einen Fix [9].

Datenverlust vermeiden

Um möglichst schnell die Probleme los zu werden, haben wir umgehend OnlyOffice für alle Nutzer deaktiviert. Um zu Verhindern, dass während der Prüfung und Datenrettung bereits weitere Änderungen an den Dateien vorgenommen werden, haben wir dies auch für Collabora vorgenommen.
Die Strategie war die paar Dateien zu identifizieren die Fehler werfen und verhindern, dass andere Dateien gespeichert werden. Im besten Fall beheben wir die Fehler und die Änderungen an diesen Dateien werden auch gespeichert. Falls dies nicht möglich ist müssen die Änderungnen an diesen Dateien verworfen werden, damit die gesunden Dateien gespeichert werden können. Nur 3 Dateien machten Probleme, 2 davon waren von einem unserer Admins und bekannt. Ein weiterer Nutzer mit dem wir eng in Kontakt stehen war auch betroffen. Hier konnten wir die Änderungen trotz der Probleme per Hand wiederherstellen.

Sobald diese Hürden genommen waren, konnten wir manuell mit folgendem Befehl die in OnlyOffice verbliebenden Änderungen zurück nach Nextcloud schreiben: occ documentserver:flush (der Befehl wird auch bei der Ausführung des Cron-Jobs durchgeführt)
Für einige wenige Dokumente konnten die Änderungen nicht angewandet werden, da diese sich bereits in Nextcloud geändert hatten. Ein Anwenden auf geänderte Dateien ist nicht möglich. Die Nutzer die betroffen sind werden kontaktiert. Da sie die Dateien bereits selber (lokal oder über einen anderen Editor) bearbeitet haben, solltet Ihnen dies bereits bewusst sein und sich der Datenverlust in Grenzen halten.

Massiv geholfen hat uns die Vorarbeit und Recherche[5] von danielegobbetti auf Github.

Mobiles Editieren nun kostenpflichtig

Mit Version 5.5.0 des DocumentServers von OnlyOffice wurde die mobile Editierfunktion auf die bezahlte Version eingschränkt[10].
Da dies eine Funktion ist, die gerade erst eingeführt und in die viel Zeit von der Community viel Zeit gesteckt wurde, ist der Ärger darüber sehr groß. Außerdem sind die Preise für uns mit unserer Anzahl von Nutzern nicht tragbar.

Fazit

Solche Probleme und der generell Umgang mit der Community erschüttert das Vertrauen natürlich und es ist fraglich, ob wir OnlyOffice überhaupt nochmal einsetzen werden. Wenn überhaupt, dann werden wir wieder eine externe Instanz verwenden und den Editor nur für die Microsoft Formate freigeben, wo wir keine Fehler beim Speichern feststellen konnten. Vorerst wird es bei der Nutzung von Collabora, welches wieder aktiviert ist, bleiben. Auch dieses biete eine Funktion zum mobilen Editieren an.

Bei Fragen und Rückmeldungen meldet Euch gerne bei uns.

Quellen

  1. https://github.com/ONLYOFFICE/onlyoffice-nextcloud/issues/21#issuecomment-609426502
  2. https://github.com/nextcloud/documentserver_community/issues/12
  3. https://github.com/nextcloud/documentserver_community/issues/100
  4. https://github.com/nextcloud/documentserver_community/issues/103
  5. https://github.com/nextcloud/documentserver_community/issues/96
  6. https://github.com/nextcloud/documentserver_community/issues/110
  7. https://github.com/nextcloud/documentserver_community/issues/100#issuecomment-620439245 (doesnt continue saving on error)
  8. https://github.com/nextcloud/documentserver_community/issues/12#issuecomment-590277044
  9. https://github.com/nextcloud/documentserver_community/pull/113
  10. https://github.com/ONLYOFFICE/DocumentServer/blob/ONLYOFFICE-DocumentServer-5.5.0/CHANGELOG.md#mobile-editors

Previous Post