ShoogleList: Unterschied zwischen den Versionen

K
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
|name            = ShoogleList
 
|name            = ShoogleList
 
|status          = stable
 
|status          = stable
|autor          = schinken
+
|autor          = [[Benutzer:schinken|schinken]]
 
|beschreibung    = Mediawiki Kategorieliste
 
|beschreibung    = Mediawiki Kategorieliste
|image          = shoogle category preview 500x500.png
+
|image          = shoogle category preview 500x500.jpg
 
|imagesize      = 300
 
|imagesize      = 300
 
|version        = 1
 
|version        = 1
Zeile 13: Zeile 13:
 
== Beschreibung ==
 
== Beschreibung ==
  
ShoogleList ist eine MediaWiki-Extension, welche Artikel in einer Kategorie auflistet. Für die Auflistung werden die Attribute der Infobox-Projekt geparsed, und für die Darstellung verwendet.
+
ShoogleList ist eine MediaWiki-Extension, welche Artikel in einer Kategorie mit vordefinierten Vorschaubildern auflistet. Für die Auflistung werden die Attribute der Infobox-Projekt geparsed, und für die Darstellung verwendet.
 +
 
 +
Durch diese Erweiterung soll eine bessere Übersicht aller Projekte und Kategorien gewährleistet werden.
  
 
Die Extension ist während der Arbeit an der jetzigen Homepage (aka. Projekt Kiwi) entstanden.
 
Die Extension ist während der Arbeit an der jetzigen Homepage (aka. Projekt Kiwi) entstanden.
Zeile 21: Zeile 23:
 
MediaWiki-Parser reagiert auf den Hook "shoogle" und ruft die Funktion "hookShoogle" auf. Diese Funktion bekommt als Parameter bereits den Inhalt zwischen den shoogle-Tag, sowie die Argumente übergeben.
 
MediaWiki-Parser reagiert auf den Hook "shoogle" und ruft die Funktion "hookShoogle" auf. Diese Funktion bekommt als Parameter bereits den Inhalt zwischen den shoogle-Tag, sowie die Argumente übergeben.
  
Die Extension läd nun alle Artikel inklusive Text aus der Datenbank, welche der Kategorie "CategoryName" zugewiesen sind. Zurzeit werden nur Artikel geladen, die <strong>direkt</strong> in der Kategorie "CategoryName" liegen. Unterstützung für Sub-Kategorien ist geplant.
+
Die Extension lädt nun alle Artikel inklusive Text aus der Datenbank, welche der Kategorie "CategoryName" zugewiesen sind. Zurzeit werden nur Artikel geladen, die <strong>direkt</strong> in der Kategorie "CategoryName" liegen. Unterstützung für Sub-Kategorien ist geplant.
  
 
Anschliessend werden per RegEx aus der "Infobox Projekt" die Attribute "name", "image" und "beschreibung" gelesen, und falls sie nicht existieren durch den default ersetzt. Im Fall von "name" ist dies der Titel der Artikelseite.
 
Anschliessend werden per RegEx aus der "Infobox Projekt" die Attribute "name", "image" und "beschreibung" gelesen, und falls sie nicht existieren durch den default ersetzt. Im Fall von "name" ist dies der Titel der Artikelseite.
Zeile 36: Zeile 38:
  
 
Falls für einen Artikel keine Projektbox existiert, oder die Attribute nicht gesetzt sind, werden die Attribute "DefaultImage" und "DefaultDescription" verwendet.
 
Falls für einen Artikel keine Projektbox existiert, oder die Attribute nicht gesetzt sind, werden die Attribute "DefaultImage" und "DefaultDescription" verwendet.
 +
 +
Es existiert auch ein [[HowTo/Infobox|Infobox HowTo]] in dem die Verwendung der Infobox und ihre Parameter erklärt werden.
 +
 +
 +
== Project of the Day ==
 +
 +
Da neuen Besucher der Seite möglichst schnell unsere Projekte präsentiert werden, wollten wir auf der Startseite eine Auswahl unserer Projekte mit Bild präsentieren.
 +
 +
Besucher die das erste mal auf der Seite sind müssen möglichst schnell mit interresanten Informationen, welche den Space repräsentieren, versorgt werden damit der User nicht "bounced". Unter einem Bounce versteht man den Besuch einer Seite, welche über eine Suchmaschine gefunden wurde und dem sofortigen verlassen dieser, weil nicht die gewünschten Informationen gefunden wurden.
 +
 +
Hier bietet nun ShoogleList den Modus '''potd'' oder auch "Project of the Day". Dieser muss einfach im Shoogle-Tag als ''type="potd"'' angegeben werden. Desweiteren ist es auch möglich über den ''Limit''-Parameter die Anzahl der Ergebnisse zu reduzieren oder zu erhöhen. Als Standard ist hier der Wert 5 gewählt.
 +
 +
Das Script cached die zufällige Auswahl der Projekte bis Mitternacht, welche beim ersten ungecachten Aufruf des Tages generiert wird.
 +
 +
Außerdem werden die zuletzte ausgewählten Projekte gespeichert, damit bei erneuter Auswahl nicht die selben Projekte, welche schon am Vortag angezeigt wurden, gelistet werden.
 +
 +
Als Cache wird hier APC verwendet, welches auf dem Webserver installiert sein muss. Falls die Extension nicht vorhanden ist, verursacht das Script zwar keine Fehler, da die Existenz der Funktionen geprüft wird, allerdings rotieren dann die Projekte bei jedem Aufruf.
 +
 +
Beispielaufruf:
 +
    &lt;shoogle type="potd"&gt;Kategorie&lt;/shoogle&gt;
 +
 +
== Parameter ==
 +
 +
Folgende Parameter stehen zur Konfiguration der Shoogle-Extension zur Verfügung:
 +
 +
{|class="wikitable"
 +
! Parameter !! Datentyp !! Beschreibung !! Default
 +
|-
 +
| defaultdesc || string || Default-Beschreibung, falls diese beim Projekt leer ist || -
 +
|-
 +
| defaultimage || string || Default-Image, falls dieses beim Projekt leer ist || -
 +
|-
 +
| thumb_size || integer || Thumbnailgröße || 180
 +
|-
 +
| trim_text || integer || Kürzung der Projektbeschreibung || -
 +
|-
 +
| limit || integer || Maximale Projektanzahl (nur potd) || 4
 +
|-
 +
| type || string || Modus (aktuell nur "potd") || -
 +
|}
  
 
== Installation ==
 
== Installation ==
Zeile 58: Zeile 100:
 
== Sonstiges ==
 
== Sonstiges ==
  
Den Code findest du hier: [https://github.com/Schinken/shooglelist]
+
Den Code findest du hier: [https://github.com/Schinken/shooglelist GitHub]

Aktuelle Version vom 14. September 2014, 16:33 Uhr

Crystal Clear action run.png
ShoogleList

Status: stable

Shoogle category preview 500x500.jpg
Beschreibung Mediawiki Kategorieliste
Autor: schinken
Version 1
PayPal Spenden für ShoogleList

Beschreibung

ShoogleList ist eine MediaWiki-Extension, welche Artikel in einer Kategorie mit vordefinierten Vorschaubildern auflistet. Für die Auflistung werden die Attribute der Infobox-Projekt geparsed, und für die Darstellung verwendet.

Durch diese Erweiterung soll eine bessere Übersicht aller Projekte und Kategorien gewährleistet werden.

Die Extension ist während der Arbeit an der jetzigen Homepage (aka. Projekt Kiwi) entstanden.

Funktionsweise

MediaWiki-Parser reagiert auf den Hook "shoogle" und ruft die Funktion "hookShoogle" auf. Diese Funktion bekommt als Parameter bereits den Inhalt zwischen den shoogle-Tag, sowie die Argumente übergeben.

Die Extension lädt nun alle Artikel inklusive Text aus der Datenbank, welche der Kategorie "CategoryName" zugewiesen sind. Zurzeit werden nur Artikel geladen, die direkt in der Kategorie "CategoryName" liegen. Unterstützung für Sub-Kategorien ist geplant.

Anschliessend werden per RegEx aus der "Infobox Projekt" die Attribute "name", "image" und "beschreibung" gelesen, und falls sie nicht existieren durch den default ersetzt. Im Fall von "name" ist dies der Titel der Artikelseite.

Aus den gelesenen Attributen wird nun die Liste als HTML-Code generiert. Leider hat mediawiki hierfür keine Template-Engine, und der HTML-Code muss direkt in den PHP-Code geschrieben werden.

Einbindung

Um ShoogleList zu verwenden muss es nur über einen Tag angesprochen werden. Dieser sieht wiefolgt aus:

 <shoogle defaultimg="my default image.png" defaultdesc="my default description">CategoryName</shoogle>

Dadurch wird die Kategorie "CategoryName" indiziert, und ausgegeben.

Falls für einen Artikel keine Projektbox existiert, oder die Attribute nicht gesetzt sind, werden die Attribute "DefaultImage" und "DefaultDescription" verwendet.

Es existiert auch ein Infobox HowTo in dem die Verwendung der Infobox und ihre Parameter erklärt werden.


Project of the Day

Da neuen Besucher der Seite möglichst schnell unsere Projekte präsentiert werden, wollten wir auf der Startseite eine Auswahl unserer Projekte mit Bild präsentieren.

Besucher die das erste mal auf der Seite sind müssen möglichst schnell mit interresanten Informationen, welche den Space repräsentieren, versorgt werden damit der User nicht "bounced". Unter einem Bounce versteht man den Besuch einer Seite, welche über eine Suchmaschine gefunden wurde und dem sofortigen verlassen dieser, weil nicht die gewünschten Informationen gefunden wurden.

Hier bietet nun ShoogleList den Modus 'potd oder auch "Project of the Day". Dieser muss einfach im Shoogle-Tag als type="potd" angegeben werden. Desweiteren ist es auch möglich über den Limit-Parameter die Anzahl der Ergebnisse zu reduzieren oder zu erhöhen. Als Standard ist hier der Wert 5 gewählt.

Das Script cached die zufällige Auswahl der Projekte bis Mitternacht, welche beim ersten ungecachten Aufruf des Tages generiert wird.

Außerdem werden die zuletzte ausgewählten Projekte gespeichert, damit bei erneuter Auswahl nicht die selben Projekte, welche schon am Vortag angezeigt wurden, gelistet werden.

Als Cache wird hier APC verwendet, welches auf dem Webserver installiert sein muss. Falls die Extension nicht vorhanden ist, verursacht das Script zwar keine Fehler, da die Existenz der Funktionen geprüft wird, allerdings rotieren dann die Projekte bei jedem Aufruf.

Beispielaufruf:

   <shoogle type="potd">Kategorie</shoogle>

Parameter

Folgende Parameter stehen zur Konfiguration der Shoogle-Extension zur Verfügung:

Parameter Datentyp Beschreibung Default
defaultdesc string Default-Beschreibung, falls diese beim Projekt leer ist -
defaultimage string Default-Image, falls dieses beim Projekt leer ist -
thumb_size integer Thumbnailgröße 180
trim_text integer Kürzung der Projektbeschreibung -
limit integer Maximale Projektanzahl (nur potd) 4
type string Modus (aktuell nur "potd") -

Installation

Wechseln in den mediawiki/extensions-Ordner:

 cd /var/www/mediawiki/extensions

ShoogleList aus dem repository auschecken:

 git clone https://github.com/Schinken/shooglelist.git

oder per tar-ball:

 wget 'https://github.com/Schinken/shooglelist/tarball/master' -O ShoogleList.tar.gz
 tar xvfz ShoogleList.tar.gz

Eintragen in die LocalSettings.php (/var/www/mediawiki)

 include_once("$IP/extensions/ShoogleList/ShoogleList.php");

Sonstiges

Den Code findest du hier: GitHub