OptiYummy-Update 1.15 auf 1.19: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 109: | Zeile 109: | ||
'''Hinweis:''' Die durch Doppelpunkt angedeuteten drei Zeilen wurden hier nicht dargestellt, weil es Probleme mit der Darstellung ihrer Syntax auf dieser Seite gab. | '''Hinweis:''' Die durch Doppelpunkt angedeuteten drei Zeilen wurden hier nicht dargestellt, weil es Probleme mit der Darstellung ihrer Syntax auf dieser Seite gab. | ||
=== Werkzeuge nur fuer angemeldete Nutzer === | |||
Die erforderliche Änderung von '''/skins/MonoBook.php''' ist im Prinzip identisch mit der von Version 1.15: | |||
* Finden des folgenden Abschnitts (Suchen nach p-tb): | |||
<pre> | |||
<div class="portlet" id="p-tb"> | |||
<h5><?php $this->msg('toolbox') ?></h5> | |||
</pre> | |||
* Ersetzen durch die folgenden Zeilen: | |||
<pre> | |||
<div class="portlet" id="p-tb"> | |||
<?php if($this->data['loggedin']) { ?> | |||
<h5><?php $this->msg('toolbox') ?></h5> | |||
</pre> | |||
* Weiter unten steht das Ende des soeben editierten div-Blockes. Dort sucht man folgenden Abschnitt: | |||
<pre> | |||
wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); | |||
wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) ); | |||
?> | |||
</ul> | |||
</div> | |||
</div> | |||
</pre> | |||
* Dort ergänzt man die Zeile (zwischen den beiden /div), welche das neue "if"-Statement schließt: | |||
<pre> | |||
wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); | |||
wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) ); | |||
?> | |||
</ul> | |||
</div> | |||
<?php } ?> | |||
</div> | |||
</pre> |
Version vom 31. Dezember 2014, 11:21 Uhr
Zielpraezisierung
Im Jahre 2012 wurde das Optimierungsportal OptiYummy von einem eigenen Linux-Server auf ein STRATO Hostingpaket PowerWeb Basic übertragen. Dabei erfolgte gleichzeitig ein Update von der MediaWiki-Version 1.10.0 auf die damals von STRATO unterstützte Version 1.15.2. Der ziemlich aufwändige Update-Prozess wurde ausführlich beschrieben (Siehe: Update 2012).
Inzwischen besteht die Möglichkeit, mittels des STRATO AppWizard ein Update auf die Version 19.1 vorzunehmen. Diese Version wird noch längere Zeit mit Updates versorgt (Siehe: Versionszeitplan).
Da nach bisherigen persönlichen Erfahrungen MediaWiki-Updates noch nie problemlos verliefen, wurde bewusst dafür die ruhige Zeit zum Jahreswechsel gewählt. Die erforderlichen Schritte werden wieder ausführlich dokumentiert.
Update des MediaWiki-Systems mit STRATO-AppWizard
Das Web-Interface für Hosting-Pakete wird von STRATO kontinuierlich modifiziert. Diese Beschreibung entspricht dem Stand Ende Dezember 2014:
- Unter dem Menüpunkt Ihr Paket > Homepagegestaltung > AppWizard findet man die Liste der installierten MediaWiki-Anwendungen einschließlich der Versionsnummer 1.15.2-4.
- Stellt STRATO ein Update auf eine aktuellere Version bereit (im Beispiel 1.19.1-2), so ist dies für die betreffende MediaWiki-Anwendung vermerkt.
- Bevor man die Aktualisierung startet, sollte man die "Details" für diese Anwendung öffnen.
Backup der Version 1.15
- In der Übersicht zu den Details besteht die Möglichkeit, "Manuelle Backups" zu erstellen. Diese sollte man nutzen. Jedoch handelt es sich dabei anscheinend nur um einen Abzug der aktuellen Datenbank und nicht um die Sicherung der gesamten Ordnerstruktur der MediaWiki-Anwendung. Eine Wiederherstellung aus diesem manuellem Backup war nicht möglich, wenn die Ordnerstruktur nicht mehr vorhanden war!
- Wie bereits in den vorherigen Anleitungen beschrieben, sollte man mittels PUTTY und dem Befehl mysqldump den aktuellen Zustand der Datenbank als SQL-Datei exportieren:
mysqldump DBxx --add-drop-table -h rdbms -u BENUTZERNAME -pPASSWORT > datei.sql
- Zusätzlich zur Sicherung der kompletten Ordnerstruktur auf dem lokalen PC (z.B. mittels FTP- oder SSH-Zugang), sollte man mittels PUTTY eine Kopie des MediaWiki-Ordners direkt im Webspace mit dem cp-Befehl erzeugen, z.B.:
cp -rp mediawiki_02 mediawiki_02b
- Die Option -rp kopiert rekursiv die gesamte Ordnerstruktur unter Beibehaltung des Dateidatums von der Quelle mediawiki_02 in das Ziel mediawiki_02b.
- Sollte nach dem Update des Wiki-Systems dieses nicht mehr funktionieren, so kann man einfach den Ordner des zerstörten Systems in Putty mittels rm-Befehl löschen, z.B.:
rm -r mediawiki_02
- Aus dem kopierten Ordner erzeugt man wieder den Original-Ordner, z.B.:
cp -rp mediawiki_02b mediawiki_02
- Danach sollte das Wiki-System wieder funktionieren, falls die Datenbank durch das Update nicht zerstört wurde.
Aktualisieren auf 1.19
Der MediaWiki-Aktualisierungsassistent warnt:
- "Die Aktualisierung auf neue Versionen kann die Funktionalität ihrer Webseite beeinträchtigen! Deshalb wird zuvor ein automatisches Backup erstellt, welches jederzeit zurückgespielt werden kann."
- Deshalb "Weiter" nach Vergabe eines Bezeichners für das anzulegende Backup, z.B.: optiyummy-backup.
- Es erscheint eine Info zu den wichtigsten Neuerungen der Version 1.19, welche man mit "Fertigstellen" quittiert.
- Es erfolgt dann nach einiger Zeit die Meldung zur erfolgreichen Aktualisierung.
Leider ist diese Aktualisierung nicht wirklich komplett, denn nach Aufruf von www.optiyummy.de sind sämtliche Bilder verschwunden und die Bearbeitung ist auch für nicht angemeldete Nutzer freigeschalten:
- In die neue Datei LocalSettings.php wurden die für die alte Version ergänzten Änderungen nicht mit übernommen!
- Man sollte die aktuelle Datei LocalSettings.php sichern und dann einfach eine Kopie der alten Version von LocalSettings.php benutzen!
- Danach werden alle Bilder wieder dargestellt und nicht angemeldete Nutzer können keine Änderungen vornehmen.
- Ein Vergleich beider Versionen der LocalSettings.php zeigte, dass die Datei aus der Version 1.15 bereits alle erforderlichen Einträge enthält. Es müssen also keine Neuerungen aus der Version 1.19 übernommen werden.
Hinweis:
Die MediaWiki-Version 1.19 funktioniert nur mit der PHP-Version 5.3! Das Aktivieren einer neueren PHP-Version unter dem STRATO-Menü Verwaltung > Website-Configurator > PHP-Version einstellen führt zu Fehlermeldungen bei der Darstellung.
In der MediaWiki-Version 1.15 konnte man noch über Änderungen in der Datei "/skins/MonoBook.php" überflüssige Elemente der Oberfläche ausblenden. Das ist in Version 1.19 ist dies nicht mehr möglich.
Es müssen noch Lösungen gefunden werden für das Ausblenden folgender Elemente des MonoBook-Layouts:
- Ausblenden aller Registerkarten für nicht angemeldete Benutzer ("Seite", "Diskussion", "Quelltext anzeigen", "Versionen/Autoren")
- Ausblenden aller Items in der Fußzeile außer "Impressum".
- Ausblenden des Werkzeug-Menüs für nicht angemeldete Benutzer.
Für den Laien ist dies nicht ganz trivial und erfordert einiges an Suche.
Ausblenden der Registerkarten
Folgende Änderungen sind vor den letzten 3 Zeilen der Datei /skins/MonoBook.php zu ergänzen (Originaldatei zuvor sichern!):
<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?> <style type="text/css"> #ca-viewsource { display: none !important; } </style> <?php } ?> <?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?> <style type="text/css"> #ca-talk { display: none !important; } </style> <?php } ?> <?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?> <style type="text/css"> #ca-history { display: none !important; } </style> <?php } ?> <?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?> <style type="text/css"> #ca-nstab-main { display: none !important; } </style> <?php } ?> <?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?> <style type="text/css"> #ca-nstab-project { display: none !important; } </style> <?php } ?>
Das sind dann die bisherigen letzten 3 Zeilen, welche erhalten bleiben:
<?php } } // end of class
Es werden damit die Registerkarten für alle Nutzer ausgeblendet, welche nicht editieren dürfen. Das sind infolge der Einstellungen in LocalSettings.php alle nicht angemeldeten Nutzer.
Fusszeile nur mit Impressum
Dafür muss in der Datei /skins/MonoBook.php die folgende Zeile mit der Definition der gewünschten FooterLinks ergänzt werden:
$validFooterLinks = array('disclaimer', 'tagline'); // Nur Impressum in Fusszeile
Diese Zeile ist direkt vor den Zeilen für das Schreiben der Fußzeilen-Einträge einzufügen:
if ( count( $validFooterLinks ) > 0 ) { : : foreach( $validFooterLinks as $aLink ) { ?> :
Hinweis: Die durch Doppelpunkt angedeuteten drei Zeilen wurden hier nicht dargestellt, weil es Probleme mit der Darstellung ihrer Syntax auf dieser Seite gab.
Werkzeuge nur fuer angemeldete Nutzer
Die erforderliche Änderung von /skins/MonoBook.php ist im Prinzip identisch mit der von Version 1.15:
- 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 ) ); wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) ); ?> </ul> </div> </div>
- Dort ergänzt man die Zeile (zwischen den beiden /div), welche das neue "if"-Statement schließt:
wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) ); ?> </ul> </div> <?php } ?> </div>