Data "lost" when editing on OO. Ghost/split sessions
On a eu 2 retours sur support de pertes de données sur des documents onlyoffice Dont un qui disait que parfois iels se retrouvées sur le même document mais ne voyaient pas les autres éditer
Pour un contrib, à confirmer pour l'autre, on retrouvait bien la version du document dans l'historique. Le document a bien été sauvegardé mais la dernière version n'était pas la bonne.
Après avoir investigation, nous avons remarqué que l'on peut split des sessions sur OnlyOffice.
Quand on ouvre un document dans onlyoffice dans la table onlyoffice_filekey nextcloud associe l'id du fichier avec un id OnlyOffice ce qui permet de lier les sessions OO à un document. Si j'update une autre version du document via le client de synchro (faut quand même que je force la sauvegarde dans libreoffice qui me prévient que le document a été modifié entre temps) ou si j'upload le document à la main. L'entrée dans cette table est supprimée. Ceux qui sont encore en train d'éditer se retrouve dans une session fantôme. Si j'ouvre le document je me retrouve dans une nouvelle session et au final on ne se voit plus. On se retrouve donc avec plusieurs versions du doc en //
Ca semble expliquer les problèmes que l'on nous a remonté.
On a deux solutions:
-
Drop session La solution serait de drop les sessions quand onlyoffice supprime cette ligne dans la base de données. Niveau code ca reste assez simple. Donc ceux qui éditent auront un warning qui leur dira déconnecté, veuillez télécharger le document pour ne pas perdre vos données et recharger la page.
-
Use file lock + nc 24 Dans la version oo pour nc 24 ils ont implémenté le file lock. Ca évite de se retrouver dans cette situation. Par contre ca demande d'ajouter l'app -> https://github.com/nextcloud/files\_lock et d'update en 24 Du coup un nouveau monde de potentiels problèmes qui s'ouvre à nous
🙃