expert for Redmine English

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.

v1.3.0 Redmine 5.1–7.0 GPL-2.0-or-laterIn CI getestet

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.

Ein Bildanhang im Dialog über der Ticketseite, mit dem Zähler „1 / 4“ und den Schaltflächen für Zurück und Weiter in der Kopfzeile.

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.

Ein PDF im eingebauten Betrachter des Browsers innerhalb des Dialogs, samt Werkzeugleiste und Seitenvorschau. Die Klickflächen am Rand entfallen hier, damit sie dem Betrachter keine Klicks wegnehmen.

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.

Der dritte von vier Anhängen, mit der rechten Klickfläche, die beim Überfahren erscheint — unsichtbar, bis man danach greift, auf Touchgeräten dauerhaft sichtbar.

Ü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.

Ein eingebettetes Wiki-Bild, geöffnet ohne die Seite zu verlassen, die es illustriert.

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: nosniff mit einem Typ aus eben dieser Liste statt aus den Metadaten des Uploads, und prüft Redmines Attachment#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

  1. Release-Archiv herunterladen: redmine_expert_lightbox-1.3.0.zip
  2. In das Verzeichnis `plugins/` Ihres Redmine entpacken:
    cd /path/to/redmine
    unzip redmine_expert_lightbox-1.3.0.zip -d plugins/
  3. Migration ausführen:
    bundle exec rake redmine:plugins:migrate NAME=redmine_expert_lightbox RAILS_ENV=production
  4. 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.