HilfeInhalt > HilfeZurAdministration > HilfeZumUpdaten
Index
Contents
Allgemeine Verfahrensweise
1. Backup
Bevor Sie ein existierendes Wiki updaten, ERSTELLEN SIE EINE SICHERUNG!
Sie wurden gewarnt. Es ist nicht unsere Schuld, wenn Sie so enden:
Es gibt 2 Verzeichnisbäume, die Sie sichern sollten:
Der, der die ausführbaren MoinMoin-Dateien enthält (z.B. /usr/lib/python*.*/site-packages/MoinMoin)
und der, der die Daten enthält (z.B. /usr/share/moin/wikiname/data - siehe data_dir in Ihrer moin_config.py).
Die Pfade hängen von Ihrer Installation ab.
2. Installation
Laden Sie den MoinMoin-Code herunter, auf den Sie updaten wollen.
Als root, starten Sie "python setup.py install", um die neue Version zu installieren.
3. Konfigurations-Update
Nach dem Upgrade sollte Ihr existierendes Wiki weiterhin funktionsfähig sein (das Ziel ist, vernünftige Default-Werte für neue Konfigurations-Variablen zu haben, aber Fehler kann es immer mal geben). Prüfen Sie also, ob dem wirklich so ist und dann nehmen Sie sich die Zeit, die Datei CHANGES in der Distribution zu lesen. Oft sind neue Eigenschaften nicht sichtbar, es sei denn Sie erweitern Ihre Konfigurationsdatei "moin_config.py".
Insbesondere trifft dies zu auf:
in gewisser Weise gefährliche Macros, die nicht standardmäßig aktiviert sind, weil sie für öffentliche Wikis nicht ratsam sind. Sie müssen diese explizit aktivieren, indem Sie eine allowed_actions-Liste zu der Konfiguration hinzufügen. Derzeit werden die Aktionen DeletePage und AttachFile als unsicher betrachtet.
email-Funktionen: Sie müssen mail_smarthost und mail_from angeben.
Neue Seiten-Icons: um die Icons wie "XML", "Subscribe" etc. zu bekommen, löschen Sie am besten die page_icons-Einstellung, da es nun einen Default in "config.py" dafür gibt. Wenn Sie es in der Vergangenheit geändert haben, fügen Sie neue Icons aus dem "config.py"-Default zu Ihrer "moin_config.py" hinzu.
4. Updaten der Dateien
- Bilder
- Bei jedem Update sollten Sie den Inhalt des Verzeichnisses "share/moin/htdocs/img" in das Ihrem Webserver sichtbare Bildverzeichnis kopieren - normalerweise enthalten neue Releases einige neue Icons.
Wenn Sie das standardmäßige distutils-Setupverfahren benutzen, ist das nicht mehr notwendig (distutils frischt die Dateien für Sie auf und der Webserver bekommt die Dateien der installierten Bilder).
- System-Seiten
- Wenn Sie auf eine neue Version upgraden, kopieren sie wenigstens die Hilfeseiten ("Help*" und "Hilfe*") in Ihr existierendes Verzeichnis. Danach überprüfen Sie bitte, ob irgendwelche neuen System-Seiten fehlen.
- InterWiki
Überprüfen Sie, ob Sie die neuesten Einträge in der Datei "intermap.txt" haben. Wenn Sie Ihre eigenen Einträge haben, können Sie mit "shared_intermap" auf eine Datei verweisen, die vor der Datei im data-Verzeichnis geladen wird, die dann bevorzugt wird (d.h. halten sie globale Einträge in der Datei im shared-, private Einträge in der Datei im data-Verzeichnis).
5. Problembehandlung
Es ist eine gute Idee, nach Installation einer neuen Release im Browser "moin.cgi?action=test" aufzurufen. Durch die Angabe von "?action=test" wird ein Diagnosewerkzeug aufgerufen, welches helfen kann, einige übliche Fehler finden.
Abhängig von Ihrer Installation sind enger definierte Zugriffsrechte eine gute Idee. Idealerweise weisen Sie allen Dateien im data-Verzeichnis den User zu, unter dem der Webserver-Prozess abläuft und dann benutzen Sie 700 oder 755 als Zugriffsrechte.
Upgrade-Informationen für bestimmte Versionen
Die folgenden Abschnitten enthalten Informationen, die sich auf bestimmte Versionen der Software beziehen. Wenn Sie mehrere Versionen überspringen, lesen Sie alle Abschnitte, die sich auf Ihre Situation beziehen.
1. Version 0.11
Es wird bestens empfohlen, dass Sie jede Installation vor 0.11 auf die neue distutils-Methode umstellen, was Ihnen zukünftige Upgrades stark vereinfachen wird.
Sie sollten der Anleitung auf HilfeZurInstallation folgen bezüglich der Grundinstallation, bis Sie zu dem Punkt "Erzeugen einer Wiki-Instanz"-Schritt kommen. Dann haben Sie zwei Möglichkeiten:
passen Sie einfach Ihre alte Installation auf die neue Situation an, das bedeutet insbesondere, dass Sie einen Alias erzeugen, der auf das .../share/moin/htdocs-Verzeichnis verweist; Sie müssen url_prefix dann auf /wiki ändern. Der positive Effekt daran ist, dass Sie automatisch jegliche neue Icons und CSS-Dateien der Version 0.11 und jeder zukünftigen Version bekommen, weil distutils sie an dieser Stelle updatet.
erzeugen Sie eine neue Instanz der Anleitung folgend, kopieren Sie das data-Verzeichnis von Ihrer alten Instanz und vereinigen Sie die Konfigurations-Dateien.
Prüfen Sie Ihre Konfiguration im Vergleich zu der mitgelieferten standardmäßigen moin_config.py, die Sie in .../share/moin/cgi-bin/moin_config.py nach der Installation mit distutils finden. Sie sollten die sitename-Einstellung hinzufügen, die zu Seitentiteln, zu RSS feeds und ähnlichem hinzugefügt wird.
Wenn Sie offizieller Teil des InterWiki-Verbunds sind, fügen Sie auch interwikiname hinzu, was Ihren eigenen InterWiki-Kurznamen enthalten sollte (z.B. "MoinMoin" für das MoinMoin-Wiki selbst).
Um neue Icons zu bekommen und auch die I18N-Anpassung der Menu- und Icon-Links zu erlauben, sollten Sie Ihre Einstellungen für page_icons und navi_bar entweder löschen oder anpassen1. Beachten Sie, dass die neue navi_bar-Standardeinstellung den Wikinamen aus der neuen sitename-Einstellung bezieht, was früher der Hauptgrund war, eine eigene, modifizierte navi_bar zu haben.
Aufgrund der I18N-Unterstützung für System-Seiten ist der einzige übriggebliebene Seitenname der der front page, die über page_front_page (der alte Name front_page für diese Einstellung wird nicht mehr unterstützt) eingestellt werden kann; der Logik dahinter ist die, dass Seitennamen-Anpassung hauptsächlich für Lokalisierung hinzugefügt wurde, während das Ändern der front page relativ üblich ist, oft wird die front page genauso benannt, wie das ganze Wiki.
Zuguterletzt kopieren Sie jegliche neue Systemseiten in Ihr Wiki data-Verzeichnis. Die aktuellen System-Seiten sind im Verzeichnis .../share/moin/data/text. Die Mindestmenge, die Sie kopieren müssen sind die neuen (englischen) Hilfeseiten ("Help*"). Wenn Sie sicher sind, dass Sie keinerlei Systemseiten geändert haben, können Sie auch einfach alle in das Verzeichnis data/text Ihrer Wiki-Instanz kopieren.
Wenn Sie alle Systemseiten mit einem Kommando kopieren, versichern Sie sich, dass Sie Seiten, die wahrscheinlich von Ihren Benutzern geändert wurden, aus der folgenden Liste auslassen/löschen.
Die folgenden Seiten werden sehr wahrscheinlich geändert, sobald ein Wiki in Benutzung ist und es ist ratsam, sie aus dem Haupt-Systemseiten-Verzeichnis .../share/moin/data/text zu löschen vor jeglichen Update einer Instanz; Sie sind nur beigelegt, um damit neue Wikis zu bestücken:
CategoryCategory CategoryHomepage FrontPage HomepageTemplate LocalSpellingWords WikiHomePage WikiName WikiSandBox
Die empfohlene Menge ist die folgende Liste:
Help* AbandonedPages EventStats EventStats_2fHitCounts EventStats_2fUserAgents FindPage InterWiki MoinMoin OrphanedPages PageSize RandomPage RecentChanges SiteNavigation StructuredText SystemInfo TitleIndex UserPreferences WantedPages WikiWikiWeb WordIndex XsltVersion
Wenn Sie deutschen Besuchern einen Gefallen tun wollen, sollten Sie auch die neuen deutschen System- und Hilfe-Seiten kopieren, sie werden automatisch aktiviert, wenn Sie die standardmäßigen page_icons- und navi_bar-Einstellungen verwenden:
Hilfe* AktuelleÄnderungen (Aktuelle_c4nderungen) AufgegebeneSeiten BenutzerEinstellungen GesuchteSeiten SeiteFinden SeitenGröße (SeitenGr_f6_dfe) StartSeite TitelIndex VerwaisteSeiten WegWeiser WortIndex ZufallsSeite
Die nächste Version wird eine Admin-Schnittstelle beinhalten, die interaktive Upgrades erlauben wird.
2. Version 1.0
Version 1.0 ist die letzte, die Python 1.5.2 unterstützt - allerdings benötigen einige optionale Eigenschaften (wie Statistiken) bereits Python 2.0.
3. Version 1.1
Lesen Sie auf jeden Fall den obigen Abschnitt Allgemeine Vorgehensweise bevor Sie los legen.
Version 1.1 benötigt Python 2.0 oder höher, wir empfehlen, Python 2.2 zu benutzen (Version 2.2.2, falls diese auf Ihrem Rechner verfügbar ist) oder noch besser 2.3.2 (mit 2.3.x läuft MoinMoin ungefähr 20-30% schneller).
Die nächste Version (1.2) wird Python 2.2.2 oder neuer benötigen.
Aktualisieren Ihrer Konfiguration
Falls Sie den Standardwert von page_template_ending geändert haben: dies heißt jetzt page_template_regex und muss einen regulären Ausdruck enthalten (Standardwert ist '[a-z]Template$').
Das gleiche gilt für page_form_ending, das nun page_form_regex heißt (Standardwert: '[a-z]Form$')
Keine neue Eigenschaft, aber jetzt konfigurierbar: page_category_regex (Standardwert: '^Category[A-Z]')
Wenn Sie Ihre eigene SecurityPolicy konfiguriert haben: das Klassen-Interface hat sich geändert (siehe security.py)
Aktivierung neuer Features
default_lang (Standardwert: 'en') - dies wird benutzt, wenn der Benutzer keine Sprache in seinen BenutzerEinstellungen einstellt
edit_locking (Standardwert: 'warn 10') - Sperrverfahren des Editors: None, 'warn <Timeout in Minuten>', oder 'lock <Timeout in Minuten>'.
hosts_deny (Standardwert: []) - eine Liste abgewiesener IPs; wenn eine IP mit einem Punkt endet, wird ein ganzes Subnet abgewiesen (class A, B or C).
html_pagetitle (Standardwert: None) - ermöglicht es, einen bestimmten HTML-Seitentitel zu setzen (wenn nicht gesetzt, wird als Standard der Wert von sitename benutzt).
mail_login (Standardwert: None) - Dies wird nur benötigt wenn Sie SMTP AUTH benutzen, um Mails zu senden; in diesem Fall, setzen Sie den Usernamen und das Passwort - durch ein Leerzeichen getrennt, auf z.B. "user pwd".
smileys (Standardwert: {}) - Benutzerdefinierte Smileys (ein dict mit dem Markup als Schlüssel und einem Tupel aus Breite, Höhe, Rand, Bildname als Wert).
- vergessen Sie nicht, die Datei CHANGES im Distributionsarchiv zu lesen
4. Version 1.2
Version 1.2 benötigt Python 2.2.1 oder höher, wir empfehlen, Python >=2.3.2 zu benutzen (mit 2.3.x läuft MoinMoin ungefähr 20-30% schneller) oder >=2.2.2.
die URL für den RecentChanges RSS feed hat sich geändert. Es funktioniert nur noch mit ?action=rss_rc.
- Zeichnungen verwenden nun ein neues Applet, das PNGs statt GIFs verwendet und auch image maps erzeugen kann, um Bereich einer Zeichnung zu aktivieren. Beim Anzeigen wird auch ein GIF gesucht, wenn kein PNG gefunden wird. Wir empfehlen, alle GIFs in indizierte PNGs umzuwandeln, weil dies möglicherweise in späteren Versionen entfällt.
Beispielcode für bash & ImageMagick (nur wenn Sie wissen, was Sie tun):
for draw in `find /path/to/wiki/data -name \*.draw`; do file=`dirname $draw`/`basename $draw .draw` if [ -e "${file}.gif" ]; then echo "Converting ${file}.gif to ${file}.png" convert "${file}.gif" "${file}.png" fi done
caching_formats (default: ['text_html',]) - Das Zwischenspeichern für die angegebenen Ausgabeformate aktivieren; standardmäßig aktiviert. Entwickler wollen dies möglicherweise abschalten und eine leere Liste verwenden.
- Themes und HTML/CSS-Aufräumarbeiten
Browser mit kaputter CSS-Unterstützung (wie z.B. Netscape 4.x) werden nicht länger unterstützt. Wenn Sie diese Browser immer noch unterstüzten müssen, machen Sie keinen Upgrade auf moin 1.2. Wenn Sie immer noch diese Browser benutzen, empfehlen wir, dass Sie zuerst ihren Browser upgraden (Mozilla >= 1.5 hat gute und standardkonforme HTML- und CSS-Unterstützung und ist als Freie Software für Windows, Linux und Mac verfügbar).
Wenn Sie HTML im Code oder per Config geändert haben, sollten Sie die Funktion überprüfen. Für das Übliche, schauen Sie in MoinMoin/theme/classic.py und classic/css/screen.css. Um die Standardwerte der Konfiguration für die HTML-Fragmente zu sehen, lesen Sie MoinMoin/config.py. Wenn Sie ein Theme modifizieren wollen, ändern Sie nicht einfach das classic Theme, sondern kopieren Sie es oder leiten Sie eine Unterklasse davon ab - unter einem neuen Theme-Namen.
durch die neue Theme-Unterstützung hat sich das Layout des htdocs-Verzeichnisses geändert:
statt Icons unter img/ und CSS unter css/ zu verwenden, gibt es nun ein zusätzliches Verzeichnis themename/ dazwischen, z.B. classic/img/ und classic/css/. Wenn Sie eigene Icons hinzugefügt haben, müssen Sie diese ggf. in die Theme-Verzeichnisse kopieren.
Der Dateiname der CSS-Datei hat sich auf den Medientyp geändert, das normale, was für die Bildschirmausgabe benutzt wird, hat sich also von moinmoin.css zu screen.css geändert. Es gab auch einige Änderungen und Verbesserungen in den CSS-Dateien, also benutzen Sie besser die neuen.
- config.css_url wurde entfernt
Plugins - wir benutzen einen neuen Plugin-Lader, der eine korrekte __init__.py-Datei im Plugin-Verzeichnis erfordert. Siehe das Verzeichnis wiki/data/plugin/ im Distributions-Archiv - kopieren Sie es einfach über das Plugin-Verzeichnis Ihres Wikis.
- Vergessen Sie nicht, auf das neue Twikidrawplugin upzudaten, das bei moin 1.2 beiliegt.
- Entfernte config-Variablen:
- external_diff (nicht mehr benötigt, wir haben jetzt ein internes Diff)
- shared_metadb (war noch nie implementiert - wir werden es wieder hinzufügen, wenn es implementiert ist)
- title1/2 (bitte page_header1/2 benutzen)
- page_icons_up
- Geänderte config-Variablen:
- changed_time_fmt (HTML und Klammern entfernt vom Standardwert)
- html_head (Standardwert ist nun der leere String)
- page_footer1/2 (Standardwert ist nun der leere String)
- page_icons (ist jetzt eine Liste von Icon-Namen, nicht mehr HTML)
- umask (Standardwert ist nun 0770, nicht mehr für jedermann les- und schreibbar == sicherer)
Neue config-Variablen (siehe HelpOnConfiguration):
- cookie_lifetime
- mail_login
- page_credits
- page_dict_regex
- page_group_regex
- page_header1/2
- page_iconbar
- page_icons_table
- page_license_enabled
- page_license_page
- theme_default
- theme_force
- tz_offset