GSI Wiki - eine Plattform zur kollaborativen Dokumentation

  • Motivation
  • Wiki
    • Grundlegende Funktionsweise
    • Implementationen
  • Twiki
  • GSI Installation
  • Erweiterte Funktionen
  • Ausblick

Wiki? - Wofür?

Dokumentation der Linux-Farm im Dezember 2002:

# ll $GSIROOT/Docs/GSI/gsimgr
*total 0*
...
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi-set_activ_check.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi-set_shutdown.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_acct.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_binmnt.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_call.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_change_new_fs.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_check_host.pl.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_control.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_cpu_mon.sh.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_cpu_mon.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_cpuanalyse.txt
-rw-r--r--    1 root     root            *0* Nov 22  2001 gsi_daily_refresh.txt
...

Wunschvorstellung: vollautomatischer Dokumentationsgenerator

Realistischer Anforderungen:
  • Verknüpfung vieler kurzer Passagen durch Querverweise: Hypertext!
  • Zentral, überall verfügbar und durchsuchbar: WWW!
  • Kollaborativ?

Wiki? - Wofür?

Dokumentation, 1. Versuch
  • Lesen und Bearbeiten mit unterschiedlichen Werkzeugen.
  • Schlechte Verwaltung für Verweise.
  • Lesbar für die Gruppe, schreibbar nur für mich.

  • Zu unflexibel:
    • die Inhalte veralten schneller als sie geschrieben werden (können)

Wiki? - Was ist denn das?

  • einfach
  • offen
  • inkrementell
  • organisch

  • Ein Geek-Tool?
  • Chaotisch?

Wiki - Funktioniert das?

  • Wikipedia: Eine freie Enzyklopädie
    • 2001 ins Leben gerufen
    • Verfügbar in über 100 Sprachen
      • davon 57 mit mehr als 1000 Artikeln
    • 1,3 Millionen Artikel
      • davon über 400000 auf Englisch
      • über 200000 auf Deutsch
    • Schwester-Wikis:

Wiki! - Welcher?

Über 200 OpenSource Wiki Implementationen:

MediaWiki
Die Engine hinter Wikipedia, implementiert in PHP mit einem MySql-Backend.

TikiWiki
Fortentwickelt zum all inclusive CMS (Fotogallerien, WebMail usw.)

MoinMoin
Ein Python-Wiki

http://kwiki.org/ KWiki
Eine einfache Perl-Implementation mit eingeschränkten Fähigkeiten

UseModWiki
Ein Perl-Wiki

ChikiWiki
Ein Wiki auf Basis von Java http://struts.apache.org/ Struts, mittlerweile wenig Aktivität.

EclipseWiki
Ein persönlicher Wiki als Plugin für die Eclipse-IDE.

jotspot
Ein kommerzieller Wiki (beta) mit WYSIWYG-Editor und Email-Gateway

TWiki - Wieso?

TWiki: Ein Wiki mit Intranet- und Unternehmens-Fokus

  • Integrierte Zugriffskontrolle:
    • ALLOWTOPICCHANGE, ALLOWEBVIEW
  • Attachments
  • Neueste Änderungen auflisten (WebChanges)
  • Versionskontrolle und Änderungshistorie
  • Hunderte von Plugins und AddOns
  • Implementation in Perl aufbauend auf dem UNIX-Baukasten:
    • Datei-basiert
    • Versionskontrolle per RCS
    • Suche per grep

GSI Wiki

URL: https://wiki.gsi.de/

Installation im September 2003

Bestehende Webs: Aikido, CRY_EXP, CSframework, ControlsCollaboration, DABC, EPS, ESR_EXP, Epics, FAIRcontrols, FIRST, FRS, Grid, IKBestX, ITInfo, ITRedakteure, Java, Linux, NIUser, OpenScience, PHDStudents, PLinacBD, Personalpages, ROOT, Research, SCM, SIS100BD, STF, Tasca, z. T. zugriffsbeschränkt

Gruppen:

  • Benutzerverwaltung:
    • Die Benutzer können sich selbst registrieren
    • Gruppenmitglieder können andere Benutzer in die Gruppe aufnehmen.
  • Lesezugriff = Schreibzugriff
  • Email-Benachrichtigung (WebNotify): 2 mal täglich pro Web
  • Tägliches Backup auf Dateisystem-Ebene (TSM)

Erweiterte Verwendung

%<nop>CODE{"bash"}% if [ $XYZ ]; then echo bla; else echo blubb; fi %<nop>ENDCODE%
if [ $XYZ ]; then echo bla; else echo blubb; fi 
Beispiel: ServerList

Erweiterte Verwendung

GSI Wiki

Your browser does not interpret the <applet> tag.

This page does not support <object> or <embed> at the moment.

Fazit

  • Innerhalb der Linux-Gruppe etabliert und konkurrenzlos.
  • Zunehmende Verwendung durch andere (DVEE-)Teams: Oracle, Grid, Operating, Security, Hades DAQ, ...
  • Langfristig Chefredakteure und ständige Revision der Inhalte unvermeidbar.

Roadmap

  • Umzug auf Produktions-Hardware
  • Upgrade auf das aktuelle Release:
    • Checkpoints, direktes Speichern
    • Usability
    • Bugfixes

  • Usability verbessern
    • WYSIWYG-Editor
    • Session-Management
    • Benachrichtigungen (Email, Instant Messaging?)
    • Daten-Im- und Export (HTML, PDF, MS Office)
    • Suchindex statt grep

Roadmap

  • Performance verbessern
    • mod_perl einsetzen
    • Caching der gerenderten Seiten

  • Virtuelle Wikis?
    • Gemeinsame Installation mit getrennten Datenbereichen
    • Saubere(?) Trennung von Programmlogik und Daten

  • TWiki:Codev/TWikiApplications
    • System-Benachrichtigungen, Portal