OptiYummy-System 2

Aus OptiYummy
Zur Navigation springenZur Suche springen

Siehe auch: "Installation des Basis-Systems" / "System- und Datensicherung"

Wiki-System individuell konfigurieren

  • Indizierung der Seiten durch Suchmaschinen
    • Scheinbar ist ab MediWiki-Version 1.12 vorgesehen, alle Seiten des MediaWiki-Systems standardmäßig mit <meta name="robots" content="index,follow"> zu versehen.
    • Dafür wird dann $wgDefaultRobotPolicy = 'index,follow'; genutzt.
    • Ob dies realisiert ist, kann man überprüfen, indem man sich im Browser den Quelltext der generierten Seiten anschaut.
    • Im Beispiel war dieser Meta-Eintrag nicht vorhanden, weil nur die Version 1.10 genutzt wird. Allerdings werden bestimmte Spezialseiten vom MediaWiki mittels "noindex,nofollow" explizit für die Suchmaschinen verboten.
    • Unabhängig davon sollte man in das Stammverzeichnis des Wiki-Systems \srv\www\htdocs\mediawiki\ eine Textdatei robots.txt ablegen:
      • Die Suchmaschinen lesen beim Finden einer Webseite zuerst diese Datei im Stammverzeichnis der Domäne.
      • In dieser Datei kann beschrieben werden, ob und wie die Suchmaschine (Robot) die Seiten erfassen darf.
      • Es ist scheinbar wichtig, unsinnige Robots auszusperren, um nicht unsinnigen Datenverkehr für das Wikisystem zu erzeugen.
      • Für Laien ist es günstig, als Grundlage die Datei robot.txt der Wikipedia [1] zu verwenden. Auf konkrete Verzeichnisse der Wikipedia bezogene Einträge (z.B. /wiki/) muss man löschen!


Für die folgenden Anpassungen muss man die Datei LocalSettings.php manuell bearbeiten. Um den ursprünglichen Zustand wieder herstellen zu können, sollte man sich eine Sicherungsdatei anlegen (Kopieren und Einfügen unter neuem Namen). Dann lädt man LocalSettings.php in einem Texteditor (z.B. rechte Maus - Öffnen mit ... Dienstprogramme - Editor Kate - Sitzung öffen). Die meisten Änderungsmöglichkeiten sind durch kommentierte Zeilen bereits vorbereitet:

  • Die Parameter im vorderen Abschnitt wurden bereits durch den Konfigurationsdialog des MediaWiki belegt. Dort könnte man später bei Bedarf auch manuell Änderungen vornehmen, z.B.:
    • ini_set( 'memory_limit', '32M' ); (Max. Größe für ein PHP-Script)
  • Benutzer-Rechte abweichend von den Defaultwerten:
    • $wgDefaultUserOptions['editsection'] = false; ("Bearbeiten" am Text ausblenden für anonyme Nutzer)
    • $wgGroupPermissions['*']['edit'] = false; (Nur angemeldeten Benutzern Bearbeiten erlauben)
    • $wgGroupPermissions['*']['createpage'] = false; (Anonyme Nutzer können keine neuen Seiten anlegen)
    • $wgGroupPermissions['*']['createtalk'] = false; (Anonyme Nutzer können keine Diskussion anlegen)
    • $wgGroupPermissions['*']['createaccount'] = false; (Neuanmeldungen verbieten außer für Sysop)
    • $wgShowIPinHeader = false; (Links auf IP-Diskussionsseiten rechts oben ausschalten)
    • $wgAllowSysopQueries = true; (Datenbankabfragen für Admins erlauben)
  • Upload von Bildern unter Nutzung von ImageMagick
    • $wgEnableUploads = true;
    • $wgUseImageResize = true;
    • $wgUseImageMagick = true;
    • $wgImageMagickConvertCommand = "/usr/bin/convert";
  • Mathematische Formeln mit LaTeX einbinden
    • Die erforderlichen texvc-Komponenten befinden sich bereits in /mediawiki/math/
    • $wgUseTex = true; (damit wird LaTeX aktiviert)


Um Bilder und Formeln auch im "safe mode" von PHP hochladen zu können, sind folgende Maßnahmen erforderlich:

  • Im mediawiki/images-Verzeichnis folgende Ordner anlegen:
    • /archive (für die Bilder)
    • /thumb (wahrscheinlich für Vorschau)
    • /tmp
    • /math (für Formeln)
  • Für alle diese Ordner folgende Eigenschaften (Berechtigungen) setzen:
    • Gruppe=www / Eigentümer=root
    • Eigentümer und Gruppe dürfen "Inhalt Anzeigen und Ändern"
    • Sonstige dürfen "Inhalt darstellen"
  • Nicht die Verzeichnisstruktur "/a/ab/foo.png" für Bilder verwenden:
    • $wgHashedUploadDirectory = false;


Nur ImageMap bietet die Möglichkeit, klickbare Bilder einzubinden. D.h., man kann hinter dem Bild ein odere mehrere Links zu beliebigen Seiten verbergen. Dabei handelt es sich um eine sogenannte Extension, welche man separat in das Wiki-System einbinden muss:

  • Es existieren mehrere Implementierungen für die ImageMap-Extension. Es wird empfohlen, die aktuelle offizielle Version zu nutzen, die man von http://www.mediawiki.org/wiki/Extension:ImageMap herunterladen kann.
  • Im Ordner /extensions des Wiki-Systems muss man ein Verzeichnis ImageMap anlegen.
  • Alle Dateien der Subversion http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ImageMap/ muss man in dieses Verzeichnis speichern.
  • Danach muss der Ordner ImageMap einschließlich seines Inhalts folgende Eigenschaften (Berechtigungen) erhalten:
    • Gruppe: www
    • Gruppe und Sonstige: Inhalt darstellbar (r-x)
    • Alle Dateien wurden als "ausführbar" gekennzeichnet.
  • Zusätzlich muss in der Datei LocalSettings.php folgende Zeile ergänzt werden:
require_once( "$IP/extensions/ImageMap/ImageMap.php" );
  • Achtung: Es funktioniert noch nicht! Seiten mit ImageMap können nicht dargestellt werden. Die Ursache muss noch gefunden werden.

Anzeige des richtigen Domän-Namens bei Domän-Umleitung

Die Domäne optiyummy.de wird beim Provider STRATO gehostet. Dort ist allerdings nur eine externe Umleitung auf einen an der TU-Dresden betriebenen Server eingetragen:

http://www.efwtopti.et.tu-dresden.de/mediawiki/

Dabei ist www.efwtopti.et.tu-dresden.de der im DNS eingetragene Server-Name und /mediawiki der Ordner, in dem sich das Wiki-System von OptiYummy befindet (index.php). Diese Umleitung funktioniert sehr gut, besitzt aber einen kleinen Schönheitsfehler:

  • Im Browser erscheint nicht der Domän-Name www.optiyummi.de, sondern obiger Server-Name.
  • Um dieses Problem zu beheben, muss man in der Datei LocalSettings.php die Zeile:
$wgScriptPath = "/mediawiki";

durch die zwei folgenden Zeilen ersetzen:

$wgScriptPath = "";
$wgServer = "http://www.optiyummy.de";

Leider entstehen danach zwei eigenartige Effekte, wahrscheinlich wegen des geänderten ScriptPath. Allerdings treten die folgenden Effekte nicht in allen Web-Browsern auf, jedoch auf jeden Fall im IE7:

  1. Die Überschriften der Navigationsblöcke im Sidebar-Menü bestehen nun alle nur noch aus Kleinbuchstaben.
  2. Auch für nicht angemeldete Nutzer wird an jedem Abschnitt einer Seite der Bearbeiten-Link angezeigt.

Mit etwas Ursachenforschung lassen sich diese Effekte sicher noch beheben!


Anmerkung:

Scheinbar ist die Verwendung des richtigen Domän-Namens die Vorraussetzung dafür, dass die Suchmaschinen die Datei http://www.optiyummy.de/robots.txt dem Wiki-System zuordnen können. Ohne die Anpassung erhalten die Suchmaschinen nur Seiten, die nicht von optiyummy.de kommen!

Layout-Gestaltung auf Basis des "Monobook"-Skin

  • $wgLogo = "$wgScriptPath/images/logo.gif"; (Eigenes Logo 135x135 Pixel)
  • $wgFavicon = "$wgScriptPath/images/favicon.ico"; (16x16 Pixel, z.B. mit IrfanView gespeichert)

Änderungen in der Navigationsleiste (MediaWiki:Sidebar):

  • Man meldet sich als Administrator "WikiSysop" an.
  • Suche nach der Seite "MediaWiki:Sidebar" öffnet die Navigationsbeschreibung. Diese kann man "normal" zum Bearbeiten öffnen:
  • Alle Text-Worte in dieser Seite werden als Text-Variable interpretiert. Das Wiki-System sucht für die gewählte Language das zugehörige Wort im Wörterbuch. Wird kein Eintrag im Wörterbuch gefunden, so wird das "Wort" direkt in der Navigationsleiste benutzt.
  • Die Navigationsleiste kann aus mehreren Abschnitten bestehen. Jeder Abschnitt ist durch eine Zeile mit einem vorangestellten Stern gekennzeichnet.
  • Innerhalb eines Abschnitts sind jeder Zeile zwei Sterne vorangestellt.
  • Die Zeilen im Abschnitt entsprechen den Menüpunkten.
  • Jede Zeile hat die Struktur ** link|Text.
  • Der Link zeigt auf eine interne Wikiseite oder man benutzt die Konventionen für externe Links.
  • Achtung: Ein Link sollte keine Umlaute oder Sonderzeichen enthalten, um Zeichensatz-Probleme bei der Portierung der Datenbank zu vermeiden!
  • Im Beispiel wurde die Navigationsleiste in mehrere Sektionen geteilt.

  • Grundlagen
    • Simulation|Simulation
    • Probabilistik|Probabilistik
    • Nennwert-Optima|Nennwert-Optima
    • Ausschuss-Quote|Ausschuss-Quote
    • Robustheit|Robustheit
    • Kompromiss-Loesung|Kompromiss
  • Problemstellungen
    • Praxisbeispiele|Praxisbeispiele
  • Software
    • Modell-Interface|Modell-Interface
    • Nutzerprogramm|Nutzerprogramm
    • Tabellenkalkulation|Tabellenkalkulation
    • CAD-Programm|CAD-Programm
    • Simulationssystem|Simulationssystem
  • Hardware
    • Personalcomputer|Personalcomputer
    • Terminal-Server|Terminal-Server
    • PC-Cluster|PC-Cluster
  • Info's
    • helppage|Hilfe zur Nutzung
    • OptiYummy-System|OptiYummy-System
  • Powered by

  • Auf eine Ergänzung des Wörterbuchs in \mediawiki\languages\messages\MessagesDe.php wurde verzichtet, da es dann wahrscheinlich Probleme bei einer Portierung des Wikisystems gibt.
  • Existiert für den internen Link noch keine Seite, so wird dafür eine Leere Seite angelegt. Der Seiten-Name erscheint als Überschrift (1. Zeichen Großbuchstabe), z.B. "Optimierungshardware".
  • Überschriften von Wiki-Standardseiten kann man normal editieren, z.B.:
    • Seite MediaWiki:Mainpage Bearbeiten
    • Anstatt "Hauptseite" wurde "Startseite" in Übereinstimmung mit der Navigationsleiste eingetragen.


Änderungen in der Datei "MonoBook.php"

Die folgenden Änderungen in der Datei "MonoBook.php" im "Skin"-Ordner bergen die Gefahr, dass Änderungen bei Updates verloren gehen. Doch zuvor besteht die Gefahr, dass man die Struktur dieser Datei versehentlich durch die Änderungen zerstört:

Achtung: Vorher eine Kopie der Orignal-Version von MonoBook.php erzeugen und sichern.


Ausblenden von Items in der Fußzeile:

  • Alle nicht gewünschten Items wurden mit Kommentar /* */ ausgeklammert
  • Nur disclaimer (=Impressum) blieb erhalten:
$footerlinks = array(
  /*'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',*/
  /*'privacy', 'about',*/ 'disclaimer', 'tagline',
 );

Ausblenden des Werkzeuge-Menüs für nichtangemeldete Nutzer:

  • Finden des folgenden Abschnitts (Suchen nach p-tb):
        <div class="portlet" id="p-tb">
        <h5><?php $this->msg('toolbox') ?></h5>
 
  • Ersetzen durch die folgenden Zeilen:
        <div class="portlet" id="p-tb">
        <?php if($this->data['loggedin']) { ?>
        <h5><?php $this->msg('toolbox') ?></h5>
 
  • Weiter unten steht das Ende des soeben editierten div-Blockes. Dort sucht man folgenden Abschnitt:
         wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
 ?>
         </ul>
     </div>
   </div>
 
  • Dort ergänzt man die Zeile (zwischen den beiden /div), welche das neue "if"-Statement schließt:
         wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
 ?>
         </ul>
       </div>
     <?php } ?>		
   </div>
 

Ausblenden der Register-Tabs für nichtangemeldete Nutzer:

Man sucht in "MonoBook.php" die folgende Zeile:

foreach($this->data['content_actions'] as $key => $tab) {

und fügt unmittelbar nach "$tab)" die fett markierte Bedingung ein:

foreach($this->data['content_actions'] as $key => $tab) if($this->data['loggedin']==1) {



Weiter mit "System- und Datensicherung" -> Seite 3