Support

Support is part of Event Gallery Extended.

Please get a subscription if you need support. Feel free to use the ticket system or the contact form for reporting defects or pre-sale questions. Make sure you're logged in in order to be able to create a new ticket.

For general information you can also jump to the manual.

Subscribe now!

#1742 Thumbnails unvollständig

Posted in ‘Event Gallery Extended’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Latest post by sbluege on Monday, 05 October 2015 17:59 UTC

mjakobi
Ich habe scheinbar ein ziemlich erhebliches Problem mit meinen angelegten Galerien.
Von einigen Bildern werden einfach keine Thumbnails angezeigt, die entsprechenden "Boxen" in der Übersicht des Events bleiben einfach weiß, wobei der "Share" Button und der Warenkorb-Button angezeigt werden, ebenso wie die Bild-ID. Klickt man die weiße Box an, um das Bild in der Lightbox anzeigen zu lassen, öffnet sich die Lightbox, zeigt EXIF-Daten und Bild-ID an, sowie die Fehlermeldung "This image failed to load". Klickt man auf den "Share" Button und wählt die Download Option, wird das korrekte Bild heruntergeladen.
Im Backend werden die Miniaturen der betroffenen Bilder ebenfalls nicht angezeigt.
Im Ordner /cache/com_eventgallery_images/<eventname> auf dem Server kann ich keine Thumbnails finden, die vom Dateinamen zur Originaldatei gehören würden.
Ich habe jetzt echt stundenlang probiert, gelesen und wieder probiert, ich kriege es einfach nicht in den Griff :-(
Es werden keine Fehlermeldungen beim Laden der Seite angezeigt, der Ladeprozess im Browser hört einfach irgendwann auf, als wäre die Seite fertig geladen. Browsercache leeren, Seite neu laden etc. führt zu keinem anderen Ergebnis.

Hier ein paar Dinge, die vielleicht wichtig sein könnten.
  • Der Server ist ein Managed Dedicated Server bei 1&1, QuadCore CPU, 4 GB RAM. Es läuft sonst nichts, was den Server belasten würde.
  • Den Cache von Event Gallery habe ich gefühlte 1000 Mal gelöscht, in jedem Fall nach jeder Änderung.
  • Das Problem scheint in direktem Zusammenhang mit der Dateigröße der Original-Bilder zu stehen. Thumbnails von kleineren Dateien werden problemlos erzeugt. Es scheint keine genaue Schwelle zu geben, ab der es nicht funktioniert, ab 2,5 MB scheint es aber durchgängig nachvollziehbar nicht mehr zu gehen.
  • Die Joomla-Installation ist "frisch", Event Gallery war die erste Erweiterung, die ich installiert wurde. Außer jDownloads ist nichts weiter installiert, das Problem war aber vor der Installation von jDownloads schon vorhanden.
  • Das verwendete Template ist "Protostar", das mit Joomla 3.4.4 mitgeliefert wird
  • Ich habe zwischenzeitlich die Option "Use rendering fallback" aktiviert, ich hatte den Eindruck, dass danach weniger Thumbs gefehlt haben, allerdings waren immer noch erhebliche Lücken in der Anzeige
  • Es hat keinen Einfluss auf das Problem, ob pro Seite viele oder wenige Elemente dargestellt werden.
  • Die drei unterschiedlichen Cache-Varianten, die Joomla anbietet (Aus / Normal / Erweitert) habe ich ohne Besserung ausprobiert
  • Die Option "Fehler berichten" in Joomla habe ich auf "Maximum" gesetzt, allerdings finden sich im Ordner "/logs" keine Fehlermeldungen / Protokolle


Ich weiß mir gerade echt keinen Rat mehr, die Seite sollte eigentlich schon am Start sein, aber in dem Zustand will ich da keinen drauf lassen. Wäre echt prima, wenn es eine Lösung für das Problem geben würde.

Vielen Dank schonmal!
Gruß -- Markus

sbluege
Die hochgeladenen Bilder sind zu groß bzw der für einen PHP-Prozess verfügbare Speicher ist zu klein. Das erklärt, warum kleine Bilder funktionieren. Die Dateigröße ist dabei völlig egal. Die Anzahl der Pixel ist ausschlaggebend.

Viel viel Speicher hat PHP denn?

mjakobi
Ich nehme mal an, dass du den Wert memory_limit meinst, der in der php.ini eingetragen ist?
Es gibt auf dem Server eine /etc/php4/cgi/php.ini und eine /etc/php5/cgi/php.ini
In der ersten steht der Wert auf 8M, in der zweiten auf 16M.
Da die Joomla-Systeminformationen PHP Version 5.5.28 anzeigen, gehe ich davon aus, dass 16M der relevante Wert ist.
Gibt es eine Empfehlung für diesen Wert, der aus deiner Erfahrung ausreichend ist? Wenn ich es richtig überblicke, sind die größten Originale mit 17 MP aufgenommen worden.

sbluege
16MB sind lächerlich. Bitte mit Werten ab 64MB, besser 128MB versuchen.

mjakobi
Ich glaube, ich muss meine Info korrigieren.
Wenn ich in Joomla auf Systeminformationen -> PHP-Informationen gehe, bekomme ich im Abschnitt "Core" für memory_limit 128M angezeigt für "Local Value" und "Master Value". Ich nehme mal an, dass das der gültige Wert ist, oder?

sbluege
der Local value ist der gültige. Wenn 128MB nicht reichen, dann geht es mit 256MB weiter. Für 17MP-Bilder muss man etwas mehr aufwenden. Ansonsten sind so große Bilder keine gute Idee. Event Gallery liefert Bilder mit max 1440px an der langen Kante aus.

mjakobi
Das hat man davon, wenn man Handbücher liest... :->>

Requirements: Images! Large Images. At least as wide as the space where you want to show them. Bigger is better :)

Im Ernst:
Die 1440px beziehen sich auf die Thumbs und die Anzeige in der Lightbox, oder?
Die Downloads sind doch davon nicht betroffen?
Das ist halt das Problem, ich möchte die Bilder in der Original-Auflösung zum Download anbieten, falls jemand die weiterverarbeiten will (Fotobuch etc.). Deswegen kann/will ich sie nicht einfach verkleinern. Oder gibt es eine Möglichkeit, mit kleineren Bildern zu arbeiten, aber beim Download dann die Originale auszuliefern?

sbluege
Ja, die Möglichkeit gibt es. Einfach im Ordner /images/eventgallery/[folder]/originals die großen Bilder ablegen. Die werden dann für den Verkauf per Download verwendet. Große und kleine Dateien müssen natürlich den gleichen Namen haben. Das sollte dann auch für den Download funktionieren.

Bei dem Server würde ich es aber erstmal über das memory-limit versuchen.

mjakobi
Das ist ja echt cool. Die Erweiterung ist echt ein Traum!

Ich habe das mit dem memory_limit umgesetzt, mit 256M lauft es ohne Lücken in den Thumbnails.
Falls in Zukunft mal jemand mit diesem Problem kämpft:
Wenn man in dem Ordner, in dem das 'problematische' Script läuft, eine php.ini hinterlegt, die andere Einstellungen vorgibt, gelten diese geänderten Einstellungen für alle Scripts in diesem Ordner (nicht in Unter-Ordnern!).
Ich habe im Ordner /components/com_eventgallery/helpers eine php.ini erstellt und den Eintrag
memory_limit = 256M

rein geschrieben. Dadurch läuft das Script image.php in diesem Ordner mit der geänderten Einstellung.


Auch, wenn es jetzt so funktioniert - man merkt schon deutlich, dass die Thumbnails der großen Bilder erheblich länger brauchen, bis sie angezeigt werden. Ist das nur beim ersten Aufruf so, oder bringt es auf Dauer bessere Performance, wenn man die Bilder wie beschrieben trennt?

Gibt es sonst noch irgendwelche Einstellungen, die man vornehmen sollte, um die Performance zu verbessern?

sbluege
Die Idee mit dem Helpers-Verzeichnis ist nicht gut! Das Script in dem Verzeichnis liefert nur gecachte Thumbnails aus. Berechnet werden die Thumbnails durch die /index.php. Gut möglich, dass das jetzt noch funktioniert, mit dem nächsten Update ist es aus damit.

Thumbnails werden genau einmal berechnet, danach kommen sie aus dem Cache. Es gibt jedoch recht viele Thumbnails pro Bild. Je nach Layout kann man den "Jitter"-Wert auf 0 setzten und reduziert damit die Anzahl der Thumbnails etwas. Ist der Cache erst einmal voll, dann ist die Größe der Ausgangsbilder egal.

mjakobi
OK, der Zusammenhang mit den einzelnen PHP-Scripts fehlt mir natürlich völlig.
Ich war nach den Infos aus dem Manual und aus verschiedenen Tickets gegangen, da ging es immer darum, dem image.php Script im helpers-Ordner Execute-Rechte zu geben.
Und du meinst schon die index.php im Hauptverzeichnis der Joomla-Installation? Mag eine doofe Frage sein - aber das ist doch gar keine Datei von Event Gallery?

sbluege
image.php wird verwendet um ganz dumm eine Datei vom Server zu lesen ohne die Joomla!-Umgebung zu nutzen. Ansonsten läuft alles über Joomla! und damit über die zentrale index.php-Datei.

mjakobi
Wenn ich also eine php.ini mit dem geänderten Wert für memory_limit ins Hauptverzeichnis der Joomla-Installation und in den Ordner /components/com_eventgallery/helpers lege, haben dann alle relevanten Scripts ihr benötigte Speichermenge?

sbluege
Sollte so passen. Mit Event Gallery 3.5 braucht man die Datei im helpers-Verzeichnis nicht mehr.

mjakobi
Wann kommt 3.5?

sbluege
Gibt es bereits in Dev-Bereich zum Download. Die Version ist bis vielleicht auf ein paar bisher unbekannte Bugs soweit fertig.

mjakobi

Cool, gibt es schon irgendwo ein Changelog?

Mir fällt in diesem Zusammenhang noch was anderes ein, was mir aufgefallen ist. Es gibt scheinbar keine Option, den Warenkorb mit einem Klick zu leeren. Ist es sehr aufwändig, so eine Funktion mit einzubauen?

sbluege
https://www.svenbluege.de/demo/index.php/manual/releases#release-note-3_5_0

Die Option, den Warenkorb komplett zu löschen ist nicht weiter kompliziert. Auf der Cart-Seite gibt es dafür bereits einen Button.

mjakobi
Ja, die Frage habe ich mal selten dämlich formuliert. Ich meinte einen Button in dem Einkaufswagen-Modul.

sbluege
Im Modul geht das sicher auch. Nur ist dort nicht wirklich Platz dafür. Daher wird der dort nicht eingebaut.