Der genaue Syntax der Tooldefinition lautet wie folgt:
Standardmäßig werden, falls Sie keine Portanzahl und kein Signal angeben, 2 Ports und kein Signal angenommen. Schließen Sie die Eingabe mit der Enter-Taste ab oder drücken Sie den Plusknopf. Es wird nun ein Standard-TCL-Skript erzeugt, daß Sie ggf. anpassen müssen. Anschließend sollten Sie das Tool testen. Der Test erfolgt durch Drücken des entsprechenden Knopfes in der Auswahlbox rechts unten.
Die möglichen Signale sind:
Die Konferenzdaten:
Richten Sie z.B. ein Tool mit Namen
Die erste Zeile leitet die Prozedurdefinition ein. Der Prozedurname ergibt sich aus der Zeichenfolge
Die zweite Zeile definiert die globalen Variablenfelder
Die nachfolgenden Zeilen, die mit
Die meisten Tools benötigen die Zieladresse in der Form
Anschließend wird geprüft, ob Confman einen Sitzungsschlüssel in der Variablen
Der Befehl
Die Parameter, die dem Tool übergeben werden müssen, können Sie den zugehörigen Manualpages entnehmen. Oft gibt ein parameterloser Aufruf des Tools aus einer Shell Auskunft über die erforderlichen Parameter.
Ein \ unterdrückt den Zeilenvorschub des Texteditors. Dies Zeichen müssen sie am Zeilenende setzten, wenn Sie überlange Befehlszeilen über mehrere Zeilen setzen wollen. Haben Sie alle Anpassungen vorgenommen, müssen Sie den Knopf Test & Apply drücken.
Haben Sie einen Syntaxfehler in Ihrem TCL-Skript, wird eine Fehlermeldung generiert. Außerdem ist dann der zum Tool gehörende Zustandschalter inaktiv. Bei fehlerfreiem Skript wird der zum Tool gehörende Zustandsschalter aktiv.
Eine Anpassung für ein Tool mit dem Namen sample könnte wie folgt aussehen:
Die Ressourcedatei muß den Klassennamen von Confman tragen, er lautet Confman. Legen Sie die Ressourcedatei in einem der Suchpfade des Resource-Managers ab.
8.1 Ein neues Multimedia-Tool einrichten
Installieren Sie zunächst die Binärdatei des neuen Multimedia-Tools. Das Verzeichnis, in dem Sie die Binärdatei installieren, muß in der Variablen $PATH
angegeben sein. Bringen Sie in Erfahrung, wieviele UDP-Ports das Tool nutzt. Nun müssen Sie sich noch für ein Steuersignal entscheiden, das dem Tool gesandt wird, wenn eine Konferenz in den HALTED-Status geht. Geben Sie kein Steuersignal an, wird dem Tool auch keines gesendet. Geben Sie den Toolnamen, die Portanzahl und falls nötig das Steuersignal, durch ein Komma von der Portangabe getrennt, in dem Eingabefeld unter der Toolliste ein. Achten Sie darauf, daß vor einer Neudefinition kein Tool in der Toolliste aktiviert ist. Wollen Sie beispielsweise das Tool sample einrichten, das 2 UDP-Ports belegt und das bei einer Konferenzpause beendet werden soll, müßten Sie folgende Zeile eingeben:sample 2, TERM
toolname [ nports [ Ports ] [ , TERM | STOP | - ] ]
8.2 Der Toolname
Die Bedingung zur Nutzung eines Multimedia-Tools während einer Konferenz ist, daß die Konferenzpartner über das gleiche Tool verfügen. Confman tauscht für alle Toolaktivitäten die Toolnamen aus. Daraus ergibt sich, daß die Konferenzpartner dieselben Toolnamen vergeben müssen. Es ist daher sinnvoll als Toolnamen immer den Namen der Binärdatei zu benutzen. Für die gängigen Tools wäre dies vat, nv, vic, wb, ivs
. Der Name, der in den Auswahlboxen erscheint kann dagegen individuell bestimmt werden. Er kann über die X- Ressourcemethode angepaßt werden.8.3 Anzahl der UDP-Ports
Die Anzahl der von einem Tool genutzten UDP-Ports ist in den Manualpages des Tools beschrieben. Die meisten Tools nutzen maximal 2 UDP-Ports. Nehmen Sie also im Zweifelsfall 2 UDP-Ports an. Ist die Angabe größer als die vom Tool tatsächlich genutzte Portanzahl, wirkt sich dies nicht störend aus, andersherum wird das Tool nicht korrekt arbeiten. Sie können die Portanzahl jederzeit ändern, indem Sie das Tool in der Toolliste auswählen und die Eingabezeile unter der Toolliste editieren.8.4 Das Steuersignal
Wenn eine Konferenz angehalten wird, z.B. bei einer verdeckten Rückfrage, oder wenn Sie während einer Konferenz eine weitere Konferenzeinladung annehmen, werden die Fenster der Tools entfernt, um ein Chaos auf dem Bildschirm zu vermeiden. Ein Entfernen der Fenster reicht oft nicht aus, da die Tools Ressourcen des Rechners dauerhaft belegen können, was das Starten der Tools in einer weiteren Konferenz stören kann. Um dieses Problem zu beheben, können Sie ein Steuersignal angeben, das dem Tool parallel zum Entfernen der Fenster gesendet wird.
Die sicherste Methode ist sicherlich das TERM-Signal zu senden, sie ist aber nicht die schnellste.TERM
STOP
-
8.5 Das TCL-Skript anpassen
TCL steht für Tool-Command-Language, es ist eine Interpretersprache. Sie wird bei Confman für den Start der Multimedia-Tools benötigt. Confman übergibt dem Interpreter die für den Toolstart erforderlichen Parameter. Im einzelnen sind dies:
Die Tooldaten: title
ttl
ttl
ist immer der Wert, den der Konferenzleiter in seinem Konfigurationsdialog des Konferenz-Managers eingestellt hat.key
key
übergeben werden. key
ist immer der Schlüssel, den der Konferenzleiter in seinem Konfigurationsdialog des Konferenz-Managers eingestellt hat.user
host
Auf die Variablen können Sie zugreifen, indem Sie den Variablennamen den globalen Variablenfeldern geometry
geometry
Position und Größe des Toolfensters vor dem Beenden. port
conf_data
bzw. tool_data
als Parameter übergeben. sample
ein, wird das folgende Standard-TCL-Skript erzeugt:proc start_sample {} {
global conf_data tool_data set tool sample
set dest [format "%s/%s" $conf_data(host) $tool_data(port)]
set title $conf_data(title)
set user $conf_data(user)
set ttl $conf_data(ttl)
set key $conf_data(key)
set geo $tool_data(geometry) if {[llength $key] >0} {
if {[llength $geo] >0} {
exec $tool -N $user -C $title -t $ttl -K $key -g $geo $dest &
} else {
exec $tool -N $user -C $title -t $ttl -K $key $dest & }
} else {
if {[llength $geo] >0} {
exec $tool -N $user -C $title -t $ttl -g $geo $dest &
} else {
exec $tool -N $user -C $title -t $ttl $dest & }
}
}start_
gefolgt von dem Toolnamen. conf_data
und tool_data
, über die Sie auf die einzelnen Variablen, die Confman übergibt, zugreifen können. set
beginnen, sind Zuweisungen aller von Confman übergebenen Variablen zu internen Variablen. host/port
. Dafür wird die interne Variable mit Namen dest
definiert und die Zeichenfolge über die format
Anweisung generiert. key
übergeben hat. Ist dies der Fall, wird Sie dem Tool als Parameter -K key
weitergereicht. Wurde kein Sitzungsschlüssel übergeben, wird das Tool ohne Verschlüsselungsparameter gestartet. Gleiches gilt für den Parameter geometry
. Der Geometrieparameter ermöglicht das Plazieren des Tool-Fensters an der selben Position, falls es während einer Konferenz beendet und erneut gestartet wird. Der Geometrieparameter wird bei den einzelnen Tools sehr unterschiedlich übergeben. Voreingestellt ist -g
. Sollte die Geometrie bei einem Tool nicht übergeben werden können, sind alle Zeilen, die die Übergabe des Parameters $geo
betreffen, zu löschen. Das Skript würde dann wie folgt aussehen:proc start_sample {} {
global conf_data tool_data set tool sample
set dest [format "%s/%s" $conf_data(host) $tool_data(port)]
set title $conf_data(title)
set user $conf_data(user)
set ttl $conf_data(ttl)
set key $conf_data(key)
set geo $tool_data(geometry) if {[llength $key] >0} {
}
exec $tool -N $user -C $title -t $ttl -K $key $dest & }
} else {
exec $tool -N $user -C $title -t $ttl $dest & }
}
exec
, gefolgt vom Toolnamen nebst Parametern, leitet den Toolstart ein. Das letzte Zeichen der Befehlszeile muß immer ein & sein. Das & veranlaßt den Interpreter, das Tool in den Hintergrund zu starten. Andernfalls würde Confman nicht weiter arbeiten, bis das Tool wieder beendet wird. 8.6 Ein Tool testen
Ist das TCL-Skript fehlerfrei, können Sie das Tool testen. Dazu drücken Sie einmal den zum Tool gehörenden Zustandschalter rechts unten. Das Tool wird gestartet. Achten Sie auf etwaige Fehlermeldungen, die im Standard-Output oder in der Console ausgegeben werden. Wurde das Tool erfolgreich gestartet, drücken Sie den Zustandschalter ein weiteres mal. Es wird nun das angegebene Signal gesendet und die Fenster werden entfernt. Ein abermaliges Drücken des Zustandsschalters startet das Tool wieder. An dieser Stelle können Sie testen, ob die Geometriedaten korrekt ausgewertet werden, falls Sie dem Tool ein TERM-Signal senden. Um zu testen, ob es zu Konflikten kommt, wenn ein Tool kein Signal oder das STOP-Signal erhält und es in einer weiteren Konferenz benutzt wird, müßten Sie das Tool entweder per Hand aus einer Shell starten oder über einen zweiten Confman. Der verfügbare Test kann nicht die Funktionssicherheit des Tools während einer Konferenz gewährleisten, Sie sollten immer eine Testkonferenz mit neuen Tools durchführen.8.7 Die Beschriftung der Toolwahlknöpfe
Die Beschriftung der Toolwahlknöpfe kann nach Belieben verändert werden. Dazu müssen Sie lediglich eine X- Ressourcedatei erstellen. Der Resource-Eintrag eines Tools lautet dann:*toolname.labelString: Zeichenfolge
*sample.labelString: Beispiel-Tool
8.8 Ein Multimedia-Tool entfernen
Ein Multimedia-Tool wird entfernt, indem Sie das gewünschte Tool aus der Toolliste auswählen und anschließend den Minusknopf betätigen. Mit Hilfe des Plusknopfes können Sie das Entfernen rückgängig machen. 8.9 Die Tooldefinition ändern
Die Tooldefinition können Sie jederzeit ändern, indem Sie das betreffende Tool aus der Toolliste auswählen und die Angaben im Textfeld unter der Toolliste oder im TCL-Skriptfenster edieren. Änderungen im Textfeld unter der Toolliste müssen Sie durch Drücken der Enter-Taste oder Anklicken des Plusknopfes bestätigen. Änderungen des TCL-Skriptes müssen Sie durch Drücken des Knopfes Test & Apply bestätigen. Alle Änderungen werden erst gültig, wenn Sie die Toolliste abspeichern. Wählen Sie dazu den Menüpunkt Save aus dem Filemenü. 8.10 Toolliste abspeichern
Erst wenn die Toolliste abgespeichert wird, werden alle Änderungen oder Erweiterungen gültig. Zum Abspeichern der Toolliste wählen Sie den Menüpunkt Save aus dem File-Menü. Achten Sie darauf, daß Änderungen der Tooldefinitionen sich auch auf die Tools einer laufenden Konferenz auswirken. Entfernen Sie beispielsweise während einer Konferenz ein Tool aus der Toolliste wird das Tool auch aus einer laufenden Konferenz entfernt.