groupicon

Hallo, bei mir werden keine Gruppenicons angezeigt. Der generierte Pfad lautet z. B.:

[Installationsverzeichnis]/groupicon/156/large/1380572257.jpg

Die Datei liegt bei mir aber hier:

[Datenverzeichnis]/2013/09/20/34/groups/156large.jpg

Muss ich das verstehen? Und wenn ja, wie?

  • Das erste ist die URL, unter der der Browser das Bild findet, das zweite is der Pfad im Datenverzeichnis. Das ist so schon richtig. Es gibt keinen direkten Zugriff auf die Dateien im Datenverzeichnis. Da ist Elgg dazwischen, um zu prüfen, ob der User die Datei sehen darf, was er damit machen darf und ggf. die Datei zur Verfügung zu stellen.

    Gibt es das Bild im Datenverzeichnis in verschiedenen Versionen (156.jpg und mit "large", "medium", "small" und "tiny" im Namen)? Wenn nicht, dann kann Dein Server die hochgeladenen Bilder nicht re-sizen (GD php extension nicht installiert oder nicht aktiv). In diesem Fall wird das Bild vielleicht nur deshalb nicht angezeigt, weil die richtige Größe nicht verfügbar ist. Sind die Bilder vorhanden, dann ist vermutlich wieder ein 3rd Party Plugin das Problem.

  • Die Bilder sind im Datenverzeichnis in allen Größen vorhanden. Das Problem ist, dass der Browser sie eben nicht findet, wo die URL hinzeigt. Das war übrigens schon so, bevor ich ein Plugin installiert hatte.

  • Die Url sieht für mich schon korrekt aus. Der Bildname in der Url ist ein Zeitstempel (Zeitpunkt des Hochladens). Intern sollte Elgg damit schon die richtige Datei im Datenverzeichnis finden.

    Tritt das Problem nur bei Gruppenbildern auf oder werden die Profilbilder auch nicht angezeigt? Es gibt diesen Link: http://docs.elgg.org/wiki/No_images. Dort werden einige mögliche Gründe genannt, warum Bilder nicht angezeigt werden.

    Wenn die Bilder im Datenverzeichnis gespeichert werden und keine 3rd Party Plugins involviert sind, erscheint mir ein Problem mit der auf dem Server konfigurierten Zeitzone am wahrscheinlichsten - falls überhaupt eine Zeitzone definiert ist. In der php.ini gibt es die Variable date.timezone, die auf die richtige Zeitzone gesetzt sein sollte, z.B.

    date.timezone = 'Europe/Berlin'

    Wenn kein Zugriff auf php.ini möglich ist, kannst Du wie im obigen Link beschrieben, den Eintrag date_default_timezone_set('MY_TIME_ZONE'); mit der passenden Zeitzone zur settings.php im engine-Verzeichnis von Elgg hinzufügen. Eine dritte Möglichkeit (noch nicht selbst ausprobiert) wäre das Konfigurieren über .htaccess: die Zeile

    php_value date.timezone 'Europe/Berlin'

    dort einfügen, wo schon die anderen php-Variablen gesetzt werden.

    Ob es an der Zeitzone liegt, kann ich natürlich nicht versprechen. Eventuell wird es dann auch nur für Bilder funktionieren, die nach Setzen der Zeitzone hochgeladen werden.

  • Das Problem tritt bisher nur bei Gruppenbildern auf. Die Profilbilder zeigt er einwandfrei an. Zugriff auf die php.ini habe ich, die Zeitzone ist aber richtig gesetzt.

    Mir fällt ein, dass ich den DATA-Ordner habe umziehen lassen. Der war erst innerhalb des Installationsverzeichnis, dann hatte ich irgendwo gelesen, dass man ihn aus Sicherheitsgründen lieber außerhalb haben soll. Der Eintrag in der Administration ist aber korrekt. Käme noch ein Rechteproblem infrage. Allerdings gehen ja die Profilbilder (und alles andere) auch. ???

  • Wenn sich der Pfad des Datenverzeichnisses ändert, muß neben der Pfadangabe auch der Pfad des "filestore data diretories" in Datenbankeinträgen upgedatet werden. Unter http://docs.elgg.org/wiki/DuplicateInstallation ist unter dem Abschnitt "Database entries" beschrieben, wie das geht. Einfach mal prüfen, ob da noch was veraltetes in der Datenbank steht.

    Tritt es sowohl bei einer bestehenden als auch bei einer nach Umzug des Datenverzeichnisses angelegten Gruppe auf? Wenn es nur bei einer alten Gruppe passiert, könnte es auch ein Rechteproblem sein, falls die Berechtigungen der Bilddateien beim Umzug verändert wurden (oder nicht angepasst wurden falls das notwendig gewesen wäre).

  • Danke für die Antwort und den sehr interessanten Link. In der Datenbank scheinen alle Einträge zu stimmen. Ich habe eben gemerkt, dass das Problem auch bei Bildern auftritt, die als "Dokumente" hochgeladen werden. Das Bild kann man am Ende ansehen, aber die Thumbnails werden nicht gefunden. Ich bin ein bisschen ratlos...

  • Sorry, mehr Möglichkeiten, woran es liegen könnte, fallen mir momentan nicht ein.

  • Danke für Deine Hilfe. Mach Dir nichts draus.
    Ich werde es mal mit einer Neuinstallation versuchen.
    Viele Grüße!

  • Wenn es nach der Neuinstallation auch nicht klappt, überprüfe die Meta- bzw. Headerdaten der Dateien. Wenn beim Upload der Groupicons (also Dokument?) z.B. die Headerdaten PDF oä. übergeben werden, können die Dokumente nicht als Image ausgegeben werden. Überprüfe mal die EInstellungen der Headerdaten in /mod/groups/icon.php (sofern du das Group-Plugin verwendest).

    Hier werden die Bilder mit den Headerdaten image/jpeg ausgelesen. Wenn das File andere Headerdaten hinterlegt hat, kann es nicht interpretiert/ausgelesen werden.

    Beste Grüße

  • Nun, bei einer komplett neuen Installatio klappt es.
    Es muss wohl mit dem Umzug des Datenpfads zu tun haben.
    Ich werde mir nochmals den Link von iionly intensiv ansehen.

German Support Group

German Support Group

The German support group within the Elgg community.