TOC PREV NEXT INDEX

HELIOS WebShare UB Benutzerhandbuch


7 WebShare File Server
7.1 Über den WebShare File Server
,websharesrv" ist der Programmname des WebShare File Servers. Das Programm kann auf dem Host laufen, auf welchem die HELIOS Server EtherShare oder PCShare installiert sind und wird durch den HELIOS Service Controller gesteuert (siehe Kapitel 9 "Der Service Controller" im HELIOS Base Handbuch). Es startet einen eigenen Prozess für jeden angemeldeten Benutzer.
Der WebShare File Server bietet verschiedene nützliche Funktionen für die Benutzer- und Dokumentenverwaltung, wie E-Mail Benachrichtigung bei Benutzeranmeldung am Server, zusätzliche Anpassung von WebShare Aktionsskripte usw.
7.2 Benutzer-Konfigurationsdatei
,webshare.passwd" ist die Benutzer-Konfigurationsdatei für den WebShare File Server. In ihr werden, zusammen mit dem Passwort eines jeden Benutzers, die individuellen Benutzereinstellungen gespeichert. Einstellungen, die im Fenster "Persönliche Voreinstellungen" (siehe Kapitel 5.3 "Persönliche Voreinstellungen") gemacht wurden, werden in der Datei "var/conf/webshare.passwd" gesichert:
heliosuser::::zs=1,nocp=1:::
martin::::zs=1,nocp=0:::
ws1:md5_dd1c91f5d657b421c339592f:demo::zs=1,nocp=1:::
Jede Zeile der Konfigurationsdatei "webshare.passwd" beginnt mit dem Benutzernamen gefolgt von mehreren, durch Doppelpunkte getrennte Felder. Das erste Feld (Benutzername) und das dritte Feld (Benutzer-ID) sind obligatorisch, die anderen Felder können auch leer bleiben.
Feld Erläuterung
1. Benutzername Name des virtuellen oder des Host-Benutzers
2. Passwort Passwort (unverschlüsselt oder als MD-5 Code
aus dem unverschlüsselten Passwort generiert).
Eine Zeichenkette, die mit md5_ beginnt, ist ein
verschlüsseltes Passwort für virtuelle Benutzer.
Für virtuelle Benutzer muss dieses Feld einen
Passworteintrag enthalten. Für Host-Benutzer
kann dieses Feld leer bleiben, wenn kein
zusätzliches WebShare Passwort gesetzt
wurde und das HELIOS Host-Passwort benutzt
wird. Wir empfehlen Ihnen aber dennoch, ein
zusätzliches Passwort für WebShare zu setzen.
3. Benutzer-ID Ein leeres Feld kennzeichnet einen Host-
Benutzer. Für virtuelle Benutzer ist hier der
Name eines Host-Benutzers eingetragen, dem
der virtuelle Benutzer zugeordnet ist.
4. Feld Ablaufdatum
In diesem Feld kann ein Datum angegeben
sein, nach dessen Ablauf sich ein Benutzer
nicht mehr anmelden kann. Das Format ist:
dd-MMM-yyyy-kk-mm
Beispiel: 28-Feb-2004-14-21
Das Ablaufdatum wird im Feld Expires im
Fenster "User Administration" gemäß der
durch DateFormat (Kapitel 7.8 "Präferenzen")
festgelegten Syntax eingegeben.
5. Feld Durch Komma getrennte Optionen
Zurzeit werden die Optionen zipstream und
Cannot change Password benutzt. Ist
zipstream aktiviert, steht "zs=1" in diesem
Feld, andernfalls "zs=0". Gibt es keinen
Eintrag, ist zipstream automatisch aktiviert.
6. Feld Client-Kodierung beim Hoch- und Herunter-
laden von Dateien
Name der Client-Kodierung beim Hoch- und
Herunterladen von Dateien, z. B. "MacRoman".
Dieses Feld bleibt leer, wenn "OS Default"
festgelegt wurde.
7. Feld E-Mail-Adresse des Benutzers
Die E-Mail-Adresse muss vollständig angege-
ben werden, z. B.:
username@meinefirma.com
8. Feld Kommentare
Vergewissern Sie sich, dass Kommentare
keine Sonderzeichen wie beispielsweise einen
Doppelpunkt (,:") enthalten. Diese würden
durch einen Unterstrich (,_") ersetzt um die
Dateikompatibilität von "webshare.passwd" zu
wahren.
7.3 WebShare Dienstprogramme

Hinweis: "zipstream" und "unzipstream" befinden sich im Verzeichnis "HELIOSDIR/bin". Alle übrigen in diesem Abschnitt beschriebenen Skripte liegen im Verzeichnis "HELIOSDIR/etc/webshare/".

7.3.1 zipstream
Dieses Programm legt ein Zip-Archiv an, dem Sie Dateien und Ordner in komprimierter Form hinzufügen können. Die Vorteile von "zipstream" gegenüber dem Zip-Programm sind: Es werden während der Komprimierung keine temporären Dateien angelegt und das Herunterladen von Daten kann unmittelbar beginnen, ohne dass das Zip-Archiv schon angelegt worden ist. Dateiattribute wie Erstellungsdatum und Macintosh Ressourceinformationen werden als MacBinary kodiert, welches dann im komprimierten Zip-Archiv erhalten bleibt. Die für die Datei- und Ordnernamen im Dateisystem verwendete Kodierung ist UTF-8. Die Kodierung, die für Datei- und Ordnernamen im Zip-Archiv verwendet wird, kann je nach Client-System ausgewählt werden, z. B. MacRoman, PC850, ISO8859-1 oder UTF-8.
Gebrauch:
zipstream [options] file
zipstream -h (for help info)
Beispiel:
Legen Sie ein Zip-Archiv namens "archiv.zip" an und fügen Sie dem Archiv file1, file2, dir1 und dir2 hinzu:
zipstream -f archiv.zip file1 file2 dir1 dir2
Beispiel:
Legen Sie ein Zip-Archiv an und leiten Sie es zur Anwendung "tar" weiter:
zipstream file1 file2 dir1 dir2 | tar cvf test.tar -
Folgende Optionen stehen mit "zipstream" zur Verfügung:
-f
Das Zip-Archiv wird anstatt nach "stdout" in eine Datei geschrieben.
-C
Eingehende Dateien werden aus diesem Verzeichnis gelesen.
-l
Zip-Komprimierungsgrad. Gültige Werte reichen von 1 (höchste Geschwindigkeit ) bis 9 (beste Komprimierung). Der Vorgabewert ist 6.
-c
Die für Dateinamen im Zip-Archiv benutzte Kodierung. Vorgabe ist UTF8. Um alle verfügbaren Kodierungsmöglichkeiten aufzulisten verwenden Sie uniconv -l (siehe Base Handbuch).
,zipstream" wird mit dieser Option vom WebShare File Server aufgerufen, wenn aus dem Aufklappmenü Download Encoding im Fenster "My User Preferences" oder "User Administration" eine Kodierung ausgewählt wurde.

Hinweis: Als "zipstream"-Kodierung des Servervolumes wird immer UTF-8 angenommen. Volumes, die nicht UTF-8 kodiert sind, werden nicht von "zipstream" unterstützt.

-s
Die geschätzte Größe des Zip-Archivs wird nach "stdout" ausgegeben (4 byte integer, network byte order).
-b
Die Ausgabe erfolgt in Blöcken von n kBytes. Der Vorgabewert ist 32 kB.
-n
Es wird kein Zip-Streaming Format verwendet.
,zipstream" wird mit dieser Option vom WebShare File Server aufgerufen, wenn die Option Zip Streaming Format im Fenster "Administration" deaktiviert ist.
-m
Daten- und Ressourcezweig einer Macintosh Datei werden als MacBinary kodiert.
-t
Dateikommentare werden in MacBinary eingebunden (Option -m muss gleichzeitig auch gesetzt sein).
-r
,.rsrc"-Verzeichnisse werden beibehalten. Standardmäßig werden ".rsrc"-Verzeichnisse nämlich beim Anlegen eines Zip-Archivs übergangen. Wenn -m gesetzt ist, hat diese Option keine Auswirkungen.
-e
Dem Zip-Archiv wird die Datei "DownloadLog.txt", die Dateizugriffsfehler und, falls -v gesetzt ist, Erklärungen in Wortform beinhaltet, hinzugefügt.
-v
Erklärungen in Wortform werden nach "stderr" ausgegeben oder, falls -e auch gesetzt ist, in die Datei "DownloadLog.txt" in das Zip-Archiv geschrieben.
-x
Mac OS X Finder kompatible Zip-Archive werden erstellt. Solche Zip-Archive sind auch mit Safari kompatibel, so dass keine zusätzliche Software für Archivierungszwecke benötigt wird.
-z
Symbolische Links werden aufgelöst und die Dateien dann dem Zip-Archiv hinzugefügt.
7.3.2 unzipstream
Das Dienstprogramm "unzipstream" entpackt Zip-Archive und dekodiert MacBinary Dateien.
Dabei liest es standardmäßig die Zip- oder MacBinary Datei von "stdin" ein. Mit der Option -f kann dann eine Zip- oder MacBinary-Eingangsdatei ausgewählt werden. Ausgegebene Dateien werden unter den Namen, die in der Zip- oder MacBinary-Datei definiert sind, gesichert. Handelt es sich bei der Eingangsdatei weder um eine Zip- noch um eine MacBinary-Datei, wird sie nach "stdout" oder in die mit der Option -o festgelegten Datei ausgegeben. Die Option -C legt das Zielverzeichnis für die Ausgabedateien fest. Der Name eines Benachrichtigungsskripts, das immer dann aufgerufen wird, wenn eine Datei auf die Festplatte geschrieben wird, kann mit der Option -n definiert werden. Dieses Skript wird dann mit zwei Parametern aufgerufen: dem temporären Dateinamen sowie dem Originalnamen der Datei.
Gebrauch:
unzipstream [options] file
unzipstream -h (for help info)
Beispiele:
Zeigt die Liste des Zip-Archivs bei angenommener Windows (PC850) Kodierung:
unzipstream -l -c PC850 -f archive.zip
Entpackt das Zip-Archiv, das von DropZip angelegt wurde, am Beispiel einer Macintosh (MacRoman) Kodierung:
unzipstream -c MacRoman -f archive.zip
Entpackt alle Dateien aus dem Archiv "abc.zip" in das Verzeichnis "/data/zips":
unzipstream -f abc.zip -C /data/zips

Hinweis: Als Kodierung für das Servervolume, auf welchem Zip-Dateien entpackt werden, wird immer UTF-8 angenommen. Volumes, die nicht UTF-8 kodiert sind, werden nicht von "unzipstream" unterstützt.

Folgende Optionen stehen mit "unzipstream" zur Verfügung:
-f
Anstelle von "stdin" wird aus dem Zip-Archiv gelesen.
-o
Der Dateiname wird angegeben. Diese Option wird nur dann benutzt, wenn die Eingangsdatei weder eine Zip- noch eine MacBinary-Datei ist.
-C
Die Ausgabedateien werden in dieses Verzeichnis geschrieben.
-c
Legt die Kodierung für Dateinamen im Zip-Archiv fest. Der Vorgabewert ist UTF8.
Mit dem Kommando uniconv -l (siehe HELIOS Base Handbuch) können alle verfügbaren Kodierungen aufgelistet werden.
-r
,.rsrc"-Verzeichnisse werden beibehalten. Standardmäßig werden Dateien in ".rsrc"-Verzeichnissen nicht aus dem Zip-Archiv entpackt.

Hinweis: Um eine Übereinstimmung zwischen der Information in der Desktop-Datenbank eines HELIOS Volumes und den auf diesem Volume befindlichen Dateien/Ordnern zu gewährleisten, laden oder entpacken Sie ein Zip-Archiv, welches ".rsrc"-Verzeichnisse enthält, nicht direkt auf ein aktives HELIOS Volume. Verwenden Sie zu diesem Zweck besser die "dt-Dienstprogramme" (siehe Base Handbuch).

-n
Diese Option lässt Sie den Namen eines Benachrichtigungsskripts angeben, das immer dann aufgerufen wird wenn eine Datei entpackt wird. Das Skript wird mit den folgenden Parametern aufgerufen:
-m
Gibt den MIME-Typ der Eingangsdatei an.
Wird die Option -m gesetzt, so nimmt "unzipstream" keine Überprüfung des Headers der Eingangsdatei vor um den Dateityp zu ermitteln. Der zurzeit einzig bekannte MIME-Typ ist "application/x-macbinary".
-l
Die Dateien werden aufgelistet statt entpackt.
-u
Zeigt "dot-Dateien" an wobei der Punkt zu Beginn des Namens durch einen Unterstrich ersetzt wird.
Beispiel:
.DS_Store wird als _DS_Store dargestellt
-v
Erklärungen in Wortform werden nach "stderr" ausgegeben.
Beachten Sie bitte, dass, wenn eine Zip-Datei ihrerseits weitere Zip-Archive enthält, diese nicht weiter entpackt werden.
Für die Skripte "wscopy.pl", "wsmove.pl", "wsdup.pl", "wsmkdir.pl", "wsuploadmv.pl", "wsmv.pl", "wsperm.pl" und "wsrm.pl" wird automatisch das Kommando "dt" verwendet. So wird sichergestellt, dass alle Änderungen sowohl auf den Daten- als auch auf den Ressourcezweig der Datei angewandt werden. Auf diese Weise genügen Sie den speziellen Anforderungen an ein HELIOS Volume.

Hinweis: Eine benutzerspezifische Anpassung des Perl-Skripts sollten Sie niemals direkt im Originalskript vornehmen. Kopieren Sie stattdessen das Skript in das Verzeichnis "HELIOSDIR/var/webshare". WebShare sucht immer erst in "var/webshare" nach Skripten und benutzt das Verzeichnis "etc/webshare" lediglich als Alternative, falls das Skript in "var/webshare" nicht verfügbar ist.

7.3.3 wscommon.pm
Diese Datei ist ein Library-Modul in Perl, welches von allen WebShare Perl Skripten verwendet wird. Es beinhaltet beispielsweise Informationen über weitere installierte HELIOS Produkte.
7.3.4 Umgebungsvariablen für Aktionsskripte
Eine Beschreibung der Umgebungsvariablen kann bei der Anpassung von WebShare Aktionsskripten hilfreich sein:
Umgebungsvariable
Beschreibung
WSUserEncoding
z. B. OS Default; Kodierung beim Herunterladen
WSAccept-Language
z. B. en-us; Standardsprache für die Darstellung von Webseiten
WSWindowsEncoding
z. B. PC850; Standard Windows Kodierung
WSStreamingZip
z. B. Yes; Zip-Streaming Format
WSMacintoshEncoding
z. B. MacRoman; Standard Mac OS Kodierung
WSUserId
z. B. 105; Effektive Benutzer ID der aktuellen Sitzung
WSGroupId
z. B. 30; Effektive Gruppen ID der aktuellen Sitzung
WSUser
Name des angemeldeten Benutzers
WSUserEMail
E-Mail Adresse des angemeldeten Benutzers
WSSessionSeq
z. B. 843-64; websharesrv Prozess ID (843) und Anzahl von Logins (64)
WSClientAddress
IP Adresse des angemeldeten Client
WSPREVIEWDIR
WebShare Cache Verzeichnispfad
WSUserAgent
z. B. Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.6) Gecko/20040113; Browser Information
HELIOSDIR
z. B. /usr/local/helios; HELIOS Verzeichnispfad

7.3.5 wscopy.pl
Gebrauch:
wscopy.pl destdir srcdir files...
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltflächen Copy Selection und Paste Selection geklickt wird. "destdir" gibt das Zielverzeichnis, in das die ausgewählten Dateien und Ordner von "srcdir" aus kopiert werden, an. "wscopy" benutzt das Host-Programm "cp" zum Kopieren von Dateien.
7.3.6 wsmove.pl
Gebrauch:
wsmove.pl destdir srcdir files...
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltfläche Move geklickt wird. "destdir" gibt das Zielverzeichnis, in das die ausgewählten Dateien und Ordner von "srcdir" aus verschoben werden, an. "wscopy" benutzt das Host-Programm "mv" zum Verschieben von Dateien.
7.3.7 wsdownload.pl
Gebrauch:
wsdownload.pl srcdir files...
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltfläche Download geklickt wird. Das Verzeichnis "srcdir" gibt das aktuelle Verzeichnis der Web-Sitzung des Benutzers an. Das Argument files repräsentiert die Dateien und Ordner, die vom Benutzer zum Herunterladen markiert worden sind. "wsdownload" verwendet das WebShare Dientprogramm "zipstream" um ein während der Übertragung erstelltes Zip-Archiv ohne temporäre Dateien nach "stdout" zu leiten. Einstellungen wie z. B. das Zip-Format, die Kodierung des Dateinamens, die Unterstützung für MacBinary, die Client-Plattform (Mac oder Windows) werden automatisch durch das Skript "wsdownload" festgelegt.
7.3.8 wsdup.pl
Gebrauch:
wsdup.pl dir files...
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltfläche Duplicate geklickt wird.
7.3.9 wsmkdir.pl
Gebrauch:
wsmkdir.pl dir newdir
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn im Aufklappmenü "Actions" in der Werkzeugleiste des Sharepoints CreateDir ausgewählt wird.
7.3.10 wsmv.pl
Gebrauch:
wsmv.pl dir source dest
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltfläche Rename geklickt wird.
7.3.11 wspreview.pl
Gebrauch:
wspreview.pl srcfile dstfiletype previewfile resOptions page antialiasPDF
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn Sie einen Dateinamen in der Spalte "Name" des Sharepoints anklicken, die Voransichtsdatei sich aber nicht im Cache befindet (oder veraltet ist).
Parameter:
Name Erläuterung
srcfile Der vollständige Pfadname der Bild- oder
Dokumentendatei, die der Benutzer zur
Voransicht ausgewählt hat.
dstfiletype Der Dateityp des Vorschaubildes, üblicherweise
JPEG oder PNG. Details finden Sie in Kapitel
7.5.4 "Formate der Voransichtsdateien".
previewfile Der Pfad des Dateinamens der Voransicht.
Der Dateiname legt den Namen, unter dem die
Voransicht im Cache gesichert wird, fest.
resOptions Dieser Parameter legt die Voransichtsoptionen
für das ImageServer-Kommando "layout" fest.
Mehrere Parameter werden durch eine
vertikale Linie (,|") getrennt. Ein Beispiel:
"ocoaLigature0 -oxpix=256|-orotate=90|
-oflipvertical"ocoaLigature1.
page Die Seitennummer, mit 1 beginnend, wird für
mehrseitige Dokumente benutzt.
antialiasPDF Mit "True" oder "False" bestimmen Sie, ob
Antialiasing für PDF-Eingangsdateien an-
oder abgeschaltet wird.

Hinweis: Die beiden folgenden WebShare können auch ohne Anmeldung des Benutzers aufgerufen werden.

7.3.12 wsforgotpw.pl
Gebrauch:
wsforgotpw.pl opts...
Dieses Skript wird jedesmal dann vom WebShare File Server aufgerufen, wenn Forgot Password? auf der Startseite geklickt wird. Die folgende Tabelle führt die Perl-Skript Variablen in der linken Spalte, und in der rechten die entsprechenden HTML Felder der Datei "ForgotPassword.wod" (siehe 6.4.2 ",*.wod"-Dateien lokalisieren"). Beachten Sie bitte, dass die Namen der Perl-Skript Variablen feststehen und nicht umbenannt werden dürfen! Falls Felder nicht benötigt werden, können sie leer gelassen werden:
wsforgotpw.pl
ForgotPassword.wod
$username
editUser.username
$email
editUser.email
$organization
editUser.organization
$comment
editUser.comment
$field5 - $field10
editUser.field5-10

7.3.13 wsregnewuser.pl
Gebrauch:
wsregnewuser.pl opts...
Dieses Skript wird jedesmal dann vom WebShare File Server aufgerufen, wenn Register as a New User auf der Startseite geklickt wird. Die folgende Tabelle führt die Perl-Skript Variablen in der linken Spalte, und in der rechten die entsprechenden HTML Felder der Datei "RegisterNewUser.wod" (siehe 6.4.2 "*.wod"-Dateien lokalisieren"). Beachten Sie bitte, dass die Namen der Perl-Skript Variablen feststehen und nicht umbenannt werden dürfen! Falls Felder nicht benötigt werden, können sie leer gelassen werden:
wsregnewuser.pl
RegisterNewUser.wod
$username
editUser.username
$password
editUser.password
$verifyPassword
editUser.verifyPassword
$email
editUser.email
$comment
editUser.comment
$organization
editUser.organization
$field7 - $field20
editUser.field7- 20

7.3.14 wsrm.pl
Gebrauch:
wsrm.pl dir files...
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltfläche Delete geklickt wird.
7.3.15 wsperm.pl
Gebrauch:
wsperm.pl dir user group userMode groupMode otherMode recursive files...
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf die Schaltfläche Permissions geklickt wird. Die ausgewählten Dateien und Ordner im aktuellen Verzeichnis dir werden mithilfe der Hostkommandos "chmod", "chgrp" und "chown" gemäß der angegebenen Parameter geändert.
7.3.16 wsupload.pl
Gebrauch:
wsupload.pl dstdir filesize filename mimetype
Dieses Programm wird immer dann vom WebShare File Server aufgerufen, wenn in der Werkzeugleiste des Sharepoints auf den Link Upload geklickt wird. "wsupload" erhält den Datenstrom von "stdin" und entpackt ihn in das durch den Parameter "dstdir" festgelegte Verzeichnis. Das Dienstprogramm "unzipstream" wird als eine Art Ausgabeprogramm zum Entpacken des Datenstroms während der Übertragung benutzt. Sobald eine Datei im Zip-Datenstrom entdeckt wird, wird sie unter einem temporären Namen mit der Prozess-ID als Suffix gesichert. Das Skript "wsuploadmv" wird für jede einzelne Datei im Zip-Datenstrom aufgerufen, um die Datei mit dem Suffix der Prozess-ID in ihren endgültigen Namen umzubenennen. All dies geschieht während der Übertragung, während "unzipstream" mit dem Empfang von weiteren Dateien innerhalb des Zip-Datenstroms fortfährt. "wsupload" findet automatisch heraus, ob das Hochladen von Daten von einem Windows oder einem Macintosh Client geschieht und wählt so eine geeignete Zeichensatzkodierung gemäß der Benutzer- sowie der Systemeinstellungsvorgaben.
7.3.17 wsuploadmv.pl
Gebrauch:
wsuploadmv.pl dir filesize filename mimetype
Dieses Programm benennt hochgeladene Dateien von ihrem temporären Namen in ihren endgültigen Namen um. "wsuploadmv" eignet sich hervorragend zur Integration anderer Aufgaben und Abläufe, z. B. einer Anti-Virus-Software, die die hochgeladenen Dateien prüft.
7.3.18 WebShare File Server (Telnet Service Port)
Dieser Dienst zeigt Benutzer- und Statusinformationen des WebShare File Servers an.
Nachdem Sie localhost auf der Kommandozeile mit einer geeigneten Portnummer aufgerufen haben, können Sie zusätzliche Befehle wie users, status oder help eingeben um sich mögliche Optionen anzeigen zu lassen:
$ socket localhost 2016
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to the HELIOS WebShare File Server service port
help
help - print a list of available commands
quit - close connection
status - show status information
users - show user information
users
# PID User UID Address CRC Login
1 inactive tom 101 192.168.1.2 24c9ce Mon 10:38
1 active joe 108 192.168.1.8 3bffc9d6 Thu 11:23
Summary: 1 active users (1 inactive users)
status
WebShare File Server, Version 1.0.0
Up since: Thu Nov 13 10:25:30 2003
Max users: 2
Max users allowed: 100

Hinweis: Aus Sicherheitsgründen akzeptiert der "telnet" Port über die localhost-Adresse ausschließlich eingehende Verbindungen auf dem WebShare File Server.

7.4 WebShare Skripte
7.4.1 Benutzerdefinierte Skripte
Es ist ohne Weiteres möglich, Skripte in den WebShare Arbeitsablauf zu integrieren, die z. B. Aufgaben automatisieren. WebShare wird mit vier Beispielskripten ausgeliefert (,wslogin.pl", "wslogout.pl", "wsmail" und "wsaddshare.pl"), die, sollen sie etwas bewirken, erst vom Benutzer angepasst werden müssen, und elf "Aktionsskripten" (siehe Kapitel 7.4.3 "Aktionsskript - Beispiele"). Benutzerdefinierte Skripte liegen im Verzeichnis "etc/webshare/samples". Zusätzlich können die WebShare Skripte, die in Kapitel 7.3 "WebShare Dienstprogramme" beschrieben wurden, angepasst werden.

Hinweis: Die Ausgabegröße von benutzerdefinierten Skripten ist standardmäßig auf 64 kB begrenzt. Die Fehlerausgabe ist jedoch auf 2 kB begrenzt.

Die im Folgenden beschriebenen Skripte werden erst dann aktiv, wenn sie nach "var/webshare" kopiert worden sind.
wslogin.pl
Dieses Skript wird nach einer erfolgreichen Anmeldung am WebShare Server mit folgenden Parametern aufgerufen:
Das Skript kann so angepasst werden, dass es bei einer Benutzeranmeldung jede gewünschte Aktion ausführt.
wsaddshare.pl
Jedesmal wenn ein WebShare Administrator einen Sharepoint neu anlegt oder Änderungen an einem bestehenden vornimmt, wird das Skript "wsaddshare.pl" aufgerufen. Folgende Parameter stehen dafür zur Verfügung:
Durch Anpassung dieses Skripts kann ein Systemadministrator verhindern, dass ein WebShare Administrator einen Sharepoint anlegt, dessen Pfad jenseits des für ihn erlaubten Bereichs liegt. Der Ausgabewert 0 erlaubt das Anlegen eines Sharepoints sowie Änderungen an diesem, während ein Wert 0 derlei Aktionen verbietet. Gleichzeitig würde eine Meldung an den Systemadministrator nach "stderr" ausgegeben.
Beispiel:
#!var/run/runperl -w
# WebShare sample script to perform any actions or checks # whenever
# a new Sharepoint is defined or Sharepoint setting are
# modified.
# The script must either
# - exit with status 0 to allow saving the Sharepoint, or
# - write an error text to STDERR and exit with status
# != 0 if saving the Sharepoint is not allowed.
#
# NOTE: To use the sample script, copy this file into the
# HELIOSDIR/var/webshare directory, edit it according to
# your needs, and make sure that it is executable.

sub BEGIN {
use vars qw($heliosdir);
open (FD, "/etc/HELIOSInstallPath") || die "cannot
find HELIOS product, check installation";
chop($heliosdir = <FD>);
close(FD);
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 != 6) {
print STDERR "Usage: $prog sharename sharepath
sharemail shareoptions usermembers
groupmembers\n";
exit 1;
}

my $sharename = shift; # Sharepoint Name
my $sharepath = shift; # Sharepoint Path
my $sharemail = shift; # E-Mail on Access
my $shareoptions = shift; # Options, comma separated
my $usermembers = shift; # User Members, comma separated
my $groupmembers = shift; # Group Members, comma separated

# exit 0 without any stderr messages will allow to add the
# share
exit 0;

# Example: Allow only sharepoint paths starting with
# "/webshare/" or "/samples/":

my @allowedPaths = ("/webshare/", "/samples/");
foreach my $path (@allowedPaths) {
exit 0 if ($sharepath =~ /^$path/);
}

print STDERR "Adding sharepoint directory $sharepath not allowed!\n";
exit 1;
wslogout.pl
Sobald sich ein Benutzer vom WebShare Server abgemeldet hat, wird dieses Skript mit den folgenden Parametern aufgerufen:
Dieses Skript könnte z. B. so angepasst werden, dass Verzeichnisse aufgeräumt oder ähnliche Aufgaben erledigt werden. Im Gegensatz zu wslogin.pl und wsaddshare.pl wird der Ausgabewert dieses Skripts nicht interpretiert.
wsemail.pl
E-Mail Aktionsskript
#!var/run/runperl -w
# WebShare sample script to perform any actions or checks when a user
# sends email. The script must either
# - exit with status 0 if the user has permission to log in, or
# - write an error text to STDERR and exit with status != 0 if the user
# has no permission to log in.
#
# NOTE: To use the sample script, copy this file into the
# HELIOSDIR/var/webshare directory, edit it according to your needs,
# and make sure that it is executable.

sub BEGIN {
use vars qw($heliosdir);
if ($^O eq 'MSWin32') {
require WIN32::Registry;
use vars qw($HKEY_LOCAL_MACHINE);

my $HKEY_HELIOS = "SOFTWARE\\Helios Software GmbH\\Helios";
my $HKEY_PRODDIR = "ProductDir";
my ($hkey, $val);

$HKEY_LOCAL_MACHINE->Open($HKEY_HELIOS, $hkey) || die "cannot find HELIOS product Key, check installation\n";
$hkey->QueryValueEx($HKEY_PRODDIR, $hkey->REG_SZ(), $heliosdir) || die "cannot find HELIOS product path, check installation\n";
} else {
open (FD, "/etc/HELIOSInstallPath") || die "cannot find HELIOS product, check installation\n";
chop($heliosdir = <FD>);
close(FD);
}
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 != 6) {
print STDERR "Usage: $prog from to cc bcc subject body\n";
exit 1;
}

my $from = shift; # User e-mail address from webshare user password file
my $to = shift;
my $cc = shift;
my $bcc = shift;
my $subject = shift;
my $body = shift;

# exit 0 without any stderr messages will allow the login of this user
exit 0;
7.4.2 Fehlerbeseitigung in WebShare Skripten
Alle WebShare Skripte inklusive der Beispielskripte sind in Perl geschrieben worden. WebShare Skripte können aber auch in jeder anderen Sprache wie z. B. shell, PHP, Perl, Java, C/C++ geschrieben werden. HELIOS bevorzugt Perl, da es sehr leistungsfähig und zu vielen verschiedenen Plattformen kompatibel ist. Dieser Abschnitt stellt eine Anleitung für die Fehlerbehebung in Perl Skripten vor, die als Werkzeug und Aktionsskript in WebShare benutzt werden können. Achten Sie darauf Ihr Skript so aufzusetzen, dass es grundsätzlich funktioniert, bevor Sie an ihm eine Fehlerbeseitigung in der WebShare Umgebung vornehmen.
Umgebungsvoraussetzungen:
Alle Skripte werden normalerweise mit dem Verzeichnis HELIOSDIR, welches standardmäßig "/usr/local/helios" ist, aufgerufen. Um unabhängig vom Perl Installationspfad zu allen Plattformen kompatibel zu sein, findet sich bei allen WebShare Perl-Skripten die Zeichenkette "#!var/run/runperl" in der ersten Zeile. "runperl" ist ein symbolischer Link zum lokalen Perl-Interpreter. Der "runperl"-Link wird während der Installation von WebShare automatisch angelegt. Alle WebShare Vorgabeskripte befinden sich in "etc/webshare". Benutzerdefinierte Skripte sollten in "var/webshare" gespeichert werden, damit ein Überschreiben der Skripte während einer Neuinstallation der Software vermieden wird. Ein weiterer Vorteil ist, dass der Ordner "var" alle Benutzeranpassungen und -einstellungen enthält, was eine einfache und schnelle Migration auf andere Server-Plattformen gewährleistet, da die Änderungen nicht mehr neu eingegeben werden müssen.
Informationen über die Fehlerbeseitigung ausdrucken:
Da viele Skripte ihre Ergebnisse nach "stdout" oder "stderr" ausgeben, führt das Drucken von Skriptvariablen zu einer uneinheitlichen Ausgabe, was wiederum zu Fehlfunktionen führt. Alle HELIOS Skripte geben ihre Informationen in eine Datei aus, wenn die Umgebungsvariable "DEBUGTTY" gesetzt wird.
Einfache Fehlerbeseitigung:
# cd /usr/local/helios
# export DEBUGTTY=/dev/tty
# var/webshare/actions/yourscriptname
Mit den oben aufgeführten Befehlen können Sie das Skript testweise durchlaufen lassen und das Ergebnis überprüfen.
Fehlerbeseitigung bei einem laufenden WebShare File Server:
# cd /usr/local/helios
# bin/srvutil stop websharesrv # to stop the webshare file
server
# export DEBUGTTY=/dev/tty
# sbin/websharesrv
Das Skript wird jetzt bei der Ausführung von Aktions- oder Benutzerdefinierten Skripten vom WebShare File Server aufgerufen. Wird der WebShare File Server manuell gestartet, wird die gesamte Ausgabe in das Terminal ausgegeben (unter Benutzung des momentanen "tty").
7.4.3 Aktionsskript - Beispiele
Wie schon in Kapitel 7.4.1 "Benutzerdefinierte Skripte" erwähnt, wird WebShare mit elf Aktionsskripten ausgeliefert (,wscheckpdf.pl", "wsdu.pl", "wsimageinfo.pl", "wsll.pl", "wssendmsg.pl", "wsxpvcollect.pl", "wsxpvinfo.pl", "wspdfinfo.pl", "wscmdargs.pl", "wsdialog.pl" und "wsfind.pl"). Aktionsskripte müssen im Verzeichnis
,var/settings/WebShare/Actions" gespeichert werden, damit sie im Aufklappmenü "Actions" in der Werkzeugleiste des Sharepoints (Kapitel 5.2.1 "Aufklappmenü "Actions"") verfügbar sind.
wssendmsg.pl
Dieses Aktionsskript sendet Benachrichtigungen direkt aus WebShare an alle Benutzer, die über "afpsrv", "pcshare" oder "heladmsrv" angemeldet sind.
wscmdargs.pl
Dieses Aktionsskript gibt alle "Aktionsargumente" aus:
#!var/run/runperl -w
# WebShare sample action script to print the environment
#
# An example how to use the given path.
#
# NOTE: To use the sample action, copy this file into the
# HELIOSDIR/var/webshare/actions directory, edit it
# according to your needs, and make sure that it is
# executable.

sub BEGIN {
use vars qw($heliosdir);
open (FD, "/etc/HELIOSInstallPath") || die "cannot find HELIOS product, check installation";
chop($heliosdir = <FD>);
close(FD);
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 < 2) {
print STDERR "Usage: $prog dir\n";
exit 1;
}

my $dir = shift; # given directory
my $nfield = shift; # unused content of the input field
my $file;
my $n = 1;

print "<H3>Action Script Parameter</H3>";
print "Action Script Name: $prog\n";
print "FileBrowser directory: $dir\n";
print "Name Field: $nfield\n";
for $file (@ARGV) {
print "ARGS: $n $file\n";
$n++;
}

print "<hr>";
print "<H3>WebShare Environment variables</H3>";
print "WSWindowEncoding: " . $ENV{"WSWindowsEncoding"} . "\n";
print "WSMacintoshEncoding: " . $ENV{"WSMacintoshEncoding"} . "\n";
print "WSUserEncoding: " . $ENV{"WSUserEncoding"} . "\n";
print "WSStreamingZip: " . $ENV{"WSStreamingZip"} . "\n";
print "WSUser: " . $ENV{"WSUser"} . "\n";
print "WSClientAddress: " . $ENV{"WSClientAddress"} . "\n";
print "WSUserAgent: " . $ENV{"WSUserAgent"} . "\n";
print "HELIOSDIR: " . $ENV{"HELIOSDIR"} . "\n";

print "<hr>";
print "<H3>Host Environment variables</H3>";
print "PATH: " . $ENV{"PATH"} . "\n";
print "User ID: $<\n";
print "Effective User ID: $>\n";
print "Group ID: $(\n";

print "<hr>";
print "<H3>WebShare Active Users</H3>";
system($ENV{"HELIOSDIR"} . "/bin/swho -c | egrep '(PID|WebShare)'");

exit 0;
wsll.pl
Dieses Aktionsskript listet den inhalt eines Verzeichnisses auf:
#!var/run/runperl -w
# WebShare sample action script to list the content of a # directory.
#
# An example how to use the given path.
#
# NOTE: To use the sample script, copy this file into the
# HELIOSDIR/var/webshare/actions directory, edit it
# according to your needs, and make sure that it is
# executable.

sub BEGIN {
use vars qw($heliosdir);
open (FD, "/etc/HELIOSInstallPath") || die "cannot find HELIOS product, check installation";
chop($heliosdir = <FD>);
close(FD);
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 < 2) {
print STDERR "Usage: $prog dir\n";
exit 1;
}

my $dir = shift; # given directory
my $nfield = shift; # unused content of the input field
system("ls", "-l", $dir);

exit 0;
wsfind.pl
Dieses Aktionsskript führt eine Dateisuche durch:
#!var/run/runperl -w
# WebShare sample action script how to find files
#
# shows the use of the input field
#
# NOTE: To use the sample action, copy this file into the
# HELIOSDIR/var/webshare/actions directory, edit it
# according to your needs, and make sure that it is
# executable.

sub BEGIN {
use vars qw($heliosdir);
open (FD, "/etc/HELIOSInstallPath") || die "cannot find HELIOS product, check installation";
chop($heliosdir = <FD>);
close(FD);
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 < 2) {
print STDERR "Usage: $prog dir nfield \n";
exit 1;
}

my $dir = shift; # directory where we start the search
my $nfield = shift; # name of the file, that we want to find

system("find", $dir, "-name", $nfield);

exit 0;
wsdu.pl
Dieses Aktionsskript zeigt die Plattenplatzbelegung durch Dateien an:
#!var/run/runperl -w
# WebShare sample action script to show the disc usage of
# files
#
# demonstrates how to make use of the list of the selected
# files from webshare.
#
# NOTE: To use the sample action, copy this file into the
# HELIOSDIR/var/webshare/actions directory, edit it
# according to your needs, and make sure that it is
# executable.

sub BEGIN {
use vars qw($heliosdir);
open (FD, "/etc/HELIOSInstallPath") || die "cannot find HELIOS product, check installation";
chop($heliosdir = <FD>);
close(FD);
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 < 3) {
print STDERR "Usage: $prog dir nfield file1 ...\n";
exit 1;
}

my $dir = shift; # directory, where the action shall be executed
my $nfield = shift; # content of the input field
my $file; # list of selected files.

chdir($dir) || die "$prog: cannot chdir to $dir\n";

for $file (@ARGV) {
system("du", $file);
}

exit 0;
wsdialog.pl
Erlaubt Aktionsskripten mit benutzerdefinierten HTML-Feldern (Textfelder, Schaltflächen usw.):
#!var/run/runperl -w
# WebShare sample action script shows dialog form options
#
# An example how to use the given path.
#
# NOTE: To use the sample action, copy this file into the
# HELIOSDIR/var/webshare/actions directory, edit it according to your
# needs, and make sure that it is executable.

sub BEGIN {
use vars qw($heliosdir);
if ($^O eq 'MSWin32') {
require WIN32::Registry;
use vars qw($HKEY_LOCAL_MACHINE);

my $HKEY_HELIOS = "SOFTWARE\\Helios Software GmbH\\Helios";
my $HKEY_PRODDIR = "ProductDir";
my ($hkey, $val);

$HKEY_LOCAL_MACHINE->Open($HKEY_HELIOS, $hkey) || die "cannot find HELIOS product Key, check installation\n";
$hkey->QueryValueEx($HKEY_PRODDIR, $hkey->REG_SZ(), $heliosdir) || die "cannot find HELIOS product path, check installation\n";
} else {
open (FD, "/etc/HELIOSInstallPath") || die "cannot find HELIOS product, check installation\n";
chop($heliosdir = <FD>);
close(FD);
}
unshift (@INC, ".", "$heliosdir/etc/webshare");
}

use strict;
use wscommon;

if ($#ARGV + 1 < 2) {
print STDERR "Usage: $prog dir ...\n";
exit 1;
}
my $dir = shift; # given directory
my $nfield = shift; # unused content of the input field
my %postHash;

if ($nfield =~ /^POST=/) {
my @postARGS = split(/\^/, substr($nfield, 5));

for my $opt (@postARGS) {
my ($key, $value) = split(/=/, pack("H*", $opt));
$postHash{$key} = $value;
}
}


#
# action scripts are called with a "POST=hex" string to identify a custom action
# post data request. Submit fields of an action script form must start with the
# name "doOK" to post the field forms, or "doCanel" clear the custom action request
#
# A typical action script must print html fields in the action script
# Any "doOK*" named submit button will POST all form data to the
# custom action script. All values are UTF-8 encoded.
#
# If the custom script is exiting with "exit 0" without printing any additional
# data the custom action script is completed.
#

if (not $nfield =~ /^POST=/) {
my $file;
my $n = 1;
print "<H3>Action Script Parameter</H3>";
print "Action Script Name: $prog\n";
print "FileBrowser directory: $dir\n";
print "Name Field: $nfield\n";
for $file (@ARGV) {
print "ARGS: $n $file\n";
$n++;
}

print "<hr>";
print "<H3>WebShare Environment variables</H3>";
print "WSWindowEncoding: " . $ENV{"WSWindowsEncoding"} . "\n";
print "WSMacintoshEncoding: " . $ENV{"WSMacintoshEncoding"} . "\n";
print "WSUserEncoding: " . $ENV{"WSUserEncoding"} . "\n";
print "WSStreamingZip: " . $ENV{"WSStreamingZip"} . "\n";
print "WSUser: " . $ENV{"WSUser"} . "\n";
print "WSUserEMail: " . $ENV{"WSUserEMail"} . "\n";
print "WSClientAddress: " . $ENV{"WSClientAddress"} . "\n";
print "WSUserAgent: " . $ENV{"WSUserAgent"} . "\n";
print "HELIOSDIR: " . $ENV{"HELIOSDIR"} . "\n";

print "<hr>";
print "<H3>Host Environment variables</H3>";
print "PATH: " . $ENV{"PATH"} . "\n";
print "User ID: $<\n";
print "Effective User ID: $>\n";
print "Group ID: $(\n";

print "<hr>";
print "Label: <input size=\"32\" maxlength=\"32\" type=text name=\"testname\">\n";

print "CheckBox: <input type=checkbox name=\"BurnWithVerify\" value=\"Verify\" checked>\n";

print "<textarea cols=\"32\" rows=\"6\" name=\"textdesc\">my text comes here</textarea>\n";

print "<select name=\"Burn Speed\">\n";
print "<option value=\"16\">Burn 16X</option>\n";
print "<option value=\"8\">Burn 8 X</option>\n";
print "<option value=\"1\">Burn 1 X</option></select>\n";

print "<input type=submit value=\"Burn CD\" name=\"doOK1\">";
print "<input type=submit value=\"Burn and Label\" name=\"doOK2\">";
print "<input type=submit value=\"Cancel\" name=\"doCancel\">";
exit 0;
} else {
# POST data request
for my $opt (keys %postHash) {
print "$opt=$postHash{$opt}\n";
}
if ($postHash{"testname"}) {
print "found testname: ", $postHash{"testname"}, "\n";
}
print "<input type=submit value=\"Done\" name=\"doCancel\">";
exit 0;
}

Hinweis: Zur Ausführung der folgenden drei Skripte ist es erforderlich, dass ImageServer auf demselben Host installiert ist:

wsimageinfo.pl
Aktionsskript zum Abrufen von Informationen über ein Bild.
wsxpvinfo.pl
Aktionsskript zum Abrufen von Informationen über ein XPV Dokument.
wsxpvcollect.pl
Aktionsskript zum Sammeln der referenzierten Daten (QuarkXPress oder InDesign Dokument oder Bilder) aus dem XPV-Dokument. Zusätzlich wird eine Liste der verwendeten Schriften erstellt.

Hinweis: Zur Ausführung der folgenden zwei Skripte ist es erforderlich, dass PDF HandShake auf demselben Host installiert ist:

wscheckpdf.pl
Aktionsskript zum Prüfen eines PDF-Dokuments auf Basis des Programms "pdfInspektor" von callas software.
wspdfinfo.pl
Aktionsskript zum Abrufen von Informationen über ein PDF-Dokument.
7.5 Bild- und Dokumentenvorschau
Durch Einschalten der Option Allow Preview in WebShare Sharepoints verwendet WebShare HELIOS ImageServer, um Bitmap-Voransichten von Bildern und Dokumenten zu erzeugen, wenn ein Benutzer auf ein Dokument klickt. WebShare erkennt automatisch den Dateityp von Bildern und Dokumenten und öffnet eine HTML-Seite, die die Bild- und Dokumentenvorschau in der vorgegebenen Auflösung enthält.
Die Voransicht wird vom Skript "wspreview", welches das ImageServer Konvertierungsprogramm "layout" verwendet, generiert. Alle Vorschaudateien werden entweder als JPEG oder PNG im RGB- oder Graustufen-Farbraum erzeugt.
Um das Standardverhalten zu ändern, kann das Skript modifiziert werden. Gleichermaßen können Sie es als Vorlage für benutzerdefinierte Aktionsskripte verwenden, z. B. um eine Voransicht mit bestimmten ICC-Profilen zu erzeugen.
7.5.1 Bildvorschau (ImageServer)
Die folgenden Bild-Eingangsformate werden unterstützt:
TIFF, EPSF, DCS-1, DCS-2, Scitex-CT, JPEG, JPEG2000, JBIG2, PICT, Photoshop, BMP und PNG.
7.5.2 Dokumentenvorschau (ImageServer)
Voransichten von QuarkXPress Dokumenten für Mac und Windows sowie Adobe InDesign Dokumenten für Mac und Windows werden unterstützt. Um die Vorschaufunktion nutzen zu können ist es erforderlich, dass Sie die HELIOS Preview XTension oder das Plug-in für QuarkXPress oder InDesign installieren. Diese sichern zusammen mit dem Dokument eine ".xpv"-Datei, die die Dokumentenvorschau enthält. Ein WebShare Benutzer kann sich durch Anklicken dieser ".xpv"-Datei die Dokumentenvorschau seitenweise anzeigen lassen.
7.5.3 PDF Dokumentenvorschau (PDF HandShake & ImageServer)
Unterstützt alle PDF 1.0-1.4 Dateien, die nicht durch ein Passwort geschützt sind.
7.5.4 Formate der Voransichtsdateien
WebShare erzeugt eine PNG-Voransicht für die folgenden Formate:
WebShare erzeugt eine JPEG-Voransicht für die folgenden Formate:
Alle erzeugten Bildvoransichten werden in einem Cache-Bereich gesichert, damit andere Benutzer die bereits vorhandenen und berechneten Voransichtsdateien wiederverwenden können.
Durch die Verwendung verschiedener ImageServer Parameter im Skript "wspreview" ist es möglich die Generierung der Voransichtsdatei benutzerspezifisch anzupassen, beispielsweise um dem RGB-Farbraum, der für die Voransichtsdateien benutzt wird, ein anderes ICC-Profil zuzuweisen.
Die folgenden Bildauflösungen werden standardmäßig unterstützt:
Weitere Auflösungen für die Voransicht können als Werte in Pixel oder dpi im Fenster "WebShare Server Preferences" angegeben werden. Die benutzerspezifisch anpassbaren Auflösungen werden aus dem Aufklappmenü ausgewählt, bevor ein Klick auf Go die Generierung in der ausgewählten Auflösung beginnen lässt. Die Auflösung der Voransicht sollte möglichst klein gehalten werden. So vermeiden Sie extrem große Vorschaudateien, die dementsprechend lange brauchen, bis sie heruntergeladen sind und vom Browser angezeigt werden können.
7.6 Begrüßungsmeldung anpassen
Sie haben die Möglichkeit, die Begrüßungsmeldung im WebShare Anmeldefenster benutzerspezifisch anzupassen. Dazu muss dem Verzeichnis "HELIOSDIR/var/webshare/" eine Datei namens "wslogin.html" hinzugefügt werden. Diese Datei kann entweder reinen ASCII- oder HTML-Text (in UTF-8 Kodierung) beinhalten. Abb. 27 zeigt ein Beispiel, in dem "wslogin.html" den folgenden HTML-Text enthält:
Welcome to HELIOS WebShare.
Abb. 27: Benutzerspezifisches WebShare Anmeldefenster

7.7 Begrüßungsbild anpassen
Sie haben ferner die Möglichkeit, das Begrüßungsbild im WebShare Anmeldefenster benutzerspezifisch anzupassen. Das Bild muss im Format PNG vorliegen und unter dem Namen "wslogin.png" in "HELIOSDIR/var/webshare/" gesichert werden. Es sollte dann sofort im WebShare Anmeldefenster (Abb. 28) zu sehen sein und das vorgegebene Bild von HELIOS WebShare ersetzen.
Abb. 28: WebShare Anmeldefenster mit angepasstem Bild

Wird die Bilddatei "wslogin.png" aus dem Verzeichnis "HELIOSDIR/var/webshare/" entfernt, benutzt HELIOS WebShare wieder das Standardbild (Abb. 27).
7.8 Präferenzen

Hinweis: Dieses Kapitel wurde nicht übersetzt, um die Eindeutigkeit der Beschreibung zu bewahren.

This section lists all the preference keys that are pertinent to the WebShare File Server. Find a description of how to set, view, change or delete preferences, with the HELIOS "prefdump", "prefvalue", and "prefrestore" utility programs in the HELIOS Base manual, chapter 6, "HELIOS utility programs".

Important: Make sure that preference keys DO NOT start or end with a slash ("/") character, and note that they are case-sensitive! Also, if any preference key or preference value includes spaces, that key or value must be enclosed in quotes.

Preference
Type Default (""=no preference stored)
7.8.1 WebShare File Server Präferenzen
Key: Programs/websharesrv/<key>
WrongAuthDelay
int 2
Specifies the time delay in seconds between failed login requests. This helps increase the security against unauthorized logins, e.g. by password robots, which try to match the password by issuing a large number of passwords per second.
AllowForgotPassword
bool FALSE
Determines whether the Forgot Password? link becomes visible in the login window. The setting of this preference reflects the state of the Enable Forgot Password Option checkbox in the "Server Preferences" window (Abb. 7).
AllowRegisterUser
bool FALSE
Determines whether the Register as a New User link becomes visible in the login window. The setting of this preference reflects the state of the Enable Register User Option checkbox in the "Server Preferences" window (Abb. 7).
AllowEMailMessages
bool TRUE
Determines whether the Mail Message functionality is available in the "actions" pop-up menu. The settings of this preference reflects the setting of the Enable E-Mail message for Users checkbox in the "Server Preferences" window (Abb. 7).
EnforceCryptedLogin
bool FALSE
With this preference set to TRUE, only encrypted user logins are permitted. For this purpose, Java Script must be active in the web browser. The setting of this preference reflects the state of the Enforce RSA Crypted Passwords checkbox in the "Server Preferences" window (Abb. 7).
The following keys require a new login to take effect:
logdenied
bool FALSE
If set to TRUE, this parameter lets "websharesrv" append a record to the system messages if, due to the IP access list, access to one or more users has been denied.
TcpRecvSize
int 65536 (64 x 1024)
Specifies the maximum number of TCP data bytes that are passed from the clients to "websharesrv" over the network during a transaction. The number of bytes may need to be limited if the buffer size in the UNIX server is too small. TcpRecvSize can be varied to optimize the data transfer rate.
TcpSendSize
int 65536 (64 x 1024)
Specifies the maximum number of TCP data bytes that are passed from "websharesrv" to the clients over the network during a transaction. The number of bytes may need to be limited if the buffer size in the UNIX server is too small. TcpSendSize can be varied to optimize the data transfer rate.

Note: Changed values in TcpRecvSize and TcpSendSize will automatically be assigned to the WebShare WebObjects Server as well, for the next login.

CacheSize
int 30 (in MB)
Specifies the cache size value of the WebShare File Server for preview files. It corresponds to the Cache Size in MB value in the "WebShare Server Preferences" menu.

Note: The default value for CacheSize is 30 (MB), due to the usually limited disk space in "HELIOSDIR/var". If you change the CacheDir preference to another path, it is recommended to set CacheSize to a value of at least 300 (MB).

AllowHostUsers
bool TRUE
Specifies whether users are allowed to log on to the WebShare File Server with their host login name. The setting reflects that of the Enable WebShare for Host Users checkbox in the "WebShare Server Preferences" menu.
AllowVirtualUsers
bool TRUE
Specifies whether users are allowed to log on to the WebShare File Server with their (virtual) WebShare login name. The setting reflects that of the Enable WebShare for Virtual Users checkbox in the "WebShare Server Preferences" menu.
AdminNotify
str ""
Specifies an e-mail address to which a notification is sent as soon as a client with Admin rights logs on to the WebShare File Server. It corresponds to the E-Mail Notification on Admin Login entry in the "WebShare Server Preferences" menu.

Note: Make sure that the complete receiver account is specified, e.g. webshare@meinecompany.com

UserNotify
str ""
Specifies an e-mail address to which a notification is sent as soon as a user logs on to the WebShare File Server. It corresponds to the E-Mail Notification on User Login entry in the "WebShare Server Preferences" menu.

Note: Make sure that the complete receiver account is specified, e.g. webshare@meinecompany.com

AllowAllReadWrite
bool FALSE
If set to TRUE, this preference enables the sharepoint preferences AllRead and AllReadWrite. In that case, the additional options Always Allow Reading and Always Allow Read/Write (see 7.8.2 "Sharepointpräferenzen") will be shown in the "Sharepoint Administration" window.

Important: It may considerably reduce host security to set the AllowAllReadWrite flag to TRUE because if required, host access rights are bypassed, with all user processes changing to "root" processes!

DateFormat
str "dd MMM yyyy kk:mm"
Specifies the format with which the date is displayed in the directory listing of the "Sharepoint" menu. It corresponds to the Directory Listing Date Format entry in the "WebShare Server Preferences" menu. Also, this preference specifies the required syntax for the Expires field in the "User Administration" window. See Datumsformat in 4.1 "Serverpräferenzen".
mail
bool TRUE
Specifies whether e-mail notification is used at all.
SendMailOnActionScript
bool FALSE
If set to TRUE, this preference sends an e-mail, as soon as a WebShare action script is executed, to the address that is specified in the E-Mail on Access field in the "Sharepoint Administration" window. See EmailAccess.
DefaultWindowsEncoding
str "PC850"
Specifies the default encoding method when downloading files on Windows clients. The setting reflects that of the Default Windows Encoding pop-up menu in the "WebShare Server Preferences" menu.
DefaultMacintoshEncoding
str "MacRoman"
Specifies the default encoding method when downloading files on Macintosh clients. The setting reflects that of the Default Macintosh Encoding pop-up menu in the "WebShare Server Preferences" menu.
ShowHiddenFiles
bool FALSE
If set to TRUE, hidden files ("dot files" and files which have been marked as hidden in an EtherShare volume) are displayed in a sharepoint directory listing.
HideSpecialFiles
strlist ""
Specifies file names which should always be hidden in a directory listing.
Previewresolutions
str "36 dpi,72 dpi,96 dpi,
144 dpi,256 pixel,
512 pixel,768 pixel,
1024 pixel"
Specifies the (comma-separated) pixel/resolution values which are available in the "Sharepoint" preview pop-up menu. The "zoom icon" resolution values are fixed, and are not affected by this preference.
LabelNames
strlist "Gray" "Essential"
"Green" "Hot"
"Purple" "In Progress"
"Blue" "Cool"
"Yellow" "Personal"
"Red" "Project 1"
"Orange" "Project 2"
Specifies the name for a label color that has been defined on the WebShare File Server. It corresponds to the Label Name entry in the "WebShare Color Label Preferences" menu. The default values in the left column apply to the "Mac OS X 10.3 color label defaults"; those in the right column apply to "Mac OS 9 color label defaults". Values are specified in a comma-separated stringlist, e.g.:
"First,Second,Third,Forth,Fifth,Sixth,Seventh"
LabelColors
strlist "9E9E9E" "FF6402"
"9BE233" "DD0806"
"ED5FB1" "F20884"
"369EDE" "02ABEA"
"F3E734" "0000D4"
"FF3F4B" "006411"
"FFB634" "562C05"
Specifies the six-hexadecimal digit color code for a label color that has been defined on the WebShare File Server. It corresponds to the Color entry in the "WebShare Color Label Preferences" menu. The default values in the left column apply to the "Mac OS X 10.3 color label defaults"; those in the right column apply to "Mac OS 9 color label defaults". Values are specified in a comma-separated stringlist, e.g.:
"FF3F4B,FFB634,F3E734,9BE233,369EDE,ED5FB1,9E9E9E"
The following keys require a service restart to take effect:
TcpPort
int 2010
Specifies the WebShare File Server port number. Additional TCP ports (up to a total of five) will automatically be allocated as needed by the WebShare File Server.

Important: The value of this preference needs to be identical with the WebShare WebObjects Server preference WSHostPort (6.6 "Präferenzen"). If there should be the need to change a value, then make sure that both preference keys are assigned the same value!

TelnetPort
int 2016
Specifies the "telnet" port number of the WebShare File Server.
sessions
int (see text)
Specifies the maximum number of workstations (clients) that are permitted to work on the WebShare File Server simultaneously. This value should normally be the same as the total number of workstations that are connected to the WebShare File Server, and should be less than or equal to the number of sessions allowed by your software license. The default value for sessions is the number of sessions allowed by your software license.
minuid
int see text
Specifies the lowest number allowed for user IDs. All host users which have a lower user ID than that specified by minuid, and all virtual users running as a host user with a user ID lower than that specified by minuid, are not permitted to log in. The default behavior is that all IDs are allowed.
maxuid
int see text
Specifies the highest number allowed for user IDs. All host users which have a higher user ID than that specified by maxuid, and all virtual users running as a host user with a user ID higher than that specified by maxuid, are not permitted to log in. The default behavior is that all IDs are allowed.
ipaccess
str "ipaccess"
Specifies the file containing the access list with the IP addresses which are permitted to log on to "websharesrv".
CacheDir
str "var/tmp/wscache"
Specifies the directory which contains the preview files on the WebShare File Server. It corresponds to the Cache Directory entry in the "WebShare Server Preferences" menu.

Note: This directory must already exist and have rwx
(read-write-execute) permissions for all.

7.8.2 Sharepointpräferenzen
Key: Programs/websharesrv/Shares/<Sharename>/<key>
The following keys take effect immediately:
Path
str ""
Specifies the sharepoint path. It corresponds to the Sharepoint Path entry in "Sharepoint Administration".
Publish
bool TRUE
Specifies whether a sharepoint is published in the "Home" menu. The setting reflects that of the Publish checkbox in the "Sharepoint Administration" window.
EmailAccess
str ""
Specifies an e-mail address for notification mails on user access and action to the selected sharepoint. It corresponds to the E-Mail on Access entry in the "Sharepoint Administration" window. Make sure that the complete receiver account is specified, e.g. webshare@meinecompany.com
CollectMails
bool TRUE
Specifies whether notification mails, as stated in the EmailAccess preference, are issued after the users' logout, which is the default behavior, or after each file download, deletion or upload action that has been done by a user.
Comments
str ""
Specifies a comment on the selected sharepoint. It corresponds to the Comments entry in the "Sharepoint Administration" window.
AllowPreview
bool TRUE
Specifies whether previews of images in the sharepoint are allowed. The setting reflects that of the Allow Preview checkbox in the "Sharepoint Administration" window.
AllowDownload
bool FALSE
Specifies whether downloading files from the sharepoint is allowed. The setting reflects that of the Allow Download checkbox in the "Sharepoint Administration" window.
AllowUpload
bool FALSE
Specifies whether uploading files to the sharepoint is allowed. The setting reflects that of the Allow Upload checkbox in the "Sharepoint Administration" window.
AllowRename
bool FALSE
Specifies whether renaming files and directories in the sharepoint is allowed. The setting reflects that of the Allow Rename checkbox in the "Sharepoint Administration" window. Setting this preference allows changing permissions, too.
AllowCopy
bool FALSE
Specifies whether copying files to the sharepoint and creating directories is allowed. The setting reflects that of the Allow Copy checkbox in the "Sharepoint Administration" window.
AllowDelete
bool FALSE
Specifies whether deleting files in the sharepoint is allowed. The setting reflects that of the Allow Delete checkbox in the "Sharepoint Administration" window.
AllRead
bool FALSE
Specifies whether file read access in the sharepoint is enabled for all users, irrespective of the UNIX file access settings. Read access includes file download and preview. The setting reflects that of the Always Allow Reading checkbox in the "Sharepoint Administration" window. This preference must first be enabled by the WebShare administration preference key AllowAllReadWrite.
AllReadWrite
bool FALSE
Specifies whether file read/write access in the sharepoint is enabled for all users, irrespective of the UNIX file access settings. Read/write access includes file download, upload and preview. The setting reflects that of the Always Allow Read/Write checkbox in the "Sharepoint Administration" window. This preference must first be enabled by the WebShare administration preference key AllowAllReadWrite.
OnlyLayouts
bool FALSE
If set to TRUE, only layouts of the images in the sharepoint can be downloaded. The setting reflects that of the Download Layouts only checkbox in the "Sharepoint Administration" window. For this preference to be enabled, the WebShare File Server preference AllowDownload must also be TRUE.
Users
strlist ""
Specifies one or more user names for which the sharepoint is available. If no names are specified, the sharepoint is available for all users. It corresponds to entries in Allowed Users in the "Sharepoint Administration" window.
Groups
strlist ""
Specifies one or more group names for whose members the sharepoint is available. If no names are specified, the sharepoint is available for all groups. It corresponds to entries in Allowed Groups in the "Sharepoint Administration" window.
For WebShare, the sharepoint (volume) key is the name of the sharepoint, for example "WebShare Public", whereas for EtherShare and PCShare the volume key is the UNIX directory path, for example "/demovol".
To set up a sharepoint "Mycompany Public", similar to the "WebShare Public" by using "prefvalue", the following prefvalue sequences must be called:
bin/prefvalue -k "Programs/websharesrv/Shares/
Mycompany Public/Path" -t str "/mycompany/public/WebShare"

bin/prefvalue -k "Programs/websharesrv/Shares/
Mycompany Public/AllowDownload" -t bool TRUE

bin/prefvalue -k "Programs/websharesrv/Shares/
Mycompany Public/AllowPreview" -t bool TRUE
By default the Publish flag is on, therefore it need not be specified.

© 2005 HELIOS Software GmbH