expert Lightbox
Ein Klick auf ein Bild oder einen PDF-Anhang öffnet ihn in einem Dialog, statt die Seite zu verlassen, die Sie gerade lesen. Pfeiltasten, Wischen und Klickzonen am Rand führen durch alles Weitere auf der Seite.
Dieses Plugin gibt es, weil redmine_x_lightbox2 unter Redmine 6 und 7 nicht mehr funktioniert hat. Es hatte eine Kern-View für Anhänge überschrieben und sich auf die icon-*-Klassen gestützt, die Redmine 7 entfernt hat. Der Ersatz besitzt davon bewusst nichts: keine überschriebene View, kein Controller-Patch, nichts, was vom Markup der Anhänge abhängt.
Was es kann
Vorschau
Bilder und PDFs, an Ort und Stelle
Ein Bild öffnet sich auf Fenstergröße skaliert, ein PDF im eingebauten PDF-Betrachter des Browsers. Alles andere verhält sich genau wie vorher — das Plugin mischt sich bei Dateien, die es nicht anzeigen kann, nicht ein. Esc oder ein Klick auf den Hintergrund schließt den Dialog, und der Fokus kehrt zu dem Link zurück, den Sie angeklickt haben.
PDFs
Und PDFs, im Betrachter des Browsers
Ein PDF öffnet sich im Betrachter, den der Browser ohnehin mitbringt — Scrollen, Zoom, Seitenvorschau, Drucken und Speichern verhalten sich wie immer. Die Klickflächen am Bildrand entfallen über einem PDF bewusst: Sie lägen über dessen eigener Werkzeugleiste und dem Scrollen. Zum Weiterblättern bleiben die Schaltflächen in der Kopfzeile.
Galerie
Vier Wege durch den Satz
Alle anzeigbaren Anhänge einer Seite bilden in Dokumentreihenfolge eine Galerie. Durchblättern geht mit den Pfeiltasten, den Schaltflächen in der Kopfzeile, den Klickzonen am linken und rechten Bildrand — unsichtbar bis zum Überfahren, auf Touchgeräten dauerhaft sichtbar — oder per waagerechtem Wischen. Überwiegend senkrechte Bewegungen scrollen weiterhin die Seite, und Strg/Cmd/Mittelklick öffnet den Anhang nach wie vor in einem neuen Tab.
Überall
Keine Liste erlaubter Seiten
Ticketanhänge, Vorschaubilder im Verlauf, eingebettete Wiki-Bilder, die Module Dateien und Dokumente, Neuigkeiten und Forenbeiträge — und jede Seite eines Fremd-Plugins, die auf einen Anhang verlinkt. Die Erkennung greift allein an der Form der Anhang-URLs an, nicht an einer Liste von Controllern, an die wir zufällig gedacht haben.
Eingebettete Bilder
Lange Tickets bleiben lesbar
Ein Screenshot in voller Größe, eingefügt in ein Ticket, einen Kommentar oder eine Wiki-Seite, kann alles Folgende aus dem Bild schieben. Eine optionale maximale Breite und/oder Höhe für eingebettete Anhang-Bilder hält sie im Rahmen; ein Klick öffnet das Bild weiterhin in voller Größe in der Lightbox. Die Grenze wird global in den Plugin-Einstellungen gesetzt oder je Projekt im Reiter Bildvorschau der Projektkonfiguration überschrieben, den alle erreichen, die das Projekt bearbeiten dürfen. Leer heißt keine Begrenzung und ist die Voreinstellung — ein Update ändert also nichts, bis Sie eine setzen. Externe Bilder bleiben unverändert, weil die Lightbox sie ohnehin nicht öffnen kann.
Warum dieses
- Keine Abhängigkeiten. Reines JavaScript und ein natives
<dialog>—Esc, Fokusführung und Hintergrund kommen damit vom Browser. Kein jQuery, kein Fancybox, kein Build-Schritt, keine CDN-Anfrage. - Keine überschriebene View und kein Controller-Patch. Die Erkennung greift an URL-Formen an, die über viele Redmine-Hauptversionen stabil geblieben sind, und nicht am Markup, an CSS-Klassen oder an Icon-Fonts des Kerns — genau daran ist der Vorgänger zerbrochen.
- Nichts zu konfigurieren, solange Sie nicht wollen. Kein Modul zu aktivieren, keine Berechtigungen zu vergeben. Die einzige Einstellung ist die optionale Größengrenze für eingebettete Bilder, und die ist anfangs leer.
- Es degradiert zu nichts. In einem Browser ohne
<dialog>bleibt das Plugin untätig, und Anhang-Links verhalten sich wie gewohnt. - Der eine Server-Endpunkt ist bewusst eng. Er liefert eine Datei nur dann eingebettet aus, wenn ihre Endung auf einer festen Liste steht, sendet
X-Content-Type-Options: nosniffmit einem Typ aus eben dieser Liste statt aus den Metadaten des Uploads, und prüft RedminesAttachment#visible?— er gewährt also nichts, was der normale Download-Weg nicht auch gewähren würde.
Tester gesucht
Ausprobieren, kaputt machen, Bescheid sagen
Diese Plugins sind jung und entwickeln sich schnell. Die Tests laufen auf jedem Redmine von 5.1 bis 7.0, aber unsere eigene Installation ist nur ein Setup — wir freuen uns über Rückmeldungen von allen, die sie anderswo betreiben: mit einem anderen Mailserver, einem anderen Theme, neben anderen Plugins oder mit einem Arbeitsablauf, an den wir nie gedacht haben. Etwas geht kaputt, etwas fehlt, etwas funktioniert, fühlt sich aber falsch an: all das hilft.
Das Fehlerformular fragt nach Plugin-Version und Umgebung; die Tabelle aus Administration → Informationen deckt den Rest ab. Wer von neuen Versionen erfahren möchte, beobachtet das Repository auf GitHub für Releases.
Kompatibilität
- Aktuelle Version
- v1.3.0 2026-11-02
- Redmine
- 5.1 · 6.0 · 6.1 · 7.0
- Datenbank
- MariaDB, MySQL, PostgreSQL
- Zusätzliche Gems
- Keine
- Migrationen
- 1
- Lizenz
- GPL-2.0-or-later
Keine Gems, keine Berechtigungen, eine optionale Einstellung und eine kleine Tabelle für die projektbezogene Bildgröße. Läuft auf MariaDB, MySQL und PostgreSQL.
Installation
- Release-Archiv herunterladen: redmine_expert_lightbox-1.3.0.zip
- In das Verzeichnis `plugins/` Ihres Redmine entpacken:
cd /path/to/redmine unzip redmine_expert_lightbox-1.3.0.zip -d plugins/ - Migration ausführen:
bundle exec rake redmine:plugins:migrate NAME=redmine_expert_lightbox RAILS_ENV=production - Redmine neu starten. Die Lightbox arbeitet sofort — kein Modul zu aktivieren, keine Berechtigung zu vergeben. Eine Größengrenze für eingebettete Bilder ist optional, unter *Administration → Plugins → Konfigurieren*.
Die eine Migration legt nur die Tabelle für projektbezogene Bildgrößen an; die Lightbox selbst speichert nichts. Wenn Sie redmine_x_lightbox2 oder redmine_lightbox2 ablösen, entfernen Sie das alte Plugin zuerst — zwei Lightboxen auf einer Seite greifen beide nach demselben Klick.