Ordner und Images (0c 3b 3e ...)

Alle Originalbilder wurden bisher (auch noch Version 5.0.0) in media/images gespeichert. Jetzt werden darunter so Ordner in der Art 0c, 3b, 3e … erzeugt (Hexadezimale zahlen?) Nach welchem System werden diese Ordner erstellt ? Und wo stehen diese Ordner in der Datenbank. Viele Grüße KErstin

Siehe https://github.com/shopware/shopware/bl … UPGRADE.md [quote] Introducing the MediaBundle to support huge amounts of media items and add support for CDN’s (Content Delivery Network) Added library thephpleague/flysystem to switch the underlying filesystem. Media directory structure has been changed Paths in s_media are now virtual paths, meaning that the files will no longer be accessible with the given path. A MediaBackend decides how and where media files are getting stored (e.g. /media/image/blue_shoes_size37.jpg could be /media/image/e0/77/f8/blue_shoes_size37.jpg) A MediaService handles file operations and generation of urls A MediaPathNormalizer removes all unrelevant parts of a string to get a coherent syntax like media/image/blue_shoes_size37.jpg A live migration, which is disabled by default, migrates media files to the new filesystem and format as they get requested The store front, product feed and api endpoints have already been updated to make use of the underlying filesystem. Added sw:media cli commands to easily manage your new media system sw:media:migrate migrates from one filesystem to another E.g. use sw:media:migrate --from=local --to=aws to migrate all media items to Amazon S3[/quote] Viele Grüße

Vielen Dank. Ganz schlau werde ich nicht daraus. Verstehe auch nicht genau, warum das gemacht wird. Wie werden denn diese Ordner gebildet? Gibt es dafür eine bestimmte Methode? Oder kann man dieses “MediaBackend” irgendwie einstllen ? Viele Grüße Kerstin

Hallo, ich habe das jetzt nicht genau im Kopf. Meine aber das ein Hash ermittelt wird und daraus werden dann automatisch Ordner erzeugt. (Müsste sonst nochmal unsere Entwickler anhauen :-)) Das passiert komplett automatisch. Da hast du so keinen Einfluss drauf. Sinn dahinter ist z.B. der, dass nicht mehr alle Bilder in einem Ordner liegen. Ab bestimmten Mengen ist das bisher einfach nicht mehr handelbar gewesen. Die Ordner wurden bei großen Systemen so groß, dass Mann ggf. nicht mehr drauf zugreifen konnte, z.B. per FTP Programm den Ordner einsehen. Jetzt wird das besser in verteilt und der neue Service bietet erstmals zentrale Möglichkeiten auf Bilder von überall zuzugreifen oder auch Medien auf anderen Servern (CDN) abzulegen. Hoffe das hilft dir weiter Sebastian

Vielen Dank, ist ein bisschen klarer. Wobei es kaum Sinn macht mit FTP darauf zuzugreifen, weil man kaum eine Chance hat, ein Bild zu finden. [quote](Müsste sonst nochmal unsere Entwickler anhauen :-))[/quote] Wäre sehr nett, ich bräuchte das Prinzip, wie diese Ordner erstellt werden. Viele Grüße KErstin

Hier der entsprechende Beitrag aus der Doku: https://developers.shopware.com/develop … a-service/ Viele Grüße

1 „Gefällt mir“

es sind die ersten 6 Zeichen des MD5-Hashes vom Namen inkl. Pfad ab “media” z.B. media/image/bienen_teaser.jpg: md5(‘media/image/bienen_teaser.jpg’) = ‘a8c36fe5227a5cb5d59a72f5e1d41f71’ also Verzeichnis: media/image/a8/c3/6f vgl. https://github.com/shopware/shopware/bl … er.php#L74 Grüße, Sven

5 „Gefällt mir“

noch als Ergänzung: z.B. unter http://www.miraclesalad.com/webtools/md5.php kannst du den Namen in ein Formular eingeben und bekommst den Hash - dann musst du das nicht selbst (in PHP) machen Grüße, Sven

2 „Gefällt mir“

super, hab mal ein bisschen damit rumgespielt und es klappt. Gibt es eine md5 Funktion auch für Excel? Liebe Grüße Kerstin

1 „Gefällt mir“

Siehe http://lmgtfy.com/?q=excel+md5 Viele Grüße

1 „Gefällt mir“

lol :slight_smile: Ne, ich habe das natürlich gegoogelt, was denkst du. Aber ich habe nichts vernünftiges gefunden und dachte, vielleicht hat hier jemand einen Tipp. Viele Grüße Kerstin

Hallo, ich würde mich hier gerne mit meinen Fragen dran hängen. Ich habe mit 5.1.1 gestartet und einige Produktbilder hochgeladen. Hierzu hab ich im Mediamanager unter Artikel einen Ordner wintermantel angelegt, dort hinein dann 10 jpg-Dateien geladen, die alle den Namen Wintermantel gefolgt von einer Zahl haben. Für jede Datei wurden die drei Unterordner angelegt. (Wenn ich jedoch von der Erklärung mit diesem Hash ausgehe, müssten dann nicht einige zumindest im gleichen Unterordner landen?) Lösche ich nun im Mediamanger ein Produktbild, sind diese drei Ordner alle leer, aber werden scheinbar nicht automatisch gelöscht. Ist das richtig so? Sofern die leeren Ordner bestehen bleiben, wird es wirklich unübersichtlich. Nun kommt es vor, dass ich ein Produktbild austauschen möchte. Da es an unterschiedlichen Stellen verlinkt ist und ich nicht alles ändern möchte, lade ich das neue Bild mit identischem Dateinamen hoch. Bei jeder anderen Internetseite funktioniert das zumindest. Aber wie ist es hier? Lade ich über Mediamanager, werden vermutlich wieder neue Unterordner erzeugt. Wenn ich per ftp in den bestehenden Ordner laden will, geht die Sucherrei los. Bisher erscheint mir das alles noch sehr kompliziert…

Moin, generell wird es natürlich unübersichtlich im Dateisystem. Generell werden die Bilder ja in 3 Unterordner geschoben. Jede Ebene kann bis zu 256 Ordner haben. Wenn wirklich jeder mögliche Ordner erstellt wird hast du mehrere Millionen Ordner in denen sich die Bilder “verstecken”. Das kann nur unübersichtlich sein. Da bringt es auch nicht viel jedes Mal wenn ein Bild gelöscht wird zu prüfen ob der Ordner jetzt leer ist um ihn zu löschen. Ich denke aber das es durchaus richtig so ist. Das neue System dient nicht der Übersichtlichkeit. Sondern der Performance! Dateisysteme finden es nicht so lustig wenn zehntausende Dateien in einem einzigen Ordner liegen. Mit dieser neuen Unterteilung hat man vielleicht einige dutzend Bilder pro Ordner - das ist wesentlich schneller. In der Wiki zu der neuen Medienverwaltung ist auch ein Smarty-Plugin erklärt mit dem man sich die Bild-URL holen kann ohne die echte URL zu kennen. Betrachte das einfach als “Black-Box”. Du musst nicht wissen wo die Bilder genau liegen, das System weiß es. P.S.: Und ganz nebenbei: Die korrekte Verwendung der neuen Medienverwaltung hat auch den großen Vorteil, das man theoretisch sehr einfach auf ein CDN umstellen kann, ohne große Anpassungen vornehmen zu müssen!

CDN sagt mir nichts :slight_smile: Ich würde normalerweise nicht händisch in der Ordnerstruktur arbeiten. Nur eben frag ich mich, wie ich ein Bild austauschen kann, wenn es mit gleichem Namen an gleichem Speicherplatz liegen muss, das es vlt. extern verlinkt ist oder so… Dann muss ich wohl in den Ordnern suchen. Nebenbei kann ich in der Medienverwaltung nicht den Pfad der Datei kopieren, wie es in der Doku beschrieben ist. Er lässt sich gar nicht erst markieren. Oder ist das ein Specialeffect?

[quote=“Toric”]CDN sagt mir nichts :-)[/quote] “Content-Delivery-Network” - Das sind Dienste bei denen man Bilder oder sonstige statische Dateien auslagern kann. Amazon bietet z.B. einen CDN Dienst an. Das entlastet deinen Webserver und macht den Aufruf der Seite i.d.R. schneller. Lohnt sich aber meist erst bei größeren Shops mit viel Traffic. [quote=“Toric”] Ich würde normalerweise nicht händisch in der Ordnerstruktur arbeiten. Nur eben frag ich mich, wie ich ein Bild austauschen kann, wenn es mit gleichem Namen an gleichem Speicherplatz liegen muss, das es vlt. extern verlinkt ist oder so… Dann muss ich wohl in den Ordnern suchen.[/quote] Du kannst das alte Bild in der Verwaltung doch einfach löschen und neu hochladen. Wenn der Name gleich bleibt sollte das kein Problem sein. Aber für einen solchen Fall wäre eine Funktion zum ersetzen der Bilder ganz praktisch, vielleicht kommt das ja noch :wink: [quote=“Toric”] Nebenbei kann ich in der Medienverwaltung nicht den Pfad der Datei kopieren, wie es in der Doku beschrieben ist. Er lässt sich gar nicht erst markieren. Oder ist das ein Specialeffect?[/quote] Ich konnte ihn -fast - ohne Probleme kopieren. Das Feld verhält sich nur etwas seltsam da es deaktiviert ist. Was immer gut klappt: 3x schnell hintereinander klicken - das markiert normalerweise die komplette Zeile, hier aber einfach den Inhalt des Textfeldes.

wo fängt den “größer” an und ab wann ist es “viel” Traffic? Bisher liegt alles noch bei einem anderen Anbieter, da muss ich mich nicht kümmern und es läuft immer… Dann bin ich ja froh, dass das Kopieren nicht nur bei mir nicht hinhaut :smiley:

Hier wurde Thema bereits ausführlich diskutiert: allgemein-f98/tausend-ordner-auf-dem-ftp-media-image-t32093.html Viele Grüße

[quote=“hec”]es sind die ersten 6 Zeichen des MD5-Hashes vom Namen inkl. Pfad ab “media” z.B. media/image/bienen_teaser.jpg: md5(‘media/image/bienen_teaser.jpg’) = ‘a8c36fe5227a5cb5d59a72f5e1d41f71’ also Verzeichnis: media/image/a8/c3/6f vgl. https://github.com/shopware/shopware/bl … er.php#L74 Grüße, Sven[/quote] Hallo Sven, also bei beispielsweise md5(“media/image/Sonnenbrille-rot.jpg”) kommt bei mir “/c7/bd/00” raus, wenn ich das aber auf eine Thumbnail abbilde, bspw. md5(“media/image/Sonnenbrille-rot_200x200.jpg”), kommt dagegen “44/99/b5” raus - Shopware speichert in diesem Fall aber “0c/65/a7” ab. Ist das bei Thumbnails anders geregelt oder wieso kommt bei mir mit md5 nicht das richtige raus? Beste Grüße Sebastian

Schau dir einfach den media service mal genauer an. Da sollte es relativ schnell deutlich werden, wie genau der Name des Ordners entsteht: https://github.com/shopware/shopware/bl … ervice.php Viele Grüße

[quote=“Aquatuning GmbH”]Schau dir einfach den media service mal genauer an. Da sollte es relativ schnell deutlich werden, wie genau der Name des Ordners entsteht: https://github.com/shopware/shopware/bl … ervice.php Viele Grüße[/quote] Hallo, ich habe den Fehler gefunden: md5(“media/image/thumbnail/Sonnenbrille-rot_200x200.jpg”) funktioniert, der Unterordner “thumbnail/” im Pfad fehlte. Beste Grüße Sebastian

1 „Gefällt mir“