Project

General

Profile

Fehler #275

Löschen von DMS-Anhängen wirft Fehler

Added by Jan Büren over 3 years ago. Updated over 3 years ago.

Status:
Gelöst
Priority:
Normal
Assignee:
Martin Helmling
Target version:
Start date:
07/20/2017
Due date:
% Done:

100%

Estimated time:

Description

Fehlermeldung:
no file found in backend or configuration to filesystem is wrong at SL/File/Backend/Filesystem.pm line 88.

Reproduzierbar mit:

Artikel anlegen.
Dokument hochladen.
Dokument löschen.

Buff

Mandantenkonfig:
Dateimanagement: EIN
Dateispeicher: Dateien

mandantenkonfiguration.png (60.3 KB) mandantenkonfiguration.png Mandantenkonfiguration Jan Büren, 07/20/2017 05:04 PM

Associated revisions

Revision cff4d333 (diff)
Added by Martin Helmling martin.helmling@octosoft.eu over 3 years ago

FileManagement: Konsistenzprüfung zwischen Backend und Datenbank, hier Backend Filesystem

Das script 'scripts/sync_files_from_backend.pl' prüft, ob die Dateien im Backend noch vorhanden sind.
Dabei wird nach der aktuellsten Version gesucht, ist diese vorhanden ist ok,
ist diese nicht vorhanden werden die Versionen davor gesucht und ggf. die Version in der DB heruntergesetzt.
Ist keine Dateimehr vorhanden wird der Datenbankrecord gelöscht.

fixt #275

History

#1 Updated by Jan Büren over 3 years ago

Es sieht danach aus, dass Löschen die Version hochzählt.

Es wäre zusätzlich schön mehr Info an der Oberfläche zu erhalten - Wenn schon Fehler dann bitte mit schnellere Hilfe zur Selbsthilfe.

Der Fehler ist in get_mtime, wenn ich das die leicht erweitere, erhalte ich immerhin:

die "no file found in backend or configuration to filesystem is wrong $path" if !-f $path;

Und siehe da:
/usr/local/src/kivitendo-jan/kivi_documents/1/0003/3/3_1

Meine Vermutung ist jetzt dass das Löschen die Versionsnummer hochzieht.
get_mtime macht ein "die" mit solch einer Meldung und behauptet das DMS ist falsch konfiguriert?

Der Check wäre an einer anderen Stelle sicherlich besser aufgehoben.
Wünschenswert wäre: "Cannot check modified time for file blahbluhblah"

Das ist bestimmt nur ein kleiner Logik-Fehler weiter am Anfang des Features

#3 Updated by Martin Helmling over 3 years ago

  • Status changed from Neu to In Bearbeitung
  • Assignee set to Martin Helmling
  • Target version set to 3.5

Der Fehler tritt bei mir nur auf wenn DEBUG ausgeschaltet ist. Der Zugriff auf die Methode file.mtime_as_timestamp_s im HTML template
löst den Fehler aus beim refresh der vorhandenen Dateien. Hier wird die gelöschte Datei versucht auch darzustellen.

#4 Updated by Martin Helmling over 3 years ago

  • Status changed from In Bearbeitung to Erledigt
  • % Done changed from 0 to 100

Hier war ein return 1 im Code verschwunden

#5 Updated by Jan Büren over 3 years ago

  • Status changed from Erledigt to In Bearbeitung
  • Target version changed from 3.5 to 3.5.1
  • % Done changed from 100 to 80

Hi,
ok bei Neuanlegen von Artikeln tritt der Fehler jetzt nicht mehr auf.

Wie ist dein Plan für die Migration der korrupten Datensätze?

Also ich kann jetzt bei dem Artikel wo der Fehler auftrat die Funktion Dateianhang leider gar nicht mehr verwenden.

Die Fehlermeldung von oben bleibt bestehen, die ist immer noch nicht klar und verursacht beim kivi-Admin unnötigte Mehrarbeit:
Hey, ich hab das Backend sauber konfiguriert - Welche Datei kann der nicht öffnen?

#6 Updated by Jan Büren over 3 years ago

Mit c5dc49746255, hat der Admin jetzt mehr Analyse-Möglichkeiten.

psql
$ delete from files where id = $file.id;

Danach ist der inkosistente Zustand behoben und es können wieder Dateianhänge hinzugefügt werden.

Ich würde auch gar nicht davon ausgehen, dass Dateien nicht korrupieren oder verschwinden und dementsprechend wäre ein DMS Konsistenz-Check prinzipiell auch sinnvoll.

#7 Updated by Anonymous over 3 years ago

  • Status changed from In Bearbeitung to Gelöst
  • % Done changed from 80 to 100

Status geändert durch Changeset kivitendo-erp|commit:cff4d3332201b41a504878734475f7c9328a15be.

Also available in: Atom PDF