Skip to content

BSCW

Andreas Grupp, Elektronikschule Tettnang
   

3.3 BSCW - Basic Support for Cooperative Work

BSCW wurde vom Fraunhofer-Institut für Angewandte Informationstechnik FIT in Sankt Augustin (ehemals GMD-FIT)  und der OrbiTeam Software GmbH entwickelt.

Ach ja - und was ist das?

Es handelt sich bei BSCW um eine web-basierende Software, die die Zusammenarbeit von Personen unterstützt. Das „B" für „Basic" dürfte man in der Version 4 dieser Software getrost weglassen, denn die Unterstützung ist sehr weitreichend.

In einem ersten Überblick kann man sich diese Software als eine Art „virtuelle Festplatte" im Internet oder Intranet vorstellen. Benutzer können hier jegliche Art von Dokumenten hochladen und serverbasiert speichern. Zur besseren Organisation der Dateien besteht natürlich auch die Möglichkeit, Verzeichnisse anzulegen und sich innerhalb des resultierenden Verzeichnisbaums zu „bewegen". Egal von welcher Stelle des Internet auch immer, besteht wieder Zugriff auf diese Dokumente _ einzige Voraussetzung: ein Web-Browser.

Damit beginnen die Fähigkeiten aber erst. Die einzelnen Verzeichnisse (Ordner) können nämlich jederzeit zu einem Zusammenarbeitsbereich mit anderen Benutzern umfunktioniert werden. Dazu werden die gewollten Arbeitsgruppen-Mitglieder als Teilnehmer in den „Ordner" eingeladen. Der Ordner wird damit zu einem Workspace und steht allen Mitgliedern in deren Arbeitsbereich zur Verfügung. Die Mitglieder eines Arbeitsbereichs können so im einfachsten Fall einfach Arbeitsergebnisse teilen und gemeinsam daran arbeiten. Eine Versionskontrolle und Sperrmechanismen unterstützen dabei die Zusammenarbeit.

Neben reinen Dateien werden auch Hyperlinks (URLs), Diskussionsbäume oder Gruppenkalender als Dokumente verwaltet und können gemeinsam benutzt werden.

Auch die Rollenverteilung einer Arbeitsgruppe (wie z.B. Leitung, Mitarbeiter, Gast, ...) werden durch eine ausgereifte und leistungsfähige Rechteverwaltung unterstützt. Es kann genau festgelegt werden, „wer" auf „was" „in welcher Form" Zugriff hat. Außerdem wird jeder Zugriff auf Arbeitsgruppenobjekte, neue Objekte oder das Löschen von Objekten von der Serversoftware registriert und allen Mitgliedern der Arbeitsgruppe angezeigt.

Einsatzmöglichkeiten

Auch im schulischen Bereich gibt es wie bei Firmen ein breites Einsatzgebiet für eine derartige Kollaborations-Software. Überall, wo Arbeitsgruppen zusammenarbeiten, kann die BSCW-Plattform zur Koordination bzw. gemeinsamen Arbeit verwendet werden. Denkbar wären hier z.B.:

  • Gruppen aus der Schulentwicklung, die auf diese Art und Weise ihre Arbeitsergebnisse gemeinsam organisieren. Dokumente, die der Allgemeinheit (Kollegium, Schüler, Eltern, Betrieben, ...) zur Verfügung gestellt werden sollen, können aus BSCW heraus ohne Passwort veröffentlicht werden.
  • Auch für den Einsatz bei eLearning-Projekten, allgemeinen Unterrichtsprojekten, Arbeitsgemeinschaften, ... eignet sich dieses Werkzeug gleichermaßen. Die Software unterstützt von Hause aus die üblicherweise anzutreffende Rollenverteilung und bildet somit die realen Gegebenheiten optimal ab.

 

Das will ich haben! - Wo gibt es das? Was kostet es?

Die Nutzung von BSCW ist in zwei Varianten denkbar:

  1. Wer keinen eigenen Server aufsetzen möchte/kann oder wem die dauernde Wartung einer derartigen Plattform zu aufwändig ist, kann den kostenfreien Public-Server des Frauenhofer-FIT benutzen. Dazu ist die Registrierung eines persönlichen Account unter http://bscw.gmd.de/pub/german.cgi?op=rmail notwendig. Danach kann man sofort loslegen.
  2. Sie können aber auch selbst einen BSCW-Server betreiben. Die Software dafür gibt es hier zum Download.

Sie ist für Unix/Linux-Systeme und Windows NT (und höher) erhältlich. Für den schulischen Bereich ist die BSCW-Software jeweils ein Jahr kostenfrei für 1000 Benutzer lizenzierbar. Es besteht die Möglichkeit die Lizenz jeweils zu verlängern.

BSCW-Handbücher, -Anleitungen

Auf eine genauere Anleitung zu BSCW wurde hier verzichtet, da es im Internet viele Materialien zu diesem Thema gibt. Hier ein paar Fundstellen:

· Das Benutzer-Handbuch von Frauenhofer-FIT ist in einer HTML- und zwei verschiedenen PDF-Varianten abrufbar. Es gibt einen umfassenden, aber recht nüchternen Überblick über die Möglichkeiten.

· Bei der schweizerischen „Beratungsstelle für Informatik an den Aargauer Schulen (BIAS)" findet sich eine sehr umfangreiche Einführung in BSCW 4. Neben der BSCW-Einführung gibt es auch gezielte Aufgaben, um sich in den Umgang mit dem Server einzuarbeiten oder mit Schülern Übungen durchzuführen. 

· Auf dem Server der Universität Stuttgart wird versucht, einen kurzen aber recht guten Überblick über den Funktionsumfang und die Bedienung zu geben. Auch hier gibt es neben der HTML- auch eine PDF-Variante.

· Eine weitere Übersicht ist beim Institut für Grundlagen der Planung abrufbar. Wählen Sie in der linken Menüleiste  den Link „how to bscw?" aus.

Installation des BSCW-Serverdienstes

Die Installation ist sowohl unter Windows NT (und höher) als auch unter sämtlichen Unix/Linux-Derivaten möglich. Die Anleitungen für die Installation sind unter

http://bscw.gmd.de/InstallNTServer.html und

http://bscw.gmd.de/InstallUnixServer.html

verfügbar.

Nachfolgend eine Übersicht zur Installation unter Linux. Die einzelnen Schritte wurden in dieser Form unter SuSE-Linux 8.0 ausprobiert. Da es dabei doch nicht ganz trivial zuging, wird nachfolgend die Installation des BSCW-Serverdienstes schrittweise beschrieben.

Es wird empfohlen die Server-Software im Homebereich eines eigenes dafür eingerichteten Benutzers zu installieren. Hier liegt es nahe einen Benutzer „bscw" anzulegen. Mittels der grafischen Oberfläche von YaST ist das schnell erledigt.

YaST
   

Melden Sie sich nun als Benutzer „bscw" am System an und starten Sie die einzelnen Stufen der Installation.

Python-Installation
Python
 
Die BSCW-Software wurde in der Skriptsprache „Python" programmiert. Ein Python-Interpreter wird bei SuSE mitgeliefert. Leider kann der mitgelieferte Interpreter jedoch aus mindestens zwei Gründen nicht verwendet werden:

  1. Python-Skripte können ähnlich wie Java-Programme in einen Byte-Zwischecode compiliert werden. Dadurch ist der Quellcode nicht mehr einsehbar. Die GMD liefert den BSCW-Server mit derart vorcompilierten Python-Skripten aus (Dateiendung *.pyc). Leider ist die höchste unterstütze Python-Version die Version 2.1. Beim Python-Interpreter von SuSE 8.0 handelt sich um einen Python-Interpreter der Version 2.2. Sollten Sie ein anderes System haben, können Sie die Python-Version durch das Kommando
    bscw@server> python _V
    feststellen.
  2. Sollten Sie einen Python-Interpreter der Version 2.1 oder älter haben, sind Sie leider auch noch nicht sicher, dass alle klappt. Ein weiterer Grund ist nämlich die auf vielen Systemen fehlende Unterstützung für das Python-Verschlüsselungsmodul „crypt". Sollten Sie beim BSCW-Setup eine entsprechende Fehlermeldung erhalten, müssen Sie erst einmal dafür sorgen, dass dieses Modul auch installiert ist.

Sollten Sie nun festgestellt haben, dass Sie noch keinen geeigneten Python-Interpreter haben, wird die Installation direkt aus dem Quellcode empfohlen. 

Nachfolgend nun zuerst die Installationsanleitung für Python.

Kopieren Sie sich die obige Datei in das Homeverzeichnis des Users „bscw".

· Neben der Grundinstallation von z.B. SuSE 8.0 benötigen Sie auf jeden Fall noch die folgenden Softwarepakete, um die Software wie nachfolgend beschrieben installieren zu können:

  • gcc
  • gpp
  • make

· Durch die Auswahl der obigen Pakete werden noch diverse andere (z.B. binutils, ...) automatisch von YaST ausgewählt. Diese Auswahl übernehmen Sie anschließend und installieren alles.

· Auspacken des Python TGZ-Archivs "Python-2.1.3.tgz"

· Wechsel in das entstandene Verzeichnis "Python-2.1.3/"

· Ausführen des Kommandos "./configure —prefix=/usr"

· Editieren der Datei "Modules/Setup". Finden Sie die Zeile

"#crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems"

und ändern Sie sie durch Entfernen von 2 Kommentaren in

"crypt cryptmodule.c -lcrypt # crypt(3); needs -lcrypt on some systems"

· Im Archiv-Verzeichnis nun das Kommando "make"

· Nachdem die Software compiliert wurde, mit "make install" installieren. Dazu benötigen Sie natürlich „root"-Rechte.


BSCW-LogoBSCW-Installation

Nachfolgend wird davon ausgegangen, dass Sie einen geeigneten Python-Interpreter (max. Version 2.1, funktionsfähiges crypt-Modul) auf Ihrem System haben.

Zuerst müssen Sie sich die BSCW-Software aus dem Internet herunterladen. 

Im dort zu findenden Pulldown-Menü könne Sie auswählen, ob Sie die Software für einen Microsoft-NT-Server (und höher) oder für Unix/Linux benötigen. Sie finden hier übrigens auch das Handbuch (Benutzer und Admin). Speichern Sie sich das tar.gz-Archiv ebenfalls direkt im Home-Verzeichnis des Users „bscw".

· Begeben Sie sich nun in das Home-Verzeichnis des Users „bscw" und entpacken Sie das BSCW-Software-Archiv mit dem Kommando

"tar zxfp bscw-4.0.6.tar.gz"

· Wechseln Sie in das frisch entstandene Verzeichnis

"bscw-4.0.6/".

· Editieren Sie dort die Datei "setup" und ändern dabei die 1. Zeile (Shebang-Zeile) in "#!/usr/bin/env python". Der Prefix "/usr" fehlt hier.

· Starten Sie nun die Installation durch das Kommando "./setup". Das Setup-Skript installiert Ihnen parallel zum Verzeichnis

"bscw-4.0.6/" ein Verzeichnis "server" und installiert die Software nach dort.

· Neben der reinen Server-Installation werden außerdem die notwendigen Erweiterungen der Apache-Konfigurationsdatei "httpd.conf" erstellt. Sie finden diese im Verzeichnis "server" in der Datei "apache.conf".

· Fügen Sie alle Anweisungen der Datei "apache.conf" in Ihre Apache-Server-Konfigurationsdatei

"/etc/httpd/httpd.conf" ein (z.B. im „vi" durch Positionierung des Cursors an der vorgesehenen Stelle und Eingabe des Kommandos ":r/home/bscw/server/apache.conf".

· Starten Sie dann Ihren Apache-Server neu

(Kommando: "rcapache restart")

· Editieren Sie nun die Konfigurationsdatei des BSCW-Servers. Sie finden Sie im Homeverzeichnis des Users „bscw" unter "server/src/config.py". Ändern Sie hier die Zeile "SERVER_ADMIN" und fügen Sie Ihre Mailadresse ein. Die Mail-Adresse muss existieren und muss vom Server aus erreichbar sein. An diese Mail-Adresse werden später Registrierungsdetails versandt.


ACHTUNG: Nicht mit der Zeile "SERVER_ADMINS" (beachten Sie das „S") verwechseln. Unter "SERVER_ADMINS" tragen Sie schon einmal Ihren späteren Login-Namen ein. Achten Sie dabei auf die Groß-Kleinschreibung.

Beispiel:

SERVER_ADMIN = `musterman@nirgendwo.com'

SERVER_ADMINS = [`Mustermann']

· In einem Browser rufen Sie anschließend auf Ihrem Webserver den folgenden URL ab:

http://<meinserver>/pub/bscw.cgi?op=rmail

· Sie erhalten nun evtl. im Browserfenster die folgende Ausgabe:

Traceback (most recent call last):

File „bscw-4.0.6/pyc21/bs_cgi.py", line 30, in service

RuntimeError: cgi/bscw.cgi: No setgid

BSCW Release: 011220-1148

· In diesem Fall gehen Sie in das "server/"-Verzeichnis des BSCW-Servers im Homeverzeichnis des Users „bscw". Geben Sie hier folgende Kommandosequenz ein:

bscw@server> cc -o wrapper wrapper.c

bscw@server>./bsadmin chkconfig

· Nun sollte der Abruf des obigen URL klappen. Sie erhalten die Seite „Benutzerregistierung" und geben hier bitte die Mailadresse ein die Sie weiter oben in der "config.py" eingetragen haben.

· An diese Mailadresse wird nun vom Server eine Mail mit weiteren Angaben zur Registrierung versandt. Diese Mail sieht ungefähr so aus:

Diese Nachricht wurde vom BSCW-Server
http://172.16.0.1 automatisch erzeugt.

Sie (jemand@172.16.0.131 [172.16.0.131]) haben versucht, sich beim BSCW-Server als Benutzer zu registrieren.

Der Server konnte die erste Stufe Ihrer Registrierung erfolgreich durchführen. Für die zweite Stufe gehen Sie bitte wie folgt vor:

  1. Starten Sie Ihren WWW-Browser.
  2. Wählen Sie den Befehl zum Öffnen einer URL (z.B. Ctrl-O im MS Internet Explorer oder in Netscape)
  3. Geben Sie die folgende Adresse ein: http://172.16.0.1/pub/bscw.cgi/0/22?auth=ik4bAGfk

    Achtung: Diese Adresse ist eine einzige Zeile. Wenn sie bei Ihnen auf mehreren Zeilen erscheint, sind die Zeilenumbrüche nachträglich eingefügt worden, z.B. von Ihrem E-Mail-Programm.

    Um Tippfehler zu vermeiden, benutzen Sie am besten "Kopieren" und "Einfügen" ("Copy" und "Paste"). Achten Sie dabei darauf, keine Leerzeichen einzufügen.
  4. "Gehen" Sie zu dieser Adresse: Sie sehen dann ein Formular,in dem Sie bitte Ihren Benutzernamen und Passwort eingeben.Damit ist der Registrierungsprozess abgeschlossen.

Bitte beachten Sie, dass - aus Sicherheitsgründen - die oben angebene Adresse nur ein einziges Mal verwendet werden kann. Danach wird sie ungültig. Seien Sie also bitte sehr vorsichtig bei der Ausführung der Schritte 1. - 4.

Wenn Sie *kein* Login auf dem Server beantragt haben und diese Nachricht kommt für Sie überraschend, leiten Sie bitte diese Nachricht vollständig an andreas@localhost weiter - jemand könnte Ihre E-Mail-Adresse missbrauchen.

Die gleiche Mail werden auch später weitere Benutzer des Servers erhalten, nachdem Sie eingetragen wurden. Kontaktieren Sie nun den URL aus Spiegelstrich 3 und tragen Sie in das erscheinende Formular den Benutzernamen ein, den Sie (weiter oben) in die Konfigurationszeile "SERVER_ADMINS" eingetragen haben. Außerdem müssen Sie sich ein Passwort vergeben.

   

Anschließend melden Sie sich das erste Mal regulär am Server an und befinden sich nun in Ihrem Homeverzeichnis des BSCW-Servers.
Homeverzeichnis
   

Damit haben Sie die grundlegende Installation geschafft und eine vorläufige Evaluationslizenz für 200 Benutzer. Allerdings gilt diese nur 90 Tage. Da dies im allgemeinen nicht ausreicht, gehen wir nun noch daran, uns eine „Royalty Free Licence" für ein Jahr zu beantragen.

Dazu muss noch eine wichtige Einstellung in der "config.py" vorgenommen werden. Betroffen ist die Variable "SERVER_ROOT". Tragen Sie hier die Startadresse Ihres Webservers ein.

Beispiel:
SERVER_ROOT = `http://www.nowhere.com'

Nun können Sie wieder in einem Browser die „Admin"-Seite abrufen. Sie erreichen Sie über den Menüpunkt „Optionen" in der BSCW-Menüleiste.
Optionen

Dort finden Sie dann die „BSCW Lizenzverwaltung" mit dem Link „Lizenz aktualisieren". Wählen Sie diesen Link aus und fordern Sie auf der Folgeseite eine „Neue Lizenz" an.

Neue Lizenz

Es folgt die Kontaktaufnahme mit einem Lizenz-Server bei der Orbiteam GmbH. Sie erhalten eine Lizenzvereinbarung, die unterschrieben per Brief oder per Fax an Orbiteam weiterzuleiten ist. Nach meinen bisherigen Erfahrungen erfolgt die Lizenzvergabe in wenigen Tagen (im kürzesten Fall hat es bei mir einmal 1 Stunde gedauert). Sie erhalten eine Mail und müssen dann wieder über die oben beschriebene Lizenzverwaltung (in der Admin-Oberfläche) ihre Lizenz elektronisch abholen.

Abschließend sollten Sie dafür sorgen, dass der BSCW-Serverdienst beim Systemstart sauber gestartet wird und beim Systemstop kontrolliert beendet wird. Dafür kann z.B. das folgende Skript unter "/etc/init.d" platziert werden und wie bei einem System V System in die einzelnen Runlevel eingefügt werden. Unter SuSE 8.0 bietet sich hier der Runlevel-Editor von YaST an.

 
Runlevel-Editor

   
Hier das Skript:
   

#!/bin/sh
# Author: Andreas Grupp <grupp@elektronikschule.de>, 2001
# /etc/init.d/bscw
#
### BEGIN INIT INFO
# Provides: Basic Support for Cooperative Work
# Required-Start: $network $named $remote_fs $syslog $netdaemons sendmail
# Required-Stop: $local_fs $network $named $remote_fs $syslog $netdaemons
# Default-Start: 3 5
# Default-Stop:
# Description: Start the BSCW daemon
### END INIT INFO

. /etc/rc.config 

# The echo return value for success (defined in /etc/rc.config).
return=$rc_done

case "$1" in

    start)

  echo -n "Starting BSCW-Server"

  startproc -u bscw /home/bscw/server/start_servers

        rc_status -v

  ;;

    stop)

  echo -n "Shutting down BSCW-Server"

  startproc -u bscw /home/bscw/server/start_servers -k

        rc_status -v

  ;;

    *)

  echo "Usage: $0 {start|stop}"

  exit 1

esac

rc_exit

      
Als Abschluss sollten Sie noch unbedingt die „Garbage Collection" und das „Server-Backup" als täglich wiederkehrenden cron-Job installieren. Die zugehörige Anleitung befindet sich sowohl bei der Frauenhofer-FIT als auch in der README-Datei der Distribution.