Ich habe auf meiner Site etwas Seltsames bemerkt: Nach dem Anhängen einer Datei an einen Knoten (über das reguläre Dateifeld) wird diese Datei nie vom Server gelöscht . Ich entferne es vom Knoten, speichere diese Änderung, aber ich kann sehen, dass sich die Datei noch auf dem Server befindet.
Dies macht das Ersetzen von Dateien sehr schwierig, da beim Versuch eines Benutzers, einen Ersatz anzuhängen, dem Dateinamen das Suffix "_0" oder "_1" hinzugefügt wird (da sich die Originaldatei noch auf dem Server befindet und der Name dadurch dupliziert wird). . Das bedeutet, dass wir alle Links zu der Datei finden und jeden so bearbeiten müssen, dass er mit dem neuen Dateinamen / der neuen URL übereinstimmt. Es ist ein totales Durcheinander.
Ich suche online und niemand scheint dieses Problem zu haben - die Dateien sollten vom Server gelöscht werden, sobald sie vom Knoten entfernt wurden.
Irgendwelche Ideen, warum dies in meinem Fall passieren könnte? Ich bin mir nicht sicher, wo ich anfangen soll. Sicherlich hat die Konfigurationsseite 'Dateisystem' nichts dergleichen als Option, die möglicherweise aktiviert wurde. Und die Feldoptionen selbst scheinen nichts von der Art zu haben, die ich möglicherweise versehentlich festgelegt habe. Irgendwelche anderen Ideen?
Antworten:
Ich habe es verstanden! Es ist eine Revisionssache. Ich denke es macht Sinn. Wenn Sie für diesen Inhaltstyp Revisionen aktiviert haben, bleiben alle Ihre alten Dateien auf dem Server (im Zusammenhang mit alten Revisionen), sodass das Ersetzen einer Datei definitiv schwieriger ist. Wenn Sie versuchen, es zu entfernen und erneut zum Knoten hinzuzufügen, wird der Name / Link aktualisiert, wie in meiner Frage erwähnt. Da eine Datei mit diesem Namen auf dem Server gespeichert bleibt und eine Namensduplizierung vorliegt, werden diese Suffixe "_0", "_1" usw. zu zukünftigen hochgeladenen Versionen des Dateinamens hinzugefügt.
Ich verstehe jedoch, warum dies geschieht, da der ganze Sinn der Überarbeitung darin besteht, auf jede frühere Version der Seite zurückzugreifen.
Die Problemumgehung besteht darin, dass Sie die alte Revision tatsächlich von der Registerkarte "Revision" oder "Moderieren" löschen können (wenn Sie die Workbench-Moderation verwenden), die die Datei enthält, die Sie ersetzen möchten. Laden Sie es dann erneut hoch, und der Name sollte übereinstimmen, ohne dass Sie zurückgehen und Links bearbeiten müssen, die auf diese Datei verweisen.
Hoffe das macht Sinn und hilft auch jemand anderem!
quelle
Ich hatte den gleichen Anwendungsfall (ich wollte Dateien ersetzen, während der Dateiname beibehalten wurde), und der folgende Code in einem benutzerdefinierten Modul hat dieses Ziel erreicht. Dieser Code basiert auf dem Entity-API- Modul und sollte daher als Abhängigkeit in die Info-Datei Ihres Moduls eingefügt werden. Feedback willkommen.
Dies ermöglicht das sofortige Löschen von Dateien, nachdem Sie auf "Entfernen" geklickt und den Knoten gespeichert haben. Warnung: Dies bedeutet auch, dass Sie beim Entfernen einer Datei und Speichern des Knotens diese Datei nicht zurückerhalten können, indem Sie auf eine frühere Version zurücksetzen.
quelle
Ich habe ein Modul erstellt, das verwaiste Dateien löscht, wie in diesem Thread erwähnt:
https://www.drupal.org/project/fancy_file_delete
Es kann auch das manuelle Löschen von Dateien und nicht verwaltete Dateien erzwingen.
quelle
Dies kann ein Berechtigungsproblem auf dem Server sein. Versuchen Sie dasselbe bei einer Neuinstallation. Wenn das gleiche Problem auftritt, liegt es am Server und nicht an Drupal.
Gibt es etwas in den Protokollen?
quelle
Ich hatte kein Glück damit, alte Revisionen zu löschen oder Knoten ohne die angehängten Dateien zu speichern und zurückzukehren. Dies sind die einzigen Dinge, die immer funktionieren:
Ich hasse die zweite Option absolut, weshalb ich hier nach einer anderen Lösung suche.
(Ich könnte auch aus dem Rahmen treten, da ich eine Reihe von Clients habe, auf denen D6 ausgeführt wird.)
quelle
Dieses Problem trat auch bei der Workbench-Moderation auf, und beim Einfügen von Dateifeldern wurden die alten Versionen der hochgeladenen Dateien angezeigt, wenn Dateien mit demselben Namen in verschiedenen Versionen eines Dokuments erneut hochgeladen wurden.
Um einen reibungslosen Ablauf zu gewährleisten, fügen Sie die VID des Knotens als Ordner zum Datei-Upload-Pfad hinzu. Normalerweise mache ich so etwas.
Ordnerpfad = Assets / [Knoten: nid] - [Knoten: Titel] / [Knoten: vid]
Ja, es sind hässliche lange Ordner mit Unterordner-Wahnsinn, aber Sie können Dateien sehr einfach über die Knoten-ID oder den Titel finden, und dann verhindert der Unterordner Namenskollisionen, sodass Sie viele Versionen derselben Datei mit demselben Namen behalten können. Später können Sie dann die alten Revisionen löschen, wenn Sie Speicherplatz bereinigen möchten.
quelle