Grundlagen

UMS - Universal Message System

UMS(Universal Message System) ist ein flexibles, modular aufgebautes System zur Nutzung verschiedener Netze wie Fido-, Maus-, Z-Netz, Usenet etc. und zur Verfügungstellung weiterer Dienstleistungen wie Mailboxsysteme, NNTP-, POP3-Server, Mailinglisten und vieles mehr.

UMS unterstützt mehrere BenutzerInnen, wobei jede(r) BenutzerIn eigene vom System automatisch überwachte Zugriffsrechte auf die von UMS verwalteten Nachrichten erhält.

Zusätzlich ist UMS selbst netzwerkfähig. Innerhalb eines (lokalen) Netzes auf Basis von TCP/IP oder Envoy kann man direkt mittels Readern und Tools auf die vom System verwalteten Daten zugreifen, ohne dass sie sich auf dem eigenen Rechner befinden müssen. Interessant ist dies vor allem, wenn man das System nicht allein nutzt, sondern mehrere Leute im Haus eine gemeinsame Message-Base nutzen möchten.

Dabei ist das System quasi kostenlos und die zur Entwicklung nötigen Dateien und Dokumentation stehen frei zur Verfügung, so dass man das System mit eigenen Programmierkenntnissen u.a. in den Sprachen Ansi-C, Oberon-2, Modula-2 und Rexx für sich erweitern kann.

Nachteil von UMS ist, dass es aufgrund der Flexibilität auf dem ersten Blick recht umständlich wirkt, so braucht man als einzelne(r) BenutzerIn z.B. die Multiuserfähigkeit nicht und die aktuelle, englischsprachige Dokumentation ist recht spärlich und deutlich verbesserungsbedürftig. Wenn man UMS derzeit nutzen möchte sind Englischkenntnisse sowie gute Kenntnisse übers Amiga-System inklusive der Shell sehr nützlich.

Der UMS-Kern wurde von Martin Horneffer entwickelt. Um diesen Kern herum haben eine ganze Reihe von Leuten Zusätze für UMS entwickelt. Die UMS-Homepage listet derzeit 33 Entwickler auf. Dazu gehören bekannte Programmierer wie Stefan Becker, Kai Bolay, Matthias Scheler, André Schenk, Hartmut Goebel, Klaus Melchior, Stefan Stuntz und Jan Geißler.

So setzt sich das System im einzelnen aus vier Hauptkomponenten zusammen. Der UMS-Message-Base, den Readern, den Im- und Exportern und den Tools.

UMS-Message-Base

Die UMS-Message-Base steht im Zentrum des Systems. Sie verwaltet wie eine Datenbank Nachrichten(Postings, Echo-Mails etc.) und E-Mails (Netmails, persönliche Nachrichten etc.) der verschiedenen Netztechnologien in einer gemeinsamen Datei mit einem gemeinsamen in der "ums-mf.doc" definierten Format. Über die ums.library können Programme auf diese Datenbank zugreifen und damit AnwenderInnen verschiedenste Funktionen zur Verfügung stellen. Ein Reader ermöglicht einem z.B. das komfortable Lesen und Schreiben von Nachrichten und E-Mails.

Reader

Reader bieten in der Regel den Aufbau und die Funktionalität von Point-Programmen bzw. Newsreadern an, nur dass man dank der UMS-Message-Base mit einem Reader alle von UMS unterstützten Netze nutzen kann.

Im-/Exporter

Die Im- und Exporter stellen die Verbindung zwischen der UMS-Message-Base und den verschiedenen Netzen her. Sie wandeln beim Importieren die netzspezifischen Nachrichten-Formate ins Format der UMS-Message-Base um und gehen beim Exportieren den umgekehrten Weg.

So ist ein Im-/Exporter-Paar in der Regel immer netzspezifisch. FidoImport/Export ermöglicht beispielsweise die Nutzung des Fido-Netzes und anderer auf Fido-Technologie basierender Netze mittels des UMS-Systems.

Tools

Unter Tools werden verschiedene Hilfsprogramme zusammengefaßt, die alle über die ums.library auf die UMS-Message-Base zugreifen. Dazu gehören z.B. "TopTen" zur Erstellung einer Statistik über die vorhandenen Nachrichten, "ListManager" zur Verwaltung eigener Mailinglisten, "UMSSalve" zur Rettung einer eventuell beschädigten Message-Base und zahlreiche weitere Tools.

Wo ist UMS zu finden?

WWW: http://home.pages.de/~UMS/
Hier kann man u.a. grundlegende Informationen zu UMS, die UMS-FAQ und Links zu den Homepages der EntwicklerInnen und damit von einzelnen UMS-Komponenten finden.

Aminet: /comm/ums
Dieses Verzeichnis enthält alle gängige Software fürs UMS-System. Auf den einzelnen Home-Pages lassen sich allerdings teilweilse Alpha- und Beta-Versionen neueren Datums finden.

Netze
Zur Diskussion über UMS und dem Stellen von Fragen stehen im Fido-Netz die "UMS.GER", im Usenet "de.comm.software.ums" , wobei diese beiden Gruppen kreuzvernetzt sind und im Maus-Netz "MT.UMS" zur Verfügung.

Mit "UMS-Intl" gibt es darüberhinaus eine englischsprachige Mailingliste. Diese kann durch schicken einer E-Mail an "request@sandra.owl.de" mit

      ADD Ums-Intl "Vorname Nachname" e@mail.addresse
      HELP
      QUIT
        
bestellt werden. Bei Fragen zu dieser Liste kann man sich an "postmaster@sandra.owl.dequot; wenden.

Die UMS-Dokumentation

Die derzeitige Dokumentation ist leider recht spärlich. Das meiner Meinung nach wichtigste Dokument ist die UMS-FAQ. Diese kann man im Aminet unter comm/ums/UMSFAQ1_00g.lha und im WWW unter http://www.biba.uni-bremen.de/users/olf/ums/faq/main.html finden. Sie gibt einen guten Überblick über das UMS-System und dessen einzelnen Komponenten und enthält verschiedene Fragen und Antworten, die einem bei auftretenen Problemen tatkräftig unter die Arme greifen.

Das aktuelle UMS-Grundpacket(Aminet:comm/ums/UMS11_6_beta.lha) selbst enthält, in UMS/Doc/englisch, folgende englischsprachigen Dokumente:

login.txt
UMS unterstützt mehrere UMS-Server(Message-Bases) auf einem Rechner. Wie man dies nutzen kann ist hier beschrieben.

vars.txt
Beschreibt die Verwendung von Referenzen in der UMS-Konfigurationsdatei.

server-strings.txt
Ein wichtiger Bestandteil der UMS-Konfigurationsdatei ist der Name des eigenen Servers. Wie er aufgebaut ist, ist hier beschrieben.

options.txt
Options beschreibt die möglichen Einstellung der Konfigurationsvarible "options". Hier kann man z.B. einstellen, ob beim Erhalten von neuen Mails und Nachrichten automatisch ein Shell-Script gestartet werden soll.

ums.config.sample, ums.config.FTN.sample
Sind zwei Beispielkonfigurationen, die einem bei der Einrichtung des eigenen Systems helfen.

files.txt
Das UMS-System bietet derzeit eine rudimentäre Unterstützung für das Anhängen von Dateien. Die dazu nötigen Befehle COPYCOMMAND, DELCOMMAND sind hier beschrieben. Insbesonders wenn man mit dem Internet arbeitet empfiehlt es sich aber beispielsweise den UMS-Reader "PINT" zu verwenden, der sehr komfortabel den MIME-Standard unterstützt.

ServerControl.doc
Mit dem Tool "ServerControl" läßt sich u.a. eine UMS-Message-Base aufräumen, sprich alle nicht mehr benötigten Nachrichten werden entfernt. Die Aufrufparameter des Tools sind hier beschrieben.

RexxUMS.doc
UMS läßt sich u.a. mit ARexx programmieren. In diesem sehr knappen Text ist die UMS-ARexx-Schnittstelle beschrieben.

import.man, export.man
import und export sind zwei Tools, um Nachrichten aus der UMS-MB zu ex- und importieren. Hiermit lassen sich z.B. bestimmte Nachrichten in ein anderes UMS-System überführen oder ein inkrementelles Backup durchführen.

UMS/Developer/doc/ums.doc
Auch für AnwenderInnen praktisch ist die erste Hälfte der Entwicklerdokumentation, in der man noch das eine oder andere nützliche Detail zum System erfahren kann.

Im alten UMS-Archiv "User.LHA" gibt's mit "User/doc/ums-cfg.doc" eine wichtige Datei, die etwas über den Aufbau der UMS-Konfigurationsdatei und den Parametern des UMS-Servers verrät. Außerdem ist hier "User/doc/ums-mf.doc" zu finden, in dem das UMS-Nachrichtenformat beschrieben ist.

Nützlich ist noch das Archiv Aminet:comm/ums/UMSstyleguide.lha. Dieser englischsprachige Guide richtet sich zwar vornehmlich an EntwicklerInnen, aber die eine oder Interessante Information enthält er auch für AnwenderInnen. Zum Beispiel enthält der Styleguide eine Beschreibung der UMS-Verzeichnisstruktur.

Was benötigt man zur Installation?

Für die hier beschriebene Installation benötigt man allgemeine Grundkenntnisse zum Amiga, zur Workbench und zur Shell.

Das UMS-System selbst läuft ab OS 2.04 mit einem 68000er und 2MB RAM, wobei diese Speichergröße in der Kombination von UMS + MUI + Lieblingseditor + eventuell zusätzlich innerhalb des Multitaskings laufenden Programmen recht knapp bemessen ist. Ich selbst bin mit 3MB RAM auf einem A500 als geduldiger Mensch recht lange gut ausgekommen. Mehr Speicher und ein schnellerer Rechner sind jedoch sehr empfehlenswert. Auf der Festplatte sollten mindestens 10MB frei sein, wobei die hier beschriebene UMS-Konfiguration ca. 4MB braucht. Mit MUI und den dann empfangenen Nachrichten wird das aber schnell mehr und Platz für ein regelmäßiges Backup sollte auch noch vorhanden sein.

Anzumerken ist noch, dass das Systems relativ hohe Anforderungen ans Dateisystem stellt, die nicht von allen Dateisystemen erfüllt werden. Dabei gibt es mit dem FFS des AmigaOS wohl keine Probleme. Trotzdem und auch wenn das UMS-System selbst sehr stabil läuft sind regelmäßige Backups der Message-Base empfehlenswert.

Da in der Zeit des Internets insbesonders die Protokolle POP3, SMTP, NNTP und UUCP interessant sind ist hier eine Installation von UMS + UMSRFC beschrieben. Das UMSRFC-Packet unterstützt die Protokolle als Client und Server. Zur Nutzung von POP3, SMTP und NNTP ist dabei ein TCP/IP-Stack nötigt während fÜr UUCP das UMS-System + UMSRFC + 1 Provider, der UUCP anbietet, reicht.

Zusätzlich sollte das eigene Amiga-System so konfiguriert sein, dass ARexx(System/RexxMast) läuft, da das UMRFC-Installerskript ARexx vorraussetzt.

Fehlt noch MUI und die passenden UMS-Archive, wobei SUMSTools2_11.lha und SetFolder1_3.lha optional sind.

UMS11_6_beta.lha, UMS11_8_update.lha
Das UMS-Grundpacket inklusive Update. Vom Beta-Status sollte man sich nicht verwirren lassen. Das System läuft sehr stabil. Enthalten sind in UMS11_6_beta.lha die aktuellen Dateien des UMS-Kerns für AnwenderInnen und EntwicklerInnen.

IntuiNews1_4a.lha, pint.lha
IntuiNews und PINT sind zwei Reader für UMS. IntuiNews läuft ab OS 2.04 und benötigt nur das MUI-Grundpaket. PINT läuft ab OS 3.0 und benötigt neben MUI noch MCC_NList(Aminet:dev/mui/ MCC_NList0_89.lha) und MCC_Mailtext(Aminet:dev/mui/MCC_Mailtext.lha). Ist jedoch komfortabler als IntuiNews und unterstützt u.a. MIME. Ich benutze in diesen Text IntuiNews, weil's ab OS 2.04 läuft und man keine weiteren Klassen benötigt, was die erste Installation vereinfacht. Später empfiehlt es sich auf einen anderen, aktuelleren Reader zu wechseln, da IntuiNews nicht mehr weiterentwickelt wird.

umsrfc1_0.lha
Das UMS-RFC Packet für SMTP, POP3, NNTP und UUCP.

SetExpire1_2.lha
Dient zusammen mit ServerControl zum Aufräumen der Message-Base, indem es E-Mails und öffentliche Nachrichten als verfallen kennzeichnet. Der Aufruf "ServerControl CLEANUP" entfernt diese gekennzeichneten Nachrichten dann aus der Message-Base.

SUMSTools2_11.lha
Die SUMSTools sind in vielen Fällen eine unentbehrliche Hilfe. Hiermit kann man bestimmte Reperaturen an der Message-Base durchführen(siehe UMS-FAQ) und leicht Nachrichten automatisch bearbeiten, z.B. das Posting der neuesten Aminet-Uploads aus de.comp.sys.amiga.archive auslesen und dann mit einen entsprechende Tool zur Bearbeitung übergeben.

SetFolder1_3.lha
SetFolder ist sehr nützlich, wenn man Mailinglisten abonniert hat oder viele E-Mails pro Tag bekommt. Über sehr flexible Konfigurationsmöglichkeiten lassen sich hiermit E-Mails in einzelne Folder verteilen, wodurch das Mail-Verzeichnis deutlich an Übersicht gewinnt.

Aminet:util/libs/mui38usr.lha
MUI wird von IntuiNews, PINT, UMSConfig und anderen Programmen benötigt.

Installation

Ein sehr wichtiger Punkt bei der Installation ist der Name des eigenen UMS-Systems. Dieser wird zu Erzeugung der Message-ID von E-Mails und öffentlichen Nachrichten benutzt und diese Message-ID muß für jede E-Mail und jede Nachricht weltweit eindeutig sein. Im Idealfall benutzt man daher als Systemnamen eine eigene Domain, die Domain des eigenen UUCP-Systems oder die eigene Fido-Point Adresse. Falls man hiermit nicht dienen kann, kann der Systemname und die Message-ID aus der eigenen E-Mail hergeleitet werden. Man braucht also entweder:

a) Eine eigene Domain : "meine.do.main"
b) Einen eigenen UUCP-Zugang : "MeinUUCP-System.provider.domain
c) Eine eigene Fido-Point Adresse : 2:2471/1216.3
d) Eine eigene E-Mail Adresse : user@provider.domain

Im Fall von a) und b) gibt man später bei der Frage des Systemnamens diese eigene, eindeutige Domain an.

Im Fall von c) leitet man aus der Fido-Point-Adresse den Systemnamen her. Eine Fido-Adresse setzt sich aus mehreren Teilen wie Zone, Pointnummer usw. zusammen.

    2:2471/1216.3
    - ---- ---- -
    | |    |    |
    z n    f    p
  
Diese Adresse kann dann durch umstellen und anhängen von "fidonet.org" problemlos in eine eindeutige Domain umgewandelt werden.
    p#.f#.n#.z#.fidonet.org
  
Für das Nummern-Zeichen "#" wird jeweils die entsprechende Zahl aus der Fido-Adresse angegeben aus:
   2:2471/1216.3 wird somit p3.f1216.n2471.z2.fidonet.org
  
Im Fall von d), der eigenen E-Mail Adresse, gibt man als Systemnamen zunächst den Teil hinter dem "@" an. Also bei "user@provider.domain" nur "provider.domain" und führt die Installation dann komplett durch. Danach MUß unbedingt noch in der UMS-Konfigurationsdatei "ums.config" der Eintrag "MsgId" und "Aka" selbst gesetzt werden. "MsgId" benutzt UMS um eindeutige Message-IDs zu erzeugen und ohne das Setzen diesen Eintrags würde man FALSCHE Message-IDs erzeugen. "Aka" dient u.a. zur Erkennung, ob E-Mails ihr Ziel erreicht haben. Zum Setzen dieser Einträgre wird die Datei "ums.config", die in diesen Fall in DH1:UMS/mb/ums.config" zu finden sein wird. In einen ASCII-Editor geladen.
    ( SysName "provider.domain" )

    ( LogFile "DH1:DoTest/UMS/ums.log" )

    ( Sysop
      ( Name "Sven Drieling" )
    [...]
  
Hinter der ersten Zeile mit '( SysName "provider.domain" )' werden die Zeilen
    ( MsgId $serial "%user@" $sysname )
    ( Aka
       "(%|#?'%)(user)@provider.domain\n"
       "%"
    )
  
eingefügt. Wobei "user" der eigene E-Mail Username vordem "@" ist und "provider.domain" der Teil hinter dem "@. In meinem Fall bei der E-Mail Adresse "indy@welome.north.de" also "indy" für "user" und "welcome.north.de" für "provider.domain".
    ( SysName "welcome.north.de" )
    ( MsgId $serial "%indy@" $sysname )
    ( Aka
        "(%|#?'%)(indy)@welcome.north.de\n"
        "%"
    )

    ( LogFile "DH1:DoTest/UMS/ums.log" )

    ( Sysop
      ( Name "Sven Drieling" )
    [...]
  
Dies stellt eindeutige Message-IDs sicher. Es ist aber NUR und NUR im Fall d) wenn nur eine eigene E-Mail Adresse und keine eigene Domain vorliegt nötigt. Sonst immer die Default-Einstellung von UMS für diese MsgID übernehmen! Das UMSRFC-Paket stellt dies zwar auch automatisch sicher aber so funktioniert das Ganze auch vollkommen unproblematisch und sicher, wenn man z.B. über eine Z-Netz Mailbox E-Mails und Nachrichten verschickt. Wenn sich die eigene E-Mail durch wechseln des Providers oder der Mailbox ändert, dann muß man darauf achten auch wieder per Hand die Einträge "SysName", "MsgId" und "Aka" in der "ums.config" entsprechend anzupassen.

Zur eigentlichen Installation. UMS besitzt eine festgelegte Verzeichnisstruktur, diese ist in Aminet:comm/ums/UMSstyleguide.lha detailliert beschrieben. Zur Installation muß man aber nur wissen, dass sich alle UMS-Archive direkt in dieses Verzeichnis entpacken lassen müssen. So fangen die Verzeichnisses eines UMS-Archivs immer mit UMS/... an.

    Beispiel: lha v umsrfc1_0.lha

       18432   11247 38.9% 06-Jun-93 22:49:16  UMS/Bin/compress
       22596   13940 38.3% 09-Jun-93 00:31:52  UMS/Bin/freeze
       52536   29797 43.2% 03-Oct-93 13:53:30  UMS/Bin/gzip
        6940    4632 33.2% 20-Feb-99 18:29:04  UMS/Bin/setnntpdate
       75984   39146 48.4% 11-Sep-95 03:49:00  UMS/Bin/telser
       23072   13956 39.5% 20-Feb-99 18:28:24  UMS/Bin/ums2uucp
       [...]
  
Dadurch vereinfacht sich insbesonders die erste Installation, da man alle Archive im ersten Schritt nur in das gewünschte Verzeichnis entpacken braucht.

Somit besteht der erste Installationsschritt darin UMS11_6_beta.lha und UMS11_8_update.lha, in dieser Reihenfolge, ins gewünschte Verzeichnis zu entpacken.

     lha e UMS11_6_beta.lha   DH1:DoTest/
     lha e UMS11_8_update.lha DH1:DoTest/
  
Als nächstes startet man das Installer-Skript(hier in DH1:DoTest/UMS/).

Ich habe bei der Installation den Expertenmodus gewählt, weil ich zusätzliche Libraries immer in ein eigenes Verzeichnis(DH1:Libs-add) lege, damit ich für Testzwecke das System auch ohne Extrapartition wieder leicht in einen Originalzustand zurückversetzen kann.

Das Installer-Skript fragt zunächst nach einem Verzeichnis fürs UMS-System. Da es schon im gewünschten Verzeichnis liegt, wird einfach "Proceed" angewählt.

Als als nächstes fragt das Skript, ob das UMS-System auf den eigenen Rechner laufen soll. Dies wird wiederum mit "Proceed" bejaht. Die nächste Frage, ob das System über ein Netzwerk auch anderen Rechnern zur Verfügung stehen soll, wird der Einfachheit halber erstmal verneint.

Danach erfolgen bekannte Abfragen zur Installation von Libraries.

Ein wichtiger Punkt ist dann der Platz für die Message-Base. Sinnvoll ist hier eine eigene Partition, die einmal relativ klein ist(z.B. 20-100MB) damit man sie leicht Defragmentieren kann und zum anderen eine größere Blockgröße als die standardmäßigen 512 Bytes besitzt (siehe HDInstall), womit das UMS-System teilweise deutlich schneller agiert(siehe auch UMS-FAQ). Ich habe hier aber erstmal nur "DH1:DoTest/UMS/mb/" gewählt.

Bei "Now configure enviroment variable" wird "ENVARC:UMSMB.default" und "ENV:UMSMB.default" in diesem Fall auf "DH1:DoTest/UMS/mb/" gesetzt. Über die UMSMB.#? Umgebungsvariablen ermöglicht das System die Nutzung verschiedener Message-Bases auf einen Rechner. In der Regel braucht man aber nur diese eine.

Darauf erfolgt die Abfrage des eigenen vollen Namens und eines Login-Namens inklusive Paßwort. Die letzteren beiden sind speziell fürs UMS-System gedacht. Mit den Login beim Provider, der Mailbox u.ä. haben diese nichts zu tun. Danach erfolgt die Angabe des eigenen Systemnamens wie zu Anfang dieses Abschnitts beschrieben.

Als letztes kommt noch die Frage, ob der DOS-Pfad um die nötigen Einträge für UMS ergänzt werden soll. Was man unbedingt mit "Ja" beantworten sollte, dann gibt's später keine Probleme beim Aufruf von UMS-Programmen. Damit dieser Pfad gesetzt wird bootet man den Rechner am besten nach erfolgreichen Ablauf des Skripts.

Falls man den Systemnamen aus der eigenen E-Mail abgeleitet hat dann wird jetzt durch editieren der Datei "DH1:DoTest/UMS/mb/ums.config", wie zu Anfang des Abschnitts beschrieben, der korrekte Eintrag für "MsgId" und "Aka" eingefügt!

Damit wär das Grundsystem erstmal installiert. Wenn man nun UMS benutzt, muß man nur noch darauf achten, dass der Stack immer mindestens eine Größe von 50 000 Bytes hat. Ansonsten kann es zu Problemen kommen. Am besten setzt man den Stack schon in der S:User-Startup Sequenz entsprechend hoch.

Bevor man den Rechner abschaltet sollte man sich zudem angewöhnen immer noch etwas zu warten. Das UMS-System hält möglichst viele Daten im Speicher und aktualisiert, bei Änderungen, die Daten auf der Festplatte mit einer einstellbaren Verzögerung. So kann es sein, dass man zwar alle Programme schon beendet hat. UMS aber noch etwas auf die Festplatte schreiben muß. Falls man hier dazwischen funkt kann dies die Message-Base zerstören!

Um jetzt ein wenig was sehen zu können, wird als nächstes IntuiNews entpackt.

Der Reader

    lha e IntuiNews1_4a.lha DH1:DoTest/
  
Als erstes Erfolgserlebnis kann dann IntuiNews gestartet werden. Dazu aktiviert man in der Workbench "Inhalt anzeigen/Alle Dateien" und klickt sich dann zum IntuiNews-Icon in "DH1:DoTest/UMS/Bin/" bzw. dem entsprechenden eigenen Verzeichnis durch. IntuiNews öffnet als erstes das Login-Fenster indem man den eigenen Login-Namen und das Paßwort eingibt. Der Server steht schon auf "default".

Name : indy
Password : test
Server : default

Falls alles geklappt hat öffnet sich auf der Workbench das Hauptfenster von IntuiNews und das UMS-System selbst gibt in einen eigenen Fenster die Meldung

    20-Apr-99  17:27:29  1> message-base is empty
    Welcome to the wonderful world of UMS!
    A new universal message-base will be created.
  
aus. Wenn man sich nicht bei jedem Start von Hand neu einloggen möchte, kann man im Icon auch die Tooltypes NAME, PASSWORD und SERVER auf diese Werte setzen.

Bevor man sich ein wenig mit der Benutzung von IntuiNews vertraut macht(Anleitung in UMS/docs/deutsch). Kann man zunächst noch die Kataloge von IntuiNews und ConfUMS nach Locale: kopieren

    COPY DH1:DoTest/UMS/Locale/Catalogs/deutsch/#? Locale:Catalogs/deutsch/
  
und IntuiNews ein wenig konfigurieren. Die Konfigurationen für alle UMS-Programme und Tools verwaltet das System in der Datei "ums.config" der jeweiligen Message-Base. Diese Datei liegt in diesen Fall in "DH1:DoTest/UMS/mb". Editieren kann man sie mit einem ASCII-Editor oder dem recht einfachen Programm "UMS/Bin/ConfUMS". Da sich der Komfort von ConfUMS IMHO in Grenzen hält beschreibe ich hier die Konfiguration mit dem ASCII-Editor. Als nächstes wird also die Datei "DH1:DoTest/UMS/mb/ums.config" in den ASCII-Editor geladen.
    ( SysName "welcome.north.de" )

    ( LogFile "DH1:DoTest/UMS/ums.log" )

    ( Sysop
      ( Name "Sven Drieling" )
      ( Alias
          "indy"
          "sysop"
          "root"
          "postmaster"
      )
      ( Password "test" )
      ( ReadAccess "#?" )
      ( WriteAccess "#?" )
      ( NetAccess "#?" )
    )
  
Im Augenblick macht sie noch einen sehr aufgeräumten Eindruck, nach der Installation von UMS-RFC wird sich dies ändern. Die Konfiguration unterscheidet zwischen globalen Variablen und Variablen für einen speziellen User bzw. Im- und Exporter. Der User "Sysop", in diesem Fall man selbst, hat den weitgehensten Zugriff aufs UMS-System.

Als erstes sollte man den Editor zum Schreiben sowie den Pfad des Adreßbuchs setzen. Alle IntuiNews spezifischen Einträge in der Datei beginnen mit "IntuiNews.". Für den Editor und das Adreßbuch gibt's die Variablen

     IntuiNews.Book
     IntuiNews.Editor
     IntuiNews.Stack    (Stackgröße mit dem der Editor aufgerufen wird,
                         Default: 16 384)
  
IntuiNews.Editor kann für den CED auf "ED -sticky" oder wie in meinen Fall für den Oed auf "Oberon:oed" gesetzt werden. Vermutlich sollte die Stackgröße auch höher eingestellt werden. Fürs Adreßbuch wird einfach der Pfad angegeben. In "UMS/Reader/IntuiNews/IntuiNews.Addresses" liegt schon ein kurzes Adreßbuch.
    ( Sysop
      ( Name "Sven Drieling" )
      [...]

      (IntuiNews.Editor "Oberon:Oed")
      (IntuiNews.Stack  "100000")
      (IntuiNews.Book   "DH1:DoTest/UMS/Reader/IntuiNews/IntuiNews.Addresses")

      [...]
    )
  
Man kann nun mal versuchen über "Mail" zum Schreiben einer E-Mail und "Post" zum Schreiben einer öffentlichen Nachricht etwas zu schreiben. Über "Editieren" wird dann der eingetragene Editor gestartet. Beim Anklicken von "Senden" erscheint aber "Kann Nachricht nicht versenden: no one will read your msg" das liegt einfach gesagt daran, dass noch kein Exporter installiert wurde.

UMSRFC

Wie schon bekannt wird erstmal das Archiv entpackt.
    lha e umsrfc1_0.lha DH1:DoTest/
  
Mit UMSRFC lassen sich die Dienste SMTP(verschicken von E-Mails), POP3(empfangen von E-Mails), NNTP(lesen und schreiben von öffentlichen Usenet-Nachrichten und UUCP(E-Mail und Usenet per Polling) nutzen.

Falls der eigene Provider es anbietet, empfiehlt es sich, UUCP zu verwenden, da diese Variante die Telefonkosten am niedrigsten hält. Da das UMSRFC-Installer-Skript es nicht erlaubt, Komponenten einzeln zu installieren, überlegt man sich am besten zunächst mal, welche Protokolle man benutzen möchte und besorgt sich die nötigen Informationen von der Web-Seite des Providers oder direkt beim Provider. Später kann man dann per Hand oder Neuinstallation dann auch weitere Protokolle hinzufügen, wenn man z.B. erstmal auf UUCP verzichtet hat.

Das UMSRFC-Installer-Skript erzwingt, dass zumindest UUCP und/oder POP3 installiert wird und stellt damit eindeutige Message-IDs sicher. Falls man also versucht, nur SMTP oder NNTP zu installieren, bricht das Skript selbständig die Installation ab.

Für die einzelnen Protokolle benötigt man folgenden Informationen, wobei der SMTP-, POP3- und NNTP-Server oft identisch ist.

SMTP

POP3

NNTP

UUCP

Hier sollte man auch fragen, ob das System in den weltweiten MAPS registriert ist. Falls man sich nicht sicher ist, gibt man bei der Installation später einfach "nein" an.

Dann sollte man noch klären ob Mails/News gebatcht(zu Paketen zusammengestellt) werden können, wie groß diese Packete maximal sein dürfen und welche Kompressionsmethoden möglich sind. UMSRFC unterstützt an Kompressionsmethoden: Keine, compress, freeze, gzip("! gunbatch" header) und gzip ("! zunbatch" header)

Als letztes benötigt man noch die Information, wie man Newsgroups bestellen und abbestellen kann. In der Regel gibt's hierfür einen Roboter, den man entsprechende E-Mails zusendet.

Das UMSRFC-Installer-Skript liegt in UMS/Install/Deutsch/. Zur Ausführung des Skripts muß ARexx(System/RexxMast) laufen.

Zunächst wird nachdem Sysop-Account, also dem eigenen UMS-Login-Namen, plus Paßwort gefragt. Das Skript benötigt diese Angaben, um Ergänzungen an der ums.config vornehmen zu können. Die Frage nach der Schublade beantwortet man wie bekannt mit "Weiter" und dann wählt man die gewünschten Protokolle aus. Was dann folgt, ist abhängig von den gewählten Protokollen. Da man sich vorweg aber schon die benötigten Informationen geholt hat, sollte es keine Probleme bereiten, die entsprechenden Felder auszufüllen.

Bei der Fragen, ob für Mails/News "Quoted Printable" benutzt werden soll, sollte man "Ja" angeben. Dies stellt sicher, dass Umlaute problemlos per MIME übertragen werden.

Im Fall der UUCP-Installation gibt's zusätzlich folgende zwei Fragen.

Die Frage nach "Newsfeed Mail-Envelopes" kann man wohl getrost mit "Nein" beantworten es sei denn, man hat Dillons-UUCP installiert.

Ob Dupes einsortiert werden oder gelöscht werden sollen ist Geschmackssache. In der Regel sind als Dupes erkannte Nachrichten wirklich doppelt empfangen Nachrichten und damit redundant oder der Fehler liegt beim Sender der Nachrichten. Weshalb sich "Nein" als Antwort empfiehlt.

Wenn alles erfolgreich lief dann sollte das Installer-Skript u.a. in UMS/Bin die DOS-Skripts IPCall(SMTP, POP3, NNTP) und/oder UUCPCALL(UUCP) generiert haben.

Danach sollte man noch mit "setnntpdate" das aktuelle Datum bzw. das des vorigen Tages einstellen, weil sonst beim ersten IPCall und installierten NNTP alle auf dem NTTP-Server liegenden Postings der gewünschten Newsgroups gelesen werden, was sehr viel sein kann.

   setnntpdate NNTP "" DATE "23 Apr 1999 01:30:00"
  
Wenn man sich nun "ums.config" ansieht erkennt man eine ganze Reihe neuer Einträge. Dies sind ein Exporter für SMTP, POP3, NNTP, SMTPD, POP3D und NNTPD und einer für UUCP(uucp.default). Natürlich ahängig davon welche Protokolle man für UMSRFC gewählt hat. Von den Server(Dämon)-Varianten SMTPD, POP3D und NNTPD braucht man sich übrigens nicht beeindrucken lassen. Solange man sie nicht in der TCP/IP Konfiguration, siehe Anleitung des TCP/IP-Stacks und von UMSRFC, aktiviert tun die nichts.

Hinzu kommen eine Reihe von Einträgen am Anfang der Konfiguration

    ( MsgId $serial "@" $sysname )
    ( Options  )
    ( Aka
        "#?@welcome.north.de\n"
        "(%|#?'%)(indy)@olis.north.de\n"
        "%"
    )
    [...]
    ( CopyCommand "S:umscopy" )
    ( DelCommand "S:umsdelete" )
  
Mit dem meisten hat UMSRFC nichts zu tun, verschiedene Default-Werte wurden nun automatisch von UMS in die Datei geschrieben. Wichtig ist der "Aka-Eintrag". Jede einkommende E-Mail wird mit dem hier aufgelisteten Mustern verglichen und nur, wenn die E-Mail paßt, auch erfolgreich empfangen.

Aus welchen Newsgroups man via NNTP Nachrichten enthält steht in der Konfigurationsvariablen "nntpget.groups".

    ( Exporter
        ( Alias
            SMTP
            POP3
            [...]
        )
        ( nntpget.groups
            "de.comm.software.ums\n"
            "de.comp.sys.amiga.#?\n"
            "de.newusers.#?"
        )
    )
  
Wie man sieht sind hier auch Amiga-DOS-Pattern erlaubt. Was in meinem Fall allerdings nicht geklappt hatte, so dass ich die Angaben ganz ausgefüllt habe.
    ( nntpget.groups
        "de.comm.software.ums\n"
        "de.comp.sys.amiga.advocacy\n"
        "de.comp.sys.amiga.archive\n"
        "de.comp.sys.amiga.comm\n"
        "de.comp.sys.amiga.misc\n"
        "de.comp.sys.amiga.tech\n"
        "de.comp.sys.amiga.unix\n"
        "de.newusers.infos\n"
        "de.newusers.questions"
    )
  
Leider bietet UMSRFC keine Möglichkeit, sich die erhältlichen Newsgroups anzeigen zu lassen. Welche zur Verfügung stehen, muß man also etwas beim Provider erfragen oder man muß auf die entsprechende Funktion eines anderen Newsreaders wie MNews, FFNews, NewRog zurückgreifen.

Wie nutzt man UMSRFC nun? Ganz einfach zum Austausch von Nachrichten via UUCP ruft man das generierte UMS/Bin/UUCPCall DOS-Skript auf und zur Nutzung von SMTP, POP3 und NNTP das generierte UMS/bin/IPCall Skript. Testweise kann man nun ja mal eine E-Mail an einen Freund schicken und eine öffentliche Nachricht in eine Test-Newsgroup z.B. "de.test" oder besser eine lokale des eigenen Providers.

In dem IP-Skript haben die einzelnen Programme folgende Aufgaben:

umssmtp - Versenden von E-Mail via SMTP
umsnntp - Versenden von Usenet-Postings via NNTP
umsnntpget - Empfangen von Usenet-Postings via NNTP
umspop3 - Empfangen von E-Mail via POP3

Falls man nur NNTP/ SMTP und POP3 gewählt hat kommt die Zeile

    SetUMSConfig.rexx "rfc.default" "" "rfc.privatehost" `hostname`
  
hinzu. Da bei "SetUMSConfig.rexx" das Skript-Flag nicht gesetzt ist muß man dies noch selbst nachholen.
    PROTECT DH1:DoTest/UMS/rexx/SetUMSConfig.rexx +S
  
Wenn man später einen installierten Internet-Dienst nicht mehr nutzen möchte, reicht es, ihn einfach aus dem IPCall-Skript zu entfernen. Die Einstellungen der "ums.config" kann man stehen lassen. Falls man "umsnntp" entfernt und kein UUCP hat, sollte man sich aber im Klaren sein, dass man keine Postings mehr verschicken kann, obwohl das System weiterhin das Schreiben erlaubt.

In dem UUCPCALL-Skript haben die einzelnen Programme folgende Aufgaben:

ums2uucp - Exportiert die selbst geschriebenen E-Mails und Nachrichten ins Spool-Verzeichnis(UUSPOOL:)
uucico - Wählt sich beim Provider ein, verschickt die eigenen Nachrichten, empfängt die neuen und sortiert sie durch Aufruf von "uuxqt" in die Message-Base ein.

Wenn man sich dann im Reader die anzeigten Groups ansieht wird einen in der Regel auffallen, dass mehr Gruppen angezeigt werden als man bestellt hat.

    allgaeu.flohmarkt
    de.comm.software.ums
    de.comp.sys.amiga.misc
    de.comp.sys.amiga.tech
    de.markt.comp.hardware
    namib.test
    z-netz.rechner.amiga.hardware
    z-netz.rechner.amiga.software
  
Dies entsteht durch Cross-Postings. Ein Cross-Posting wird in mehreren Newsgroups veröffentlicht. Dabei wird die Nachricht allerdings nur einmal vom Server gelesen. Im Nachrichtenkopf sind jedoch alle Gruppen aufgelistet in dem das Posting gepostet worden ist.
    Newsgroups: z-netz.rechner.amiga.hardware,z-netz.rechner.amiga.software,
                de.comp.sys.amiga.misc,de.comp.sys.amiga.tech
  
Und diese zeigt das UMS-System alle an. Im Reader läßt sich diese Anzeige über die Variable "IntuiNews.Groups" unterdrücken und man kann hier auch festlegen in welcher Reihenfolge die Gruppen angezeigt werden sollen. "mail" sind dabei die E-Mails. Über das Menü "Einstellungen/Gruppenfilter aktiv" kann man dieses Filter an und ausschalten.
    ( IntuiNews.Groups
        "de.comm.software.ums\n"
        "de.comp.sys.amiga.advocacy\n"
        "de.comp.sys.amiga.archive\n"
        "de.comp.sys.amiga.comm\n"
        "de.comp.sys.amiga.misc\n"
        "de.comp.sys.amiga.tech\n"
        "de.comp.sys.amiga.unix\n"
        "de.newusers.#?"
    )
  

Aufräumen der Message-Base

Mit dem Importieren und Schreiben von E-Mails und öffentlichen Nachrichten nimmt die Anzahl der Nachrichten und die Größe der Message-Base, inbesonders von "UMS/mb/.text", immer mehr zu, so dass ein regelmäßiges Aufräumen der Message-Base nötig ist. Dies geschieht mit
    ServerControl QUIT
    ServerControl CLEANUP
  
Hiermit werden alle gelöschten und als verfallen(Expired) gekennzeichneten E-Mails und Nachrichten aus der Message-Base entfernt.

Diese Kennzeichnung kann per Hand im Reader erfolgen oder komfortabel mit "SetExpire". Zur Installation wird das Paket zunächst entpackt:

    lha e SetExpire1_2.lha DH1:DoTest/
  
Und in der "ums.config" fügt unter im globalen Bereich also z.B. unter "( DelCommand "S:umsdelete" )" und nicht bei einem User folgende zwei Zeilen ein:
    ( SetExpire.News   "#? days  4\n")
    ( SetExpire.Mails  "#? days  10950\n")
  
Dies bewirkt, dass alle öffentlichen Nachrichten, die gelesen, exportiert, nicht archiviert und älter als 4 Tage sind, mit dem Verfallen(Expired)-Flag gekennzeichnet werden.

Für E-Mails gilt gleiches mit einen Zeitraum von 10950 Tagen(~ 30 Jahren). Gelöscht werden sie also quasi nur, wenn man sie im Reader per Hand löscht. Mit dem langen Zeitraum wird hier, per Hack, sichergestellt, dass E-Mails nicht ungewünscht gelöscht werden. Der in der SetExpire angegebene Wert von 36500 Tagen, scheint mit der Version 1.2 von SetExpire nicht zu funktionieren. Aufgerufen wird SetExpire mit dem Sysop-Acount.

    SetExpire <Login> <Passwort> z.B. SetExpire indy test
  
Im nächsten Abschnitt, ist ein entsprechendes DOS-Skript zu finden.

Die Anzahl der Tage kann man natürlich nach Belieben einstellen und SetExpire bietet noch endliche zusätzliche Möglichkeiten, u.a. läßt sich das Datum gezielt für bestimmte Gruppen auf bestimmte Werte einstellen.

Skripts zum täglichen Umgang

Für den täglichen Umgang sollte man sich noch ein paar DOS-Skripts schreiben, die man dann nach UMS/Bin mit gesetzten S-Flag (PROTECT +s <Dateiname) kopiert. Wenn man sich aufs UMS-Verzeichnis ein UMS:-Assign setzt und die Skripts noch mit der Möglichkeit zur Übergabe von Parametern(siehe DOS-Handbuch "Dot-Commands") ausstattet wird das Ganze flexibler.

QuitUMS

  ; Nachdem der UMS-Server einmal gestartet wurde läuft er immer weiter.
  ; Um ungewünschte Zerstörungen der Message-Base durch Beeinflussungen
  ; von außerhalb nach Schließen des Newsreaders zu vermeiden,
  ; empfiehlt sich das Herunterfahren des Servers mit diesem Befehl.

  ServerControl QUIT
  
CleanUpUMS
  ; Mit der Zeit sammeln sich immer mehr Nachrichten in der UMS-
  ; Message-Base an. Um diese zu entfernen muß man "SetExpire" und
  ; ServerControl CLEANUP aufrufen. Vorher empfiehlt sich ein
  ; Backup der Message-Base. Für <Sysop Login> und <Sysop Paßwort>
  ; muß man die eigenen Daten einsetzen.

  ;UMSBackUp
  ECHO "Expire..."
  SetExpire NAME <Sysop Login> PASSWORD <Sysop Paßwort>
  ServerControl QUIT

  ECHO "Räume MB auf..."
  ServerControl CLEANUP
  ECHO "Fertig!"
  
UMSBackUp
  ; Dies ist ein einfaches DOS-Skript zum Anlegen eines Backups der
  ; Message-Base. ".idcount" wird nicht kopiert, weil der Wert
  ; in dieser Datei einmalig bleiben muß.

  ServerControl QUIT
  ECHO "BackUp..."
  COPY DH1:DoTest/UMS/mb/~(.idcount) dh2:UMS-BackUp/ all
  
UMSRestore
  ; Dies ist ein einfaches DOS-Skript zum Zurückschreiben eines Backups der
  ; Message-Base.

  ServerControl QUIT
  ECHO "Restore..."
  COPY dh2:UMS-BackUp/#?  DH1:DoTest/UMS/mb/ all
  
In UMS/rexx kann man zudem verschiedene nützliche ARexx-Programme finden. Mit "UMSEdit.rexx" läßt sich z.B. ein Editor sicher zum Editieren der "ums.config" starten.

Und was man sonst noch alles mit UMS machen kann, wird ein anderesmal erzählt.

(c) 1999 by Sven Drieling

Zurück