Hilfe:Gadget-GalleryDetails
This is the documentation for Gallery Details, a JavaScript gadget which can be enabled or disabled in your Preferences. The script itself is located at MediaWiki:Gadget-GalleryDetails.js. |
If you need more help, please ask at the discussion page or at Commons:Help desk. |
Gallery Details ist ein erweiterbares Helferlein, das genutzt werden kann, um erweiterte Informationen zu mehreren Bildern auf einer Seite anzuzeigen. Es soll auf allen Seiten funktionieren, die Galerien enthalten (dazu zählen auch Kategorie-Seiten), auf der Ergebnisseite einer Suche und in der Liste neuer Dateien. Wenn das Helferlein Pretty Log ebenfalls aktiviert ist, funktioniert Gallery Details auch auf allen Seiten von Logbüchern.
Benutzeroberfläche
Auf Seiten, auf denen Gallery Details etwas tun kann, fügt es „Datei-Infos (Galerie)“ in der Seitenleiste ein (ebenso in den älteren Skins oder im klassischen Skin in der Fußleiste). In der Liste neuer Dateien läuft das Helferlein standardmäßig automatisch und fügt deshalb keinen Link zur Seitenleiste hinzu. Siehe „Konfiguration“ unten dazu, wie man dieses Verhalten ändert.
Wen man den Link anklickt, ruft das Helferlein vom Server Informationen über alle in der Galerie vorhandenen Bilder ab und zeigt diese Informationen zusammen mit Links für häufige Aktionen an.
Das Helferlein ruft die folgenden Informationen der letzten Version einer Datei ab (und zeigt sie in seiner Standard-Ansicht an):
- Bildgröße
- Hochladedatum und-zeit
- Hochlader
- Ob es sich um einen originalen Upload handelt oder ein früherer Upload überschrieben wurde
Zusätzlich ruft das Helferlein die Kategorien und den Wikitext der letzten Version der Dateibeschreibungsseite ab und zeigt diese an.
Zu den angebotenen Service-Links für Benutzer gehören Links zum
- Eröffnen einer Löschdiskussion über das Bild,
- Markieren des Bildes als ein Bild mit fehlender Quelle,
- Markieren des Bildes als ein Bild mit fehlender Lizenz,
- Markieren des Bildes als ein Bild mit fehlender OTRS-Freigabe,
- Markieren des Bildes als Urheberrechtsverletzung.
- Suchen nach dem Bild auf Tineye.
Durch all diese „Aktionslinks“ wird die Bildbeschreibungsseite automatisch bearbeitet, wobei die entsprechende Vorlage eingefügt und anschließend die Diskussionsseite des Hochladers bearbeitet wird, um ihn über das Problem zu benachrichtigen. Bei der Eröffnung einer Löschdiskudsion oder dem Melden einer Urheberrechtsverletzung fragt das Skript zunächst nach dem Grund. Wenn der Grund leer ist oder die Eingabe abgebrochen wird, passiert nichts.
Das Bearbeiten erfolgt, indem die Seiten in neuen Browser-Fenstern oder -Tabs geöffnet werden und funktioniert nur, wenn Popups in deinem Browser für commons.wikimedia.org nicht blockiert sind.
Administratoren erhalten zusätzlich Aktionslinks, um eine Datei schnellzulöschen, den Hochlader bei einer Schnelllöschung zu benachrichtigen und um zu markieren, dass ein Bild die Flickr-Überprüfung bestanden hat.
Den Hochlader feststellen
Das Helferlein versucht immer, herauszufinden, wer eine Datei wirklich hochgeladen hat. Benachrichtigungen werden dann an diesen Benutzer gesendet, nicht an einen Bot, der genutzt wurde, um die Datei hochzuladen. Derzeit kann das Helferlein den echten Benutzer für Dateien herausfinden, die von User:Rotatebot, User:Cropbot, User:FlickrLickr, User:Flickr upload bot und User:File Upload Bot (Magnus Manske) hochgeladen wurden. Benachrichtigungen werden nur dann an diese Bots geschickt, wenn das Helferlein nicht feststellen kann, wer den Bot angewiesen hat, die Datei hochzuladen.
Standard-Ansicht
In der Standard-Konfiguration formatiert das Helferlein die Galerien neu, sodass sie in jeder Zeile ein Vorschaubild und die Informationen anzeigen. Auf Suchergebnis-Seiten und Logbuch-Seiten (wenn Pretty Log ebenfalls aktiviert ist) wird die zusätzliche Information neben der existierenden Bilder-Zeile angezeigt.
In der Standard-Ansicht wird durch erneutes Klicken auf den Link des Helferleins in der Seitenleiste die erweiterte Dateiinformation versteckt und die originalen Galerien werden wiederhergestellt. Durch weitere Klicks wird zwischen der normalen Ansicht und der Anzeige der Dateidetails gewechselt.
Beachte, wie das Helferlein farbige Boxen nutzt, um Probleme hervorzuheben: Dateien, die definitiv ein Problem haben, sind rot (sie wurden bereits mit „Keine Quelle“, „Urheberrechtsverletzung“ oder ähnlichen Markierungen gekennzeichnet oder es läuft bereits eine Löschdiskussion). Dateien, die „gute“ Lizenzmarkierungen haben, sind grün. Dateien, bei denen das Skript nicht feststellen konnte, ob sie in Ordnung sind oder nicht oder die die Aktivität eines Menschen benötigen (wie eine Flickr-Überprüfung), sind gelb.
Beachte aber, dass ein grüner Rahmen nur bedeutet, dass „die Datei korrekt markiert wurde“. Beim Überprüfen von hochgeladenen Dateien ist die Bestätigung durch einen Menschen weiterhin erforderlich. Nur weil eine Datei mit {{PD-self}} markiert ist, muss nicht alles in Ordnung sein; wir haben genügend Urheberrechtsverletzungen, die als „eigene Werke“ gekennzeichnet sind...
Alternativ-Ansicht
Es existiert bereits eine Erweiterung für dieses Helferlein, die eine alternative Ansicht implementiert. Um diese Alternativ-Ansicht zu aktivieren, füge die folgende Zeile in deine common.js ein:
importScript ('MediaWiki:GalleryDetails-Tooltips.js');
Diese alternative Implementierung formatiert Galerien nicht neu. Stattdessen wird in der oberen linken Ecke des Vorschaubildes ein kleines -Symbol eingefügt. Wenn man dieses Symbol anklickt, wird ein Popup angezeigt, das zusammen mit dem Vorschaubild und dem Hochlade-Kommentar alle Informationen und Links enthält. Das Popup kann auf drei Arten geschlossen werden:
- Durch erneutes Klicken auf das Symbol
- Durch Klicken auf ein anderes Symbol
- Durch Drücken auf die ESC-Taste der Tastatur (funktioniert möglicherweise nicht in IE6)
- Durch Klicken auf die Schaltfläche zum Schließen in der oberen rechten Ecke des Popups, sofern diese vorhanden ist.
Zusätzlich fügt diese alternative Ansicht die gleichen farbigen Rahmen um die Vorschaubilder herum ein, um einen Hinweis zu geben, noch bevor das Symbol angeklickt wird.
Der Vorteil dieser alternativen Ansicht ist, dass sie keine lange Tabelle produziert und man nur die Informationen für die Bilder sieht, die einen interessieren.
Wenn das Helferlein PrettyLog ebenfalls aktiviert ist, zeigt die alternative Ansicht auf Logbuch-Seiten auch die Kamera-Info und das Erstellungsdatum der Datei aus den Metadaten der Datei (EXIF), sofern diese vorhanden sind, direkt neben dem Eintrag im Logbuch an, sodas man auf sie ohne zusätzlichen Klick auf das Symbol zugreifen kann.
Konfiguration
Das Helferlein kann auf zwei Arten konfiguriert werden: Konfiguration des Verhaltens und Internationalisierung.
Verhalten
Zwei Aspekte des Verhaltens des Helferleins können konfiguriert werden:
- Standardmäßig wird das Helferlein auf Special:NewFiles automatisch ausgeführt. Wenn dir das nicht gefällt, füge die folgende Zeile in deine common.js ein:
var gallery_details_newfiles_run = false;
- Wenn einer der Aktionslinks angeklickt wird, bearbeitet das Helferlein Seiten, indem es sie in neuen Fenstern (oder Tabs bei einem korrekt konfigurierten Browser, der nit Tabs umgehen kann). Standardmäßig schließt es diese Fenster oder Tabs nicht. Wenn du möchtest, dass das Helferlein sie nach der Bearbeitung automatisch schließt, füge die folgende Zeile in deine Benutzerskript-Datei für den Skin, den du nutzt, ein:
var gallery_details_close_windows = true;
- Beachte, dass diese Option etwas unsicher ist, da du keine Bearbeitungskonflikte oder andere Probleme bemerken wirst, die beim Speichern einer Bearbeitung auftreten können. In der Praxis hat die Erfahrung jedoch gezeigt, dass Bearbeitungskonflikte selten sind.
- Admins sollten zusätzlich
var image_links_close_windows = true;
- setzen, wenn sie wollen, dass dieses Verhalten auch für ihre zusätzlichen Links gilt.
Internationalisierung
Das Helferlein kann lokalisiert werden, indem einige (englische) Standardtexte auf Unterseiten von MediaWiki:Gadget-GalleryDetails.js überschrieben werden. Zum Beispiel würdest du die Texte für die deutsche Benutzeroberfläche auf MediaWiki:Gadget-GalleryDetails.js/de hinterlegen. Auch diese Unterseiten müssen gültiges Javascript sein. Die folgenden Definitionen des Helferleins können neu definiert werden:
- Der Text des Links in der Seitenleiste und sein Tooltip (gallery_details_sidebar)
- Die Linktexte und Tooltips für die Aktionslinks und der Aufforderungstext für den Aktionslink „Löschdiskussion starten“ (gallery_details_nom_links)
- Die Linktexte, Tooltips und Bearbeitungszusammenfassungen für die Links zur Schnelllöschung für Administratoren (gallery_details_admin_links)
Die Bearbeitungszusammenfassungen für die Aktionslinks „keine Quelle“, „keine Lizenz“, „keine Genehmigung“ und „Urheberrechtsverletzung“ können auf ähnliche Weise auf Unterseiten von MediaWiki:Notifier.js konfiguriert werden.
Hinweis: Das in den Zeichenketten genutzte „\xa0“ ist ein geschütztes Leerzeichen und entspricht dem Zeichen .
Einige Extralinks (insbesondere der Link „Tineye“, aber auch die Adminlinks) werden von MediaWiki:ImageLinks.js generiert und müssen daher auf Unterseiten dieses Skriptes lokalisiert werden, zum Beispiel auf MediaWiki:ImageLinks.js/de.
Erweiterung des Helferleins um neue Ansichten
Um das Helferlein um eine neue Ansicht zu erweitern, musst du die neue Ansicht in einer separaten Javascript-Datei implementieren. Um die neue Ansicht zu aktivieren, bindest du dann die neue Datei statt einer anderen Ansichtserweiterung in deine monobook.js ein.
Die neue Ansicht sollte als Ableitung der abstrakten Implementation GalleryDetailsView implementiert werden, die bereits in der Datei MediaWiki:Gadget-GalleryDetails.js enthalten ist.
var GalleryDetailsMyViewer = function () {};
GalleryDetailsMyViewer.prototype = new GalleryDetailsViewer; // "Subclass"...
GalleryDetailsMyViewer.prototype.display =
function (model)
{
// Your code here
}
GalleryDetailsMyViewer.prototype.toggle =
function (model)
{
// Your code here
}
// Redefine the factory method
GalleryDetailsLoader.getViewer =
function ()
{
return new GalleryDetailsMyViewer ();
};
Das an die Methoden display oder toggle übergebene model hat die folgende Struktur:
{
root : // reference to the original DOM object of the gallery table
nof_images : // int, number of entries in image_list
image_list : // array of image objects (described below), may be empty
}
Jeder Eintrag in image_list hat die folgenden Eigenschaften:
{
name : // string, name of the file without namespace prefix
box : // reference to the original DOM element used for the thumbnail display.
done : // boolean (true or false). If false, the request to the server failed.
// If true, it succeeded.
page : // The information returned by the server. If null, file not found on server.
// (May have been deleted.)
categories : // Array of category names (strings), including the namespace prefix.
// May be empty.
status : // integer, one of GalleryDetails.GOOD_FILE, GalleryDetails.BAD_FILE,
// or GalleryDetails.ACTION_NEEDED.
users : // array of uploader information. At most two entries, one for the most recent
// upload, and possibly a second one for the previous upload.
}
Jeder Eintrag in users hat dieses Format:
{
user : // User name (without namespace prefix) of the uploading user
real : // If the uploader was a file upload bot account, the real user who was operating that bot
}
Wenn die Eigenschaft real gesetzt ist, gibt sie den echten Benutzernamen aus, an denen Benachrichtigungen gesendet werden sollen. Nehmen wir als Beispiel an, dass jemand eine Datei über den Dienst Flickr2Commons hochlädt. Dateien die so hochgeladen werden, werden von User:File Upload Bot (Magnus Manske) hochgeladen. Der Bot speichert und dokumentiert jedoch, welches Commons-Benutzerkonto ihn ursprünglich dazu angewiesen hat, die Datei hochzuladen. Ähnliches gilt für die anderen Hochlade-Bots wie User:FlickrLickr oder User:Flickr upload bot.
Für eine Beschreibung der Struktur der Eigenschaft page, siehe die Dokumentation der MediaWiki-API.
Die abstrakte „Superklasse“ GalleryDetailsViewer bietet einige Methoden, die du nutzen kannst, um deine eigene Ansicht zu erstellen, ohne dass du dich mit zu vielen internen Details dieser Datenstrukturen beschäftigen musst:
GalleryDetailsViewer.prototype =
{
check_info : function (info)
{
// Not shown here. If the request failed or no information was returned for the
// file described by "info", return a DOM TextNode describing the failure.
// Otherwise return null. (I.e., if it returns null, "info" is valid.)
},
get_exif_data : function (info)
{
// Not shown here. If info contains EXIF metadata on the file, extract some
// information, format each item as XHTML spans, and return an array of all
// these spans. If no info found, return null or an array of length zero.
// Called by create_details_box, but can be useful if you want to use this
// data elsewhere.
},
create_details_box : function (info)
{
// Not shown here. Return a DOM div node encapsulating all the file details and
// the action links.
},
create_page_box : function (info)
{
// Not shown here. Returns a DOM div node encapsulating the rendering of the
// wikitext of the latest revision of the image description page.
}
}
Wenn du weitere Details benötigst, sieh dir bitte den Quellcode von MediaWiki:Gadget-GalleryDetails.js und MediaWiki:GalleryDetails-Tooltips.js an. Der Autor dieser Dateien kann dich nicht dabei unterstützen, deine eigenen Ansichten zu erstellen.
Browserkompatibilität
GalleryDetails wurde mit den folgenden Browsern getestet und funktioniert mit ihnen:
Außerdem wurde das Skript mit den Skins Monobook, Standard, Cologneblue und Modern mit Firefox 3 getestet.
Wie bei vielen anderen Skripten in Wikimedia-Projekten, ist ein DOM-Level-2-kompatibler Browser Voraussetzung. Ajax wird zum Abrufen der Bildinformationen vom Server genutzt.
Abhängigkeiten von anderen Skripten
Das Helferlein nutzt folgende andere Javascripte:
Skript | Abhängigkeitstyp | Zweck |
---|---|---|
MediaWiki:Notifier.js | statisch | Implementierung der Aktionslinks zur Eröffnung einer Löschdiskussion, Markierung einer fehlenden Quelle, etc. |
MediaWiki:ImageLinks.js | statisch | Implementierung des Links „Tineye“ und der Adminlinks. |
MediaWiki:Gadget-DelReqHandler.js | Laufzeit | Transitive Abhängigkeit von MediaWiki:ImageLinks.js: Ausführung der Schnelllöschungen für Administratoren. Hinweis: Die Links funktionieren auch für Administratoren, die das Helferlein DelReqHandler nicht aktiviert haben. |
MediaWiki:QuickModify.js | statisch | Transitive Abhängigkeit von MediaWiki:Notifier.js: Unterstützung für die Bearbeitung von Seiten |
MediaWiki:TextCleaner.js | statisch | Transitive Abhängigkeit von MediaWiki:Notifier.js: Unterstützung für die Sanitisierung der Benutzereingaben |
MediaWiki:QuickMod.js | Laufzeit | Seiten bearbeiten. Transitive Abhängigkeit von MediaWiki:Notifier.js |
MediaWiki:AjaxSubmit.js | Laufzeit | Formulare übermitteln und ihre Fenster schließen. Transitive Abhängigkeit von MediaWiki:QuickMod.js und MediaWiki:Gadget-DelReqHandler.js |
Probleme?
Wenn du irgendwelche Probleme mit GalleryDetails hast, melde sie unter MediaWiki talk:Gadget-GalleryDetails.js.