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:

  1. choice-yes Grobe Orientierung verschaffen, wer die betroffenen Personen und Wikiseiten sein werden: Mengengerüst, wichtige Cluster, Arten von Personen, Arten von Seiten.
  2. choice-yes Ermitteln, welche der installierten TWiki-Erweiterungen (Plug-Ins) wofür und wie tatsächlich verwendet werden.
  3. choice-yes Ermitteln, welche davon gleichartig in Foswiki zur Verfügung stehen und wie ggf. die restlichen ersetzt werden können.
  4. choice-yes Die aktuelle Version von Foswiki installieren und in Betrieb nehmen. Testen. Softwaresprache bleibt Englisch.
  5. choice-yes Dokumentation sichten und Funktionsumfang kennen lernen und erlernen/ausprobieren.
  6. choice-yes Die zur Emulation des bisherigen Funktionsumfangs nötigen Erweiterungen in Betrieb nehmen. Testen.
  7. choice-no (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).
  8. choice-no (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.
  9. choice-yes Das neue FU-Weblayout (CSS) für Foswiki bereitstellen. Einbinden. Testen.
  10. choice-no (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.
  11. choice-yes 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.
  12. choice-yes Schlüsselanwender in den Test der so bereitgestellten Foswiki-Installation einbeziehen.
  13. choice-yes 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.
  14. choice-yes 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.
  15. choice-yes Am Ende einer ausreichenden Live-Testphase (2 Wochen?) das TWiki abschalten.
  16. choice-yes 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:

  1. 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.
  2. Werbung für diese neuen Wikiseiten machen, damit die Studis sich da auch wirklich betätigen.
  3. Wenn das passiert, die Änderungen eine Weile moderieren und strukturieren, damit kein Wildwuchs entsteht.
  4. Ganz anderer Punkt: Anwender über nützliche Funktionalitäten des Wikis aufklären.
  5. choice-yes 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]

Comments

 
Topic revision: r7 - 03 May 2013, SvenKlutentreter
 
  • Printable version of this topic (p) Printable version of this topic (p)