cck imagefield replace image löscht das alte image nicht
am 27.11.2008 - 12:05 Uhr in
Hallo,
Ich bin Drupal-Neuling und teste nun kräftig herum. Zuallererst mal eine Anmerkung: ich bin begeistert! Die Möglichkeiten der Gestaltung von Inhalten sind scheinbar gigantisch, zumindest wenn man sich mal die verfügbaren Module anschaut. Und das styling ist wunderbar einfach gelöst, man kann unheimlich viel per css anpassen.
Einige Probleme habe ich aber schon bemerkt, und würde nun gern wissen, Bug oder Feature?
Zur Situation:
Drupal 6.6 Installation mit cck, filefield, imageapi, imagefield, imagecache, contemplate und einigen anderen Modulen.
Einen neuen Artikeltyp erstellt, einige Bildfelder hinzugefügt, testinhalt erstellt mit Bildern. Ersetze ich nun ein Bild oder entferne es, so wird das File nicht auf dem Server gelöscht ... es sammelt sich also "Datenmüll" an. Bug oder Feature? Ähnlich ist es natürlich mit Artikeln, die zwar bearbeitet aber aus irgendeinem Grund nicht gespeichert werden.
Gibt es eine Möglichkeit, da automatisch aufräumen zu lassen, also Dateien zu entfernen, welche zu keinem node gehören?
Eine weitere Frage: ist es möglich, mittels contemplate auf alle bei imagecache definierten presets zuzugreifen? Ich finde bei den "body variables" nur die vorher definierte größe :(
Edit:... zweite frage schon gelöst...: theme('imagecache', '', $node->field_[$i]['value'])
contemplate ist genial :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Willkommen bei
am 27.11.2008 - 12:52 Uhr
Willkommen bei Drupal.
Die Möglichkeiten der Gestaltung von Inhalten sind scheinbar gigantisch
Stimmt.
Im weiteren erweist es sich als guenstig die Drupalversion zu kennen.
Ausserdem bitte fuer Fragen/Probleme unterschiedlicher Thematik getrennte Threads eroeffnen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Tostan schrieb Zur
am 27.11.2008 - 13:02 Uhr
Zur Situation:
Drupal 6.6 Installation mit cck, filefield, imageapi, imagefield, imagecache, contemplate und einigen anderen Modulen.
Das steht zwart im Thread drin, aber eigentlich hättest Du das beim erstellen im dafür vorgesehenen Feld auswählen sollen. Das macht es einfacher den Beitrag zuzuordnen.
Gruss Roger
Gruss Roger
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen
Drupal 6.6 - habe ich
am 27.11.2008 - 13:12 Uhr
Drupal 6.6 - habe ich uebersehen da ich meist nur nach oben an den Thread gucke welcher Drupalversion der Thread zugeordnet ist. Sorry.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Sorry, das hab ich völlig
am 27.11.2008 - 14:21 Uhr
Sorry, das hab ich völlig übersehen. Ich werd mich bessern :) Und auch in zukunft für jedes Problem einen Thread erstellen :)
Gibt es keine Lösung?
am 29.11.2008 - 10:28 Uhr
Gibt es keine Lösung für das Problem?
Nicht nur, dass es Datenmüll ist, welcher der verfügbaren Platz zuspammt, nachdem ein Bekannter eine Abmahnung für ein Bild erhalten hat, welches zwar auf dem Webserver lag aber nirgendwo verlinkt war, bin ich etwas paranoid, was sowas angeht.
Wenn man ganz paranoid denkt, ist das sogar eine Sicherheitslücke. Man könnte sich üble Leute vorstellen, welche Beiträge schreiben, Bilder hochladen und dann nicht abspeichern. Die URLs der Bilder(Drupal ändert den Dateinamen ja nicht, solange eine Datei mit dem Namen nicht schon existiert!) werden dann über andere Wege verteilt und so könnte die Installation zum Beispiel als Verteiler für verbotene Bilder missbraucht werden! Sowas kann böse ins Auge gehen.
Datei-Leichen im Ordner /files - ein Usability-Bug
am 29.11.2008 - 12:45 Uhr
Das Verhindern von Datenmüll durch Datei-Leichen wie auch klare Strukturen bei Imageuploads durch User sind mir bei Drupal seit längerem im Auge. Bisher konnte ich feststellen das Drupal keine Probleme bezüglich Image-Datei-Leichen macht. Soll heissen, vom System hochgeladene Bilder werden vom System auch wieder entfernt.
Ein Problem gibt es allerdings.
Wird ein Bild per CCK Field mit einer Node auf den Server geladen (vom System also) dann existiert dieses Bild im entsprechenden Ordner. Nehmen wir an die Imagedatei hat den Namen "foobar.png".
Wird nun genau diese Imagedatei erneut mit der Node (bearbeiten) heraufgeladen dann wird neben die bereits existierende Datei "foobar.png" eine Imagedatei mit dem Namen "foobar_0.png" abgelegt. Zu diesem Zeitpunkt existiert das gleiche Bild also 2 Mal auf dem Server.
Dieser Vorgang wiederholt sich mit erneutem Hochladen der Datei"foobar.png" so das es mehrere Dateien auf dem Server geben kann nach dem Schema: foobar.png, foobar_0.png, foobar_1.png, foobar_2.png, usw.
Jetzt kommt der Punkt an dem Datei-Leichen entstehen.
Wird mit der Node das aktuelle Bild gelöscht so wird NUR eine Datei auf dem Server gelöscht. Und zwar die Datei welche mit dem Bild in der Node identifiziert wird. Dies ist die als Letzte heraufgeladene Imagedatei - aus Sicht der Node also die aktuelle Datei. Ist dies beispielsweise die Datei "foobar_1.png" so bleiben die Dateien "foobar.png" und "foobar_0.png" als Datei-Leichen auf dem Server.
Aus meiner Sicht ist dieses Verhalten ein Usability-Bug.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Dateien umbenennen
am 29.11.2008 - 15:29 Uhr
Dieser Vorgang wiederholt sich mit erneutem Hochladen der Datei"foobar.png" so das es mehrere Dateien auf dem Server geben kann nach dem Schema: foobar.png, foobar_0.png, foobar_1.png, foobar_2.png, usw.
Das macht sogar Sinn, denn wie oft kommt es vor, daß ein Dateiname zweimal vergeben ist.
Zum Beispiel liest Du den Chip Deiner Kamera aus, hast Du DSC001.jpg oder so ähnlich, natürlich löscht Du die Daten auf dem Chip, um wieder Platz zu haben. Beim nächsten Auslesen ist es ziemlich wahrscheinlich, daß eine andere Datei eben auch DSC001.jpg heisst.
Ich gebe Bildern, Foto's etc. die ich hochlade möglichst eindeutige Namen, das ist zwar ein wenig Arbeit mehr, so habe ich aber Ordnung und sehe halbwegs durch, wenn mal was schiefläuft.
Was die Dateien in den Preset-Ordnern (imagecache/thumbs o.ä.)betrifft, die werden beim Löschen der Node nicht automatisch gelöscht, vielleicht ja beim nächsten Cronlauf(?), habe ich aber ehrlich gesagt noch nicht weiter ausprobiert. Auf alle Fälle gibt's ja immer noch Flush (...admin/build/imagecache),gut zum "Reinigen" des Ordners Imagecache. Die damit gelöschten Dateien werden beim nächten Aufruf der entsprechenden Nodes wieder hergestellt.
Usability-Bug bei Bildupload
am 29.11.2008 - 18:52 Uhr
Ich gebe Bildern, Foto's etc. die ich hochlade möglichst eindeutige Namen, das ist zwar ein wenig Arbeit mehr, so habe ich aber Ordnung und sehe halbwegs durch, wenn mal was schiefläuft.
Genau an dieser Stelle kommt der Usability-Bug zum Tragen.
Denn genau dieser Umstamd wird beim Handling von Bildern, beispielsweise beim Einfuegen/Hochladen eines Bildes beim Bearbeiten einer Node dem Anwender nicht bekannt gemacht.
Nun muss man aber nicht glauben das von diesem Bug nur ein Dau betroffen ist. Die ablaufende Logik ist ganz normale Anwendungslogik, eben Usability. Mit dieser Usability hat es jeder Anwender zu tun.
Einzig der erfahrene Drupal-Anwender kommt in diesem Moment ueberhaupt auf die Idee an das Problem mit gleichen Dateinamen zu denken und auch sein Handeln danach auszurichten.
Die Problematik gleicher Dateinamen ist aktuelle sozusagen auf den "kleinsten gemeinsamen Nenner" ausgerichtet. Soll heissen dem Anwender die Arbeit so einfach wie moeglich zu machen.
Eine Moeglichkeit fuer eine eventuelle Loesung als Ausweg aus diesem Dilemma/dieser Situation waere, zumindest dem Admin die Change zu geben mit diesem Umstand konfrontiert zu werden in dem in der Administration entsprechende Optionen fuer eine Konfiguration und damit fuer das Verhalten des Systems bei Uploads von Bildern an die Hand gegeben werden.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Es muss nicht immer an Imagecache liegen
am 30.11.2008 - 10:10 Uhr
Es giebt leider auch Situationen, in denen Imagecache beim Löschen der Nodes nicht die dazugehörigen Dateien löscht, und zwar, wenn http-Requests aus irgendeinem Grund fehlerhaft ausgeführt werden oder irgendwo im Nirvana versacken. Z.B ist an meinem Arbeitsplatz (Heiligendamm in Mecklenburg) kein DSL verfügbar sondern nur so eine Web'n Work-Box von T-Mobile, da ist Arbeiten mit Imagecache schier unmöglich. http://www.drupalcenter.de/node/14756
Viele liebe Grüße