YAG - Yet another Gallery
Web-Bilder-Galerien gibt es wie Sand am Meer und da sind auch richtig gute dabei. Immer wenn ich aber vor der Aufgabe stand, eine Galerie als Extension in Typo3 einzubauen, war das mit nicht unerheblichen Schmerzen verbunden. Entweder die Galerien lassen sich nur mit TYPO3 Bordmitteln administriern, was bedeuten kann jedes einzelne Bild im Fileadmin hochzuladen und dann dafür noch einen eigenen Bild-Datensatz anzulegen, oder sie kommen als Bridge zu einer eigenständigen Galerie daher und haben mit den Abläufen in TYPO3 wenig zu tun.
Seit sicher zwei Jahren arbeite ich mit Michael an dem Plan, ein eigenes Galerie Plugin für Typo3 zu schreiben, welches sich auf der einen Seite nahtlos in Typo3 einfügt und auf der anderen Seite einfach administrieren lässt.
Mittlerweile ist das Projekt YAG- Yet Another Gallery (Forge) dem Betastadium beinahe entwachsen und bewegt sich mit großen Schritten auf die Version 1.2 zu, was ich zum Anlass nehmen möchte hier auch was darüber zu schreiben.
Die Features:
Administration im eigenen BackendModul und Im Frontend
- Anlegen von Galerien und Alben
- Sortieren per Drag & Drop
- Bearbeiten von Titeln und Beschreibung per Javascript Interface
- Löschen / Erstellen des kompletten Vorschaubilder-Caches
Import von Bildern per
- Multi-File-Uploader
- Zip Uploader
- Directory Import
- Lightroom plugin
- Extrahiert in den Bildern enthaltene Metadaten
Präsentation
- Einbinden als Galerieliste, bestimmte Galerie, bestimmtes Album oder einzelnes Bild
- Leicht anzupassen per Theme-Konzept.
Die Technik:
Als Grundlage dient das Extension-Framework Extbase und die Template Engine Fluid wie sie in der TYPO3 Version ab 4.5 mitgeliefert werden.
Zusätzlich basiert die Extension auf weiteren, auch von uns stammenden Extensions:
pt_extbase: Beinhaltet eine Extbase Abstraktion und ein paar allgemeine ViewHelper.
pt_extlist: Ein sehr mächtiger, per Typoscript vollständig konfigurierbarer Listengenerator.
Installieren!
Die Installation ist ganz einfach, da alle nötigen Pakete über das TYPO3 Extension Repository TER beziehbar sind.
Das heisst, es genügt im Extension Repository nach 'YAG' zu suchen. In den Ergebnissen taucht sowohl die YAG-Basisextension, als auch verfügbare Themes und Erweiterungen auf. YAG setzt zwei weitere Extensions voraus: pt_tools (Entwicklerutilities und Basistools) und pt_extlist (ein generischer Listengenerator) welche beide vor der eigentlichen Installation heruntergeladen und installiert werden müssen.
Ist alles installiert, fügt der nötige Klick auf "Update" die Pfadangaben zum Bilder-ImportVerzeichnis und und Auflösungscache der Konfiguration hinzu.
Im Nächsten Schritt muss das staische YAG Extensiontemplate "[YAG] Yet Another Gallery (yag)", zum Seitentemplate oder einem Erweiterungstemplate auf einer beliebigen Seite hinzugefügt werden. YAG ist nur auf den Seiten funktionsfähig, auf denen dieses Template einbezogen wurde.
Nach dem Neuladen des Backends findet sich in der Seitenleiste bereits das YAG-Modul, mit dem die neuen Galerien, Alben angelegt und Bilder hochgeladen werden können.
Sind die ersten Bilder hochgeladen, können diese per Plugin in die Seite eingebunden werden. Das Plugin kann in verschienden Modi verwendet werden, welche unter anderem alle Galerien, eine bestimmte Galerie, ein bestimmtes Album oder ein bestimmtes Bild anzeigen können.
Mit dem einfügen des Plugins kann auch das Theme gewählt werden. Ein klassisches Theme und ein Theme, das die Bilder als Lightbox werden bereits mit YAG installiert. Weitere Themes, welche Bilder mit verschiedenen Flash- oder jQuery-Galerien sind schon downloadbar oder noch geplant.
Für eine detaillierte Beschreibung verweise ich an dieser Stelle auf das ausfürliche, englische Manual.
Wie die YAG in Frontend und Backend aussieht, zeigen wir mittlerweile auf YAG-Gallery.de an einigen Beispielen.
Feedback und Unterstützung ...
Auf dem Weg zur besten Galerie, die TYPO3 je gesehen hat, können wir noch Hilfe brauchen. Zum einen durch Feedback und Bugreports, zum anderen suchen wir aber auch noch Verstärkung. Besonders im Bereich Javascript/UI und CSS könnten wir noch einige Unterstützung gebrauchen.





