Migration von TWiki nach FosWiki (Bachelorarbeit)
In dieser Bachelorarbeit soll eine Umstellung des aktuell laufenden Betriebs
von TWiki am Fachbereich auf Foswiki vorgenommen werden.
Kontext und Ziele
Seit 2003 betreibt der Fachbereich
ein Wiki-System.
Dieses wurde anfangs nur von der
Arbeitsgruppe Software Engineering
eingesetzt, hat sich inzwischen aber auch auf
eine Reihe anderer Stellen
ausgebreitet.
Insbesondere verwendet auch unsere
Rechnerbetriebsgruppe
das System für eigene Zwecke mit.
Dieses Wiki läuft derzeit mit einer recht alten Version von
TWiki.
Diese sollte (schon allein wegen ihres Alters) längst mal abgelöst werden.
Dazu kommen zwei weitere Anlässe:
- Am 2011-06-23 hat die Freie Universität ihr Webdesign aktualisiert. Das neue Design ist also jetzt auch im Wiki nachzubilden.
- 2008 hat sich der Gründer von TWiki, Peter Thoeny, mit seiner Entwicklergemeinde zerstritten, die sich daraufhin fast komplett abgesetzt hat und mit Foswiki eine Abspaltung des TWiki-Projekts gegründet, die inzwischen als das eigentliche aktuelle TWiki gelten darf. Die Umstellung geht also von TWiki nach Foswiki.
In dieser Arbeit soll nun sauber und mit allem Drum und Dran ein Betrieb
von Foswiki begonnen werden, der das bisherige TWiki komplett
ablöst und stilllegt.
Tätigkeiten
Hier ist eine grobe Liste der Tätigkeiten, die dabei zu erledigen sein werden:
- Grobe Orientierung verschaffen, wer die betroffenen Personen und Wikiseiten sein werden: Mengengerüst, wichtige Cluster, Arten von Personen, Arten von Seiten.
- Ermitteln, welche der installierten TWiki-Erweiterungen (Plug-Ins) wofür und wie tatsächlich verwendet werden.
- Ermitteln, welche davon gleichartig in Foswiki zur Verfügung stehen und wie ggf. die restlichen ersetzt werden können.
- Die aktuelle Version von Foswiki installieren und in Betrieb nehmen. Testen. Softwaresprache bleibt Englisch.
- Dokumentation sichten und Funktionsumfang kennen lernen und erlernen/ausprobieren.
- Die zur Emulation des bisherigen Funktionsumfangs nötigen Erweiterungen in Betrieb nehmen. Testen.
- (Entfallen durch den zeitlichen Umfang der Datenübernahme und Sicherstellung des stabilen Betriebs) Bei wichtigen Anwendern erfragen, welche denkbaren Funktionserweiterungen sie für wünschenswert hielten (siehe auch die (veraltete) Liste TWikiWishList).
- (Entfallen durch den zeitlichen Umfang der Datenübernahme und Sicherstellung des stabilen Betriebs) Nach dazu passenden Plugins suchen. Installieren. Ausprobieren (ggf. mit Anwendern zusammen). Entweder verwerfen und deinstallieren oder akzeptieren.
- Das neue FU-Weblayout (CSS) für Foswiki bereitstellen. Einbinden. Testen.
- (Entfallen durch die Übernahme des FU Berlin Weblayouts) Verbessertes Konzept für das Gesamtlayout entwickeln und umsetzen, z.B.
- sinnvollere Inhalte für WebLeftBar (siehe InstantEnhancements und WebLeftBarCookbook)
- insbesondere bessere Einbindung von Hilfen (technische über Foswiki sowie inhaltliche über unsere Datenorganisation) für unerfahrene Anwender,
- einfache CSS-Hilfen für mehrspaltige Layouts,
- bessere Homepages für die Webs Mi, Inf, Math.
- Skripte für die vollautomatische Übernahme aller Bestandsdaten (Wikiseiten plus deren Versionshistorie) des TWiki in das Foswiki programmieren. Sorgfältig testen.
- Das sollte man mehrfach ausführen können, d.h. schon zuvor importierte Daten sollten sauber überschrieben werden.
- Dabei sollten vorher im FosWiki vorhandene Daten erhalten bleiben, damit man auch schon vor dem endgültigen Import im Foswiki Daten für den späteren Produktivbetrieb hinterlegen kann.
- Evtl. haben sich die Bezeichnungen mancher Seiten oder Webs geändert. Diese sollte das Importskript anpassen.
- Evtl. funktionieren gewisse Spezialseiten (Seitennamen WebXX, TWikiXX) jetzt anders. Das sollte das Importskript ebenfalls ausgleichen.
- Schlüsselanwender in den Test der so bereitgestellten Foswiki-Installation einbeziehen.
- Dokumentation anlegen, welche Anpassungsschritte wir gemacht haben, damit die nächste Migration nicht das Rad wieder neu erfinden muss. Für das aktuelle TWiki liegt so etwas unter TWikiLocalCustomizations.
- Livebetrieb starten: Endgültigen Import der Daten durchführen, Einbindung in den URL-Pfad /w vom TWiki auf das FosWiki umstellen.
- Im Prinzip ist jedes Wiki-Web auf jedem der drei Server mi, inf und math gleichermaßen sichtbar. Das ist wg. Suchmaschinen aber doof. Deshalb zwingen wir jedes Web auf genau einen der drei Server, indem von den anderen beiden aus Redirects zum dritten durchgeführt werden.
- Diese Redirects sind inzwischen unvollständig und deshalb jetzt zu aktualisieren.
- Am Ende einer ausreichenden Live-Testphase (2 Wochen?) das TWiki abschalten.
- Während dieser Phase kann man schön die Ausarbeitung schreiben, in der man ruhig fleißig bei der auf Wikiseiten liegenden Dokumentation abkupfern darf.
Optionale Tätigkeiten
Wenn Zeit bleibt, wären folgende Schritte als Erweiterung wünschenswert:
- Damit sich Studierende mehr an der inhaltlichen Verbesserung unseres Webauftritts beteiligen können, sollte zu manchen wichtigen Webseiten (insbesondere im Bereich Studium) eine zugehörige Wikiseite existieren, die häufig geänderte Informationen oder Zusatzinformationen aufnimmt. Oft kann diese die Originalseite sogar ganz ersetzen.
- Herausfinden, an welchen Stellen das sinnvoll ist.
- Dazu ggf. eine Befragung einzelner oder vieler Studierender durchführen.
- Herausfinden, wie man die Inhalte jeweils sinnvoll aufteilt.
- Wikiseiten einrichten und bestücken.
- Wikiseiten und CMS-Seiten in beide Richtungen mit Link verbinden.
- Werbung für diese neuen Wikiseiten machen, damit die Studis sich da auch wirklich betätigen.
- Wenn das passiert, die Änderungen eine Weile moderieren und strukturieren, damit kein Wildwuchs entsteht.
- Ganz anderer Punkt: Anwender über nützliche Funktionalitäten des Wikis aufklären.
- Anwender auf Anforderung persönlich betreuen (insbesondere Know-How liefern)
Ausarbeitung
Diese Arbeit ist sehr "systemadministratorisch" und nur wenig "programmiererisch".
Damit ein Gutachter sie nicht geringschätzt sollte man so klug sein,
in der Ausarbeitung jeweils schön hervorzuheben, wo man wichtige Informatiktechniken
verwendet hat, z.B. bei
- Anforderungsbestimmung
- Planung
- Risikomanagement
- Abstraktion
- Automatisierung
- systematischem Test
Betreuer
Die Arbeit wird verantwortlich betreut von
LutzPrechelt.
Als technischer Ansprechpartner steht
Bodo-Riediger Klaus
von der Rechnerbetriebsgruppe zur Verfügung.
Zielpublikum
Die Migration eines im Echtbetrieb laufenden und mit wertvollen Daten
bestückten Systems ist heikel und unfallträchtig.
Die Arbeit kommt deshalb bevorzugt für Studierende in Frage, die
bereits einige Übung im Bereich Systemadministration mitbringen.
Anmerkung zur Rolle dieser Seite
Während der Durchführung der Arbeit kann/sollte diese Seite als eine
Art Statusbericht dienen, in dem man obige Schrittelisten durch
(optisch geeignet abgesetzte) Statusinformationen ergänzt, die
täglich aktualisiert werden.
Foswiki hat dafür auch nette
Icons
(siehe auch
ShortcutMacros,
DocumentGraphics).
Zielsetzung
Ziel dieser Bachelorabeit ist die Umstellung des am Fachbereich laufenden TWikis nach Foswiki unter den folgenden Aspekten:
- der Anforderungserhebung (z.B. welche Konfiguration oder Plug-Ins übertragen werden müssen) und Vergabe von Prioritäten
- der Planung und Koordination (z.B. wann welche Aufgaben durchgeführt werden müssen und Absprachen mit dem technischen Betreuer)
- die Abschätzung der Risiken
- die erfolgreiche Migration der bestehenden Daten (Automatisiert)
- das systematische Test (herbeiführen von Versagen)
- und die Anfertigung einer Dokumentation der FU Berlin spezifischen Anpassungen: FoswikiLocalCustomizations.
Termine
- Spätestens in jeder zweiten Woche am Freitag mit dem technischen Betreuer (Status berichten, getroffenen Entscheidungen erläutern und weiteres Vorgehen vorstellen), sonst wöchentlich
Ereignisprotokoll (Besprechungen etc.)
- [29.11.2012] - Erstes Treffen der Beteiligten (Herr Prechelt, Herr Riediger-Klaus und Herrn Klutentreter) und Vorstellung der Bachelorarbeit und der Anforderungen sowie die Besprechung des organisatorischen Ablaufs und der Rahmenbedingungen.
- [30.11.2012] - Erstes technisches Treffen: Vorstellung und Einarbeitung in die Arbeitsumgebung.
- [02.12.2012] - Außerplanmäßiges Treffen um die ersten Konfigurationen von Foswiki und vom Apache Server zu berichten
- [07.12.2012] - Vorstellung der Konfiguration ("Configure") von Foswiki
- [14.12.2012] - Vorstellung der Authentisierung eines Benutzers über HTTTPS, Sprache des Foswikis und der Plugins
- [21.12.2012] - Vorbesprechung der umfassenden Inhalt- und Layoutänderungen der Wiki-Seiten
- [18.01.2013] - Vorstellung des neuen Weblayouts auf Basis des offiziellen Internetauftritts des Fachbereichs Informatik
- [25.01.2013] - Vorstellung verschiedener Konzepte zur Datenübernahme und Auswahl der Shell Skript Option
- [01.02.2013] - Erste Datenübernahme (ohne Änderung Wiki-systemspezifischer Begriffe)
- [08.02.2013] - Zweite Datenübernahme (mit Änderung Wiki-systemspezifischer Begriffe)
- [bis 01.03.2013] - Ausbau der Shell Skripte zur Datenübernahme und Ergänzung fehlender TWiki Plug-Ins
- [08.03.2013] - Migration des TWiki-Systems auf das Foswiki-System im Rahmen der monatlichen Wartung des Rechnerbetriebs
- [11.03.2013] - Nachtreffen zur Migration
- [10.05.2013] - Abgabetermin der Bachelorarbeit
Konflikte
Auflistung bisher aufgetretender Konflikte:
- [Konflikt] - [Gelöst: ?] - [Wenn ja, wie?]
- [www-data Konto als Eigentümer für das Foswiki Verzeichnis - Keine Rechte] - [Gelöst: JA] - [Wurde vom technischen Betreuer eingetragen. Aus zeitlichen Gründen wurde sich an den technischen Betreuer gewandt.]
- [Neue Sicherheitsfunktion in Foswiki führen zu einer Fehlermeldung: "Bad Request", sofern ein Kommentar unangemeldet durchgeführt wird] - [Nur angemeldete Benutzer dürfen Kommentare zu einem Topic schreiben]