Das ATOS-Magazin
 
  zurück zum News-Archiv
Anfang zurück vorwärts Ende 

8.9.2000

UDO-Shell 0.36ß

Eine GEM-Shell für UDO.TTP

Von Thomas Kerkloh

Übersicht:
Einleitung
Status
Anforderungen
Testsystem
Installation
Leistungsmerkmale
In der täglichen Praxis
Bekannte Probleme
Aussichten
Neues über UDO
Fazit
Bezugsadressen

Einleitung

Bild: UDO-Icon
(UDO-Icon)

UDO-Shell ist, wie der Name schon vermuten lässt, eine GEM-Shell für UDO.TTP (siehe über UDO).

"shell = (die) Schale; (das) Haus; (der) Rohbau;" - kurz gesagt ist die UDO-Shell dazu da, um dem User die Eingabe der Kommandozeile abzunehmen. Das File UDO.TTP benötigt man, um einen UDO-Source zu kompilieren. Praktischerweise macht sie das als GEM-Shell über diverse Menueinträge und Buttons, so dass die eigentliche Kommandozeile vom Benutzer durch die grafische Oberfläche generiert/eingestellt wird.

"Das macht die UDO_GEM.APP von Dirk Hagedorn doch auch. Wozu dann diese Extra-Shell?" wird sich der Anwender von UDO_GEM.APP fragen. Nun, UDO-Shell von Norbert Hanz bietet neben den Möglichkeiten von UDO_GEM.APP wie Auswahl der Ausgabeformate von UDO, Setzen von Symbolen und Aufruf von Editor und Viewer noch eine ganze Menge mehr. Dieses "mehr" an Features erleichtert dem Benutzer von UDO das Schreiberleben ungemein. Selbst wer diese Features nicht benötigt, sollte über diese Alternative nachdenken, denn: UDO.TTP ist schneller als die UDO-GEM.APP. Die Kompilierung des UDO6GER.U in HTML dauerte bei der UDO_GEM.APP 1:38 und mit dem UDO.TTP 0:54!

Auf der Homepage von Dirk Hagedorn liegt neben UDO6PL14 für TOS und UDO6PL13 für diverse andere Systeme die Version 0.20 der UDO-Shell. Die getestete Version ist die aktuelle V0.36ß, die die Features von UDO(6PL14).TTP unterstützt.

Status

Die UDO-Shell ist E-Mail-Ware - jeder, der die Shell regelmässig benutzt, muss an den Autor Norbert Hanz schreiben und bekommt eine kostenlose Registrierungssequenz per E-Mail zurück. Genaues kann man im UDO-Shell-Hypertext nachlesen. Ohne diese Registrierung erscheint beim Start immer wieder dieser Dialog:

Bild: Registrierungsdialog der UDO-Shell
(Registrierungsdialog der UDO-Shell)


Ausser dieser Verzögerung durch die Anzeige des Dialoges und das Wegklicken desselbigen hat die UDO-Shell keine Einschränkungen.

Anforderungen

  • mind. 300 kB freier Speicher auf der Disk/HD ohne UDO.TTP
  • mind. 400 kB freier Speicher im System nur für die Shell
  • mind. 640*400 Pixel Auflösung
  • MagiCTOS oder
  • MagiCMac oder
  • MagiCPC oder
  • Milan-TOS oder
  • MiNT & N.AES

Testsystem

Rechner
Apple Macintosh PPC-Klone von Umax mit 266Mhz-G3-Prozessorkarte
Betriebssystem
MagiCMac 6.1.4 mit 120MB durchgehendem/ST-RAM
Bildschirmauflösungen und Farbtiefen
von 640*400 bis 1280*960, 16, 256 Farben und TC.
sonstige installierte Software
NVDI 5.0.3, Jinnee 2.0, Ratsch, ST-Guide, GrafTool, PapyrusDEMO, Blyb, OLGA, SMU, QED, CAT und noch viel mehr an Tools, die alle parallel zum Test von der UDO-Shell liefen und mit ihr im Einsatz waren/sind.

Installation

Das Archiv kann an beliebiger Stelle auf der Festplatte ausgepackt werden, alles weitere übernimmt das Setup-Programm GEM-Setup von Joachim Fornallaz.

Bild: GEM-Setup von Joachim Fornallaz für die UDO-Shell
(GEM-Setup von Joachim Fornallaz für die UDO-Shell)


Installiert werden:

  • die sprachunabhängige UDO-Shell-Applikation
  • die Resourcedatei zur UDO-Shell in den Sprachen Deutsch, Französisch und Englisch
  • der Hypertext in der Sprache Deutsch
  • die FORMAT.INF, die die Ausgabeformate von UDO.TTP enthält
  • die Extension *.U für den UDO-Source kann ab MagiC6 für die UDO-Shell angemeldet werden

Natürlich kann man die benötigten Dateien auch manuell zusammenstellen:

  • UDOSHELL.APP, UDOSHELL.RSC, UDOSHGELL.BGH und FORMAT.INF in ein Verzeichnis
  • UDOSHELL.HYP, UDOSHELL.REF in den Hyptertextordner für den ST-Guide
  • eine eventuelle vorhandene UDOSHELL.INF entweder in $HOME oder dem Hauptverzeichnis von der UDO-Shell
  • *.U im Desktop bzw. Betriebsssystem auf die UDO-Shell anmelden

Falls im Hauptverzeichnis der UDO-Shell keine UDOSHELL.INF gefunden wird und auch die Suche in $HOME negativ verläuft, wird eine UDOSHELL.INF im vorhandenen $HOME-Ordner oder, falls dieser nicht vorhanden ist, im Hauptverzeichnis der UDO-Shell angelegt, wenn das Programm nach dem Erststart verlassen wird. Alternativ dazu kann auch der Menupunkt
"Dialog" => "Parameter sichern"
betätigt werden.

Leistungsmerkmale

UDO-Shell ist, wie schon angesprochen, bei weitem leistungsfähiger als die originale UDO_GEM-Applikation von Dirk Hagedorn (siehe über UDO), hier die Features in der Übersicht:

  • unterstützt die Ausgabeformate von UDO6PL14
  • GEM-komform
  • BubbleGEM-Hilfe in 3 Sprachen
  • Installation via GEM-Setup für 3 Sprachen (den ST-Guide-Hilfetext gibt es zur Zeit nur in Deutsch)
  • ST-Guide-Hilfetext (zur Zeit nur in Deutsch)
  • unterstützt OLGA (senden und empfangen)
  • unterstützt VA-Start für Editoren und Viewer
  • unterstützt VA-Start beim Programmstart
  • für jedes UDO-Ausgabe-Format kann das Anwenderprogramm/der Viewer einzeln bestimmt werden
  • Setzen von bis zu 8 Symbolen(Schalter/Flags)
  • schneller Dateizugriff (Texte und Bilder) dank internen Projekts
  • Unterstützung der UDO-Projektdatei
  • Unterstützt Drag&Drop vom Desktop auf die UDO-Shell
  • SE-Protokoll-Unterstützung
  • DHST
  • Manuelle Erweiterung der Formatdefinition in der FORMAT.INF

Ausgabeformate von UDO6PL14

Zur Zeit ist UDO6 Patchlevel14 für TOS aktuell, für den Benutzer sind daher folgende Formate als Ziel möglich:

  • Amiga-Guide
  • Apple-QuickView
  • ASCII
  • C-Source
  • David's Readme Compiler
  • GNU-Texinfo
  • Hypertext Markup Language
  • HTML-Help
  • OS/2 IPF
  • LaTeX
  • Linuxdoc-SGML
  • LyX
  • Manualpage
  • NROFF
  • Pascal-Source
  • PDF-LaTeX
  • PostScript
  • Pure C Help
  • Rich Text
  • ST-Guide
  • Turbo-Vision Help
  • UDO-Code
  • Winhelp
  • Winhelp 4
  • (für Extensible Markup Language ist die UDO-Shell gerüstet, Änderungen in UDO stehen aber noch aus)

Die letzte UDO_GEM.APP-Version von Dirk Hagedorn entspricht auch UDO6PL14 für TOS.

GEM-komform

Die UDO-Shell tritt ihre Arbeit im modernen GEM-Gewand an, so dass die Lauffähigkeit auf allen sauberen GEM-Systemen auch in Farbe und in non-original Atari-Auflösungen gegeben ist.

Dialoge (bis auf den Registrierungs- und den Beenden-Dialog) liegen in Fenstern. Dialoge, auf die man während des Arbeitens ständigen Zugriff (Projekte, Symbole) haben muss, sind non-modal, d.h. sie blockieren z.B. den eigenen Hauptdialog nicht.

Fast komplett per Tastatur bedienbar sind die Menupunkte in der Menuleiste, die Standard-Tasten rufen auch dementsprechende Aktionen auf (z.B. Control&O öffnet die Dateiauswahlbox, um einen neuen UDO-Source auszuwählen). "Dialoge => Allgemeines...", "Dialoge => Parameter sichern" und die Hilfefunktionen "Hilfe => Inhalt ...", "Hilfe => Index ..." und "Hilfe => Befehlsindex" sind nicht per Tastatur bedienbar.

Ebenfalls fast komplett über die Tastatur bedienbar sind die einzelnen Buttons in den Dialogen, wobei die wichtigsten Funktionen immer per Tastatur auslösbar sind.

Genutzt werden auch die HELP- und UNDO-Taste, wobei die erste den STGUIDE mit dem UDO-Shell-Hypertext aufruft und die zweite dem Abbruch- bzw. Schliessen-Button in einigen Dialogen entspricht.

BubbleGEM-Hilfe in 3 Sprachen

"Ausgiebigen und vorbildlichen Gebrauch von BubbleGEM" - das Prädikat kann man der UDO-Shell mit ruhigem Gewissen verleihen. Nicht nur, dass zu allen Buttons BubbleGEM-Hilfetexte vorliegen, es gibt sie auch in allen 3 unterstützten Sprachen.

Bild: BubbleGEM-Unterstützung im Hauptdialog
(BubbleGEM-Unterstützung im Hauptdialog)

Installation via GEM-Setup

Bild: GEM-Setup von Joachim Fornallaz für die UDO-Shell
(GEM-Setup von Joachim Fornallaz für die UDO-Shell)

Die UDO-Shell unterstützt den User bei der Installation nicht selbst, sondern lässt dies von dem Quasi-Standard GEM-Setup durchführen.

GEM-Setup hat sich mittlerweile als Standard-Installationsprogramm durchgesetzt, u.a. wird auch Calamus SL inzwischen hierdurch installiert.

Weiteres zum Thema Installation siehe dort (siehe Installation).

ST-Guide-Hilfetext

UDO-Shell liegt ein umfangreicher ST-Guide-Hilfetext bei, zur Zeit leider nur in Deutsch. Wenn im Dialog "Dialoge => Allgemeines..." eine UDO-Hilfe z.B. UDO6GER.HYP angegeben ist, kann man im Hauptdialog von der UDO-Shell auch direkt dessen Index anspringen.

Bild: Hilfe durch ST-Guide
(Hilfe durch ST-Guide)

OLGA-Unterstützung

Bild: Unterstützung von OLGA in der UDO-Shell
(Unterstützung von OLGA in der UDO-Shell)

OLGA (steht für Object Linking for GEM Applications) stammt von Thomas Much. OLGA ermöglicht es beispielsweise, dass CAB eine HTML-Seite anzeigt, diese im Quelltext an QED übergibt und CAB dann seine Seite automatisch neu darstellt, wenn QED die Datei sichert.

Ist in der UDO-Shell im Dialog "Dialoge => Allgemeines..." "OLGA-Server benutzen" angewählt, so startet die UDO-Shell die Programme mit dem Quelltext und den Bildern aus dem "Projekt"-Dialog, die in der OLGA-Konfigurationsdatei OLGA.INF auf die dementsprechende Extension angemeldet sind.

Sollte die Option "OLGA (Empfangen)" angewählt sein, so wird nach Sicherung des Quelltextes im OLGA-fähigen Editor (z.B. QED) UDO.TTP automatisch von der UDO-Shell aufgerufen.

Bei der Option "OLGA (Senden)" wird nach der Kompilierung durch UDO.TTP mittels der UDO-Shell der OLGA-fähige Zielformatviewer (z.B.CAB) aufgefordert, die Zieldatei neu darzustellen.

VA-Start für Editoren und Viewer

Bild: Startmöglichkeit per AV
(Startmöglichkeit per AV)

Im Dialog "Dialoge => Externes..." kann man unter anderem Viewer und Editor für seine Bedürfnisse bestimmen. Sind diese Programme in der Lage, per VA-Start aufgerufen zu werden, so macht die UDO-Shell dies, wenn die Option im Dialog angewählt wurde. Das hat den Vorteil, dass die Programme nicht erneut gestartet werden, sondern falls sie aktiv sind, von der UDO-Shell nur den Dateinamem inkl. Pfad übergeben bekommen und sie diese dann selber laden. Das setzt natürlich ein Multitaskingsystem oder eine ACC-fähigen Editor/Viewer voraus. Das Protokoll stammt ursprünglich von Gemini.

Gehört das Programm gar zur Nicht-GEM-Zunft, so kann man das mit der Option "TOS-Programm" auch angeben und die UDO-Shell beachtet dies.

Parameter können ebenfalls einstellbar übergeben werden, einige Abkürzungen z.B. für die UDO-Source sind hinterlegt und können duch Betätigendes des Buttons "Hinweise..." nachgesehen werden. So ist z.B. die Kürzel $O für die Zieldatei und $I für die Quelldatei anzugeben.

VA-Start beim Programmstart

Bild: UDO-Shell startbar per AV-Start, z.B. unter Jinnee 2.x
(UDO-Shell startbar per AV-Start, z.B. unter Jinnee 2.x)

Ebenfalls für Multitaskingsysteme gedacht ist die Möglichkeit, der UDO-Shell per AV_PROCSTART UDO-Sourcedateien *.U zu übergeben. Eine gestartete UDO-Shell übernimmt diese Datei als UDO-Source und stellt die dementsprechende Zielformatdatei auf den neuen Dateinamen um. Alternativ kann man die *.U-Datei auch auf das Fenster der UDO-Shell draggen, eine Übernahme via des D&D-Protokolles beherrscht die Shell auch.

Je nach Desktop kann man auch angeben, wie die Datei an die UDO-Shell übergeben wird, hier sieht man es am Beispiel von Jinnee2.x.

Weiteres zu VA

Die UDO-Shell unterstützt das AV-Protokoll noch weiter, folgende Möglichkeiten bietet sie:

  • unbekannte Tastendrücke werden an den AV-Server weitergeben Das ist in den meisten Fällen der Desktop, dieser wertet dann die Taste aus und reagiert dementsprechend. So ist es z.B. möglich, aus UDO-Shell heraus den HCP.TTP für die Kompilierung der STG-Datei aufzurufen.
  • VA-DRAGACCWIND wird unterstützt
    Vom Desktop oder von sonst einer VA-DRAGACCWIND-fähigen Applikation kann eine Datei auf ein Fenster gedragged werden und UDO-Shell führt je nach Datei und Zielfenster die Aktion aus, siehe auch Drag&Drop-Unterstützung (siehe Drag&Drop-Unterstützung).
  • die Übergabe der Dateien an externe Programme aus der UDO-Shell heraus geschieht mittels VA_START und AV_PROGSTART Dies passiert u.a. bei dem Aufruf aus dem Projektfenster heraus.

Anwendungsprogramm/Viewer für jedes UDO-Ausgabeformat

Bild: Jedem UDO-Ausgabeformat kann ein Anwendungsprogramm zugeordnet werden
(Jedem UDO-Ausgabeformat kann ein Anwendungsprogramm zugeordnet werden)

Wie in der UDO_GEM.APP ist auch in der UDO-Shell wählbar, welches Programm für welches Zielformat als Anwendungsprogramm gewünscht wird. Ob dieses Anwendungsprogramm nun ein Kompiler (z.B. der HCP) ist oder ein Viewer (z.B.QED), spielt keine Rolle. Parameter können mit übergeben werden. Drei Möglichkeiten der Anwendungsprogrammbestimmung stehen zur Verfügung:

  • per Dateiauswahl
    über den Menupunkt "Dialoge => Externes..." kann man durch Doppelklick die Dateiauswahl aufrufen und ein Anwendungsprogramm bestimmen, im Popup "Gewählt" den Eintrag "Format ->" vorausgesetzt. Da der "Externes..."-Dialog ein non-modaler ist, kann der User zum Hauptdialog umschalten und dort ein neues Format bestimmen, für welches er im Dialog "Externes..." dann ein Anwendungsprogramm einträgt.
  • per Drag & Drop
    wenn der Desktop das Drag & Drop-Protokoll unterstützt, kann man, nachdem man das Format eingestellt hat, seine Icons vom Desktop oder aus Fenster heraus einfach auf den Dialog draggen (siehe auch Drag&Drop-Unterstützung).
  • per Texteditor
    wem das Zuordnen in der Shell über den Menupunkt "Dialoge => Externes..." etwas mühselig erscheint, kann das auch problemlos über einen Texteditor erledigen. Alle Zuordnungen stehen schon in der UDOSHELL.INF. So müssen die Einträge nur noch um die Dateinamen und Übergabeparameter ergänzt werden - im Unterschied zu UDO_GEM.APP, wo die Einträge erst dann in die UDO.INI geschrieben, werden wenn ein Anwendungsprogramm gewählt wurde.

    Hier ein Auszug aus der UDOSHELL.INF des Artikel-Autors:

         PROG=E:\TEXT\qed.453\qed.app
         PARAM=$O
         OPT=1
     
         PROG=E:\TEXT\papyrus6.dmo\papyrusd.app
         PARAM=$O
         OPT=1
     
         PROG=C:\GEMSYS\GUIDES.TLS\blyp008g\blyp.app
         PARAM=$O
         OPT=1
    

Symbole

Bild: Bis zu acht Symbole sind definierbar
(Bis zu acht Symbole sind definierbar)

Stellen Sie sich vor, Sie möchten gerne in Ihren UDO-Source Kommentare einbauen, die aber in der fertigen und endgültigen Version Ihres Dokumentes nicht enthalten sein sollen, dafür aber in der für Sie oder in der für den Lektor bestimmten. Ausklammern mittels des # (als einleitendes Zeichen für einen Kommentar am Anfang zu platzieren) ist nicht möglich, da Sie nachher in Ihrer Version der Dokumentation diesen Kommentar nicht sehen werden.

Für solche und andere Zwecke gibt es bei UDO die Symbole - sie sind grob übersetzt so etwas wie Schalter. Wird der Schalter eingeschaltet, sprich UDO.TTP mit dem Symbol gestartet, so werden Passagen mit übersetzt oder halt auch nicht.

So sieht das z.B. im UDO-Source aus:

[....]
!ifset [ATOS-ONLY]
!begin_quote
(!B)
Hallo liebe ATOS-Redaktion,
 
ist die Erklärung für Symbole so OK oder muss man das nochmal überarbeiten?
 
(!b)
!end_quote
!endif
[....]

Wird nun der UDO-Source kompiliert, so wird je nach Schalterstellung der Kommentar ausgegeben oder nicht. Im Falle der hier gezeigten Einstellung (Symbol ATOS-ONLY ist gesetzt) wird nun beim Aufruf dies von UDO kompiliert:

[....]
 
     * Hallo liebe ATOS-Redaktion,
 
      ist die Erklärung für Symbole so OK oder muss man das*
*     nochmal überarbeiten?
 
     *
 
[....]

Ein umständliches Herauslöschen einzelner oder mehrere Bereiche mit Kommentaren entfällt also.

Die UDO.TTP gestattet max. 32 Symbole mit jeweils einem max. 32 Zeichen langen Namen. UDO-Shell ermöglicht es, wie auch UDO_GEM.APP, 8 Symbole zu definieren und diese bei Bedarf ein- oder auszuschalten.

Unterstützung der UDO-Projektdatei

Bild: Projektdialog bei der Verwaltung durch *.upr
(Projektdialog bei der Verwaltung durch *.upr)

Wird im Hauptdialog der UDO-Shell unter der Rubrik "Optionen" "Benutze '-@ file'" angewählt, so generiert UDO.TTP bein nächsten Kompiliervorgang die Datei "*.upr" mit, wobei das * für den Namen der Zieldatei steht. In ihr stehen neben dem UDO-Source und der Zieldatei in der Reihenfolge ihres Vorkommens im UDO-Source die Bilder und die eingebundenen Texte.

Wenn man nun im Projekt-Dialog (aufzurufen über den Button "Projekt" im Hauptdialog) unter dem Bereich "What?" "UDO-Projekt" anwählt, sieht man die zum UDO-Source gehörenden Bilder und Textdateien der Reihe nach aufgelistet. Per Doppelklick auf einen Eintrag wird nun das dazu passende Programm aufgerufen, bei Bildern das Programm, das unter dem Menupunkt "Externes..." => "Gewählt" => "Grafik" eingetragen wurde. Ändert man im UDO-Source etwas in Richtung neue externe Datei z.B. mittels der Befehle !include u/neue_datei.u, so muss man erst den UDO-Source neu übersetzen lassen, bevor die Änderung im Dialog "Projekt" erscheint, da die UDO-Shell die Daten von dort holt.

Anders verhält es sich, wenn die UDO-Shell selbst das Projekt verwaltet (siehe Unterstützung durch UDO-Shell-internes Projekt).

Identisch ist bei beiden Möglichkeiten, dass die im Projekt-Dialog angezeigten Dateien je nach Einstellung im Dialog "Allgemeines..." entweder per OLGA (je nach Extension der Datei) dem dazu zugeordneten Programm aus der OLGA.INF übergeben werden oder, falls "OLGA-Server benutzen" nicht angewählt ist bzw. kein Programm für die Extension angegeben ist, das Grafikprogramm genommen wird, das unter "Externes" => "Gewählt: " => "Grafik" angemeldet wurde.

Dateien, die nicht in den dementsprechenden Verzeichnissen gefunden werden, sind nicht selektierbar/hell dargestellt.

Je nach Art der externen Datei, z.B. Nodes oder RAW oder Bilder, werden diese in einer Farbauflösung auch verschiedenfarbig dargestellt.

In dem Bereich "Filter" kann man angeben, welche externen Dateien man angezeigt bekommen möchte.

Es können mehrere Dateien mit der Maus markiert und per Klick auf "Öffnen" komplett an den Editor übergeben werden. Sind mehrere Dateien markiert, so kann man per Doppelklick mit der Maus auf eine Einzelne Datei diese einzeln übergeben, ohne dass die anderen Markierungen gelöscht werden.

Unterstützung durch UDO-Shell-internes Projekt

Bild: Der Projekt-Dialog bei der Verwaltung durch die UDO-Shell.
(Der Projekt-Dialog bei der Verwaltung durch die UDO-Shell.)

Im Gegensatz zur Projektverwaltung durch das von UDO.TTP generierte "*.upr" steht die Option unter Shell-Projekt für die UDO-Shell-interne Verwaltung der externen Dateien. Dabei muss man nicht den UDO-Source mindestens einmal kompilieren bzw. nach jeder Änderung der externen Datein diesen erneut kompilieren, sondern kann durch Klick auf den Button "Auffrischen" die UDO-Shell zum Durchsuchen der UDO-Source auffordern. Texte und Grafiken werden dabei in zwei Bereiche in der Reihenfolge ihres Vorkommens im UDO-Source aufgelistet.

Manko zur Zeit: Grafiken, die sich nicht im Source oder Zielverzeichnis direkt befinden, werden zwar angezeigt, aber halt nicht selektierbar und daher kann man sie auch nicht öffnen bzw. an das Grafikprogramm übergeben.

Drag&Drop-Unterstützung

Bild: Drag und Drop auf den Hauptdialog von Jinnee2.x aus
(Drag und Drop auf den Hauptdialog von Jinnee2.x aus)

Eine Möglichkeit, die der Benutzer des original Atari-Desktop schon seit Anfang an kennt und nutzt, ist das Nehmen einer Datei aus dem Fenster und Ablegen auf dem Desktop und umgekehrt. Dieses Drag&Drop wurde von Atari soweit im MultiTOS erweitert, das man auch Icons auf Programmfenster ziehen konnte wenn der Desktop und das Programm das Drag&Drop-Protokoll unterstützt. Dieses ist auch unter dem alternativen Betriebsystem MagiC/MagiCMac/MagiCPC möglich.

Bild: Drag und Drop auf den "Externes..."-Dialog von Jinnee2.x aus.
(Drag und Drop auf den "Externes..."-Dialog von Jinnee2.x aus.)

Im Falle der UDO-Shell ist es möglich, Dateien auf den Hauptdialog und den "Externes..."-Dialog zu draggen. Für den Hauptdialog sollten es *.U-Files sein und bei dem "Externes..."-Dialog Programmdateien für die einzelnen Viewer, Editoren und sonstiger Programme.

SE-Protokoll-Unterstützung

Das SE-Protokoll steht für Shell Editor-Protokoll und dient der Kommunikation zwischen zumeist Compilershells und den Sourcetexteditoren. So ist es möglich, dass die Shell dem Editor eine Datei zum Öffnen übergibt und gleichzeitig die Zeile/Spalte angibt, an der sich der Cursor nach dem Öffnen befinden soll, z.B. direkt in einer Zeile, in der ein Fehler lokalisiert wurde. QED ist z.B. so ein SE-fähiger Texteditor.

Die UDO-Shell ist soweit schon vorbereitet, dass sie das per SE-Protokoll übergibt, leider ist die zur Zeit aktuelle UDO-Version noch nicht soweit, dass sie in einer Info-Datei Spalte und Zeile dafür passend anbietet.

Wer aber ausprobieren möchte, wie das einmal aussehen könnte: Einfach eine UDO-Projektdatei (*.UPR) oder auch die UDO-Shell Projektdatei (*.tre[e]) mal von Hand entsprechend erweitern:

node <level> <file> <line> <caption>
jeweils durch TABs getrennt.

  • Level: Gibt an, ob es sich um einen Node (1), Subnode (2), etc. handelt
  • File: Die Datei, in der der Node steht
  • Line: Die Zeilennumer, in der der Node steht
  • Caption: Die Node-Überschrift

DHST

Bild: SMU als DHST-Server mit dem Eintrag der UDO-Shell
(SMU als DHST-Server mit dem Eintrag der UDO-Shell)

Das Document-History-Protokoll stammt wie OLGA auch von Thomas Much und funktioniert ähnlich dem "Benutzte Dateien"-Menueintrag vom MacOS und dem Eintrag im Start-Button von Windows95/98/200/NT. DHST-fähige Programme wie z.B. die UDO-Shell melden ihren Start bzw. das Öffnen der Dateien einem DHST-Server (z.B. Start Me Up, ebenfalls von Thomas Much) und schon kann man im Menu von SMU unter dem Eintrag "Dokumente" die zuletzt geöffeneten Dokumente nochmals starten.

Je nach Einstellung in der START.SET von SMU kann man die Länge der Einträge selbst bestimmen.

Manuelle Erweiterung der Formatdefinition

Sollte es einmal so sein, dass die UDO-Shell nicht weiterentwickelt wird, dafür aber UDO neue Formate bekommt (was für letzteren Punkt leider im Moment nicht so aussieht (siehe auch Neues über UDO), so kann man die UDO-Shell selbst manuell erweitern.

In der Datei FORMATE.INF in Verzeichnis der UDO-Shell trägt man mittels eines ASCII-Editors die neuen Formate einfach nach:

  • Klartextname des Zielformates: z.B. Mac Guide
  • das Formatkürzel für UDO.TTP: z.B. -mcg
  • Name des Zielordners: z.B. macguide
  • max. 1 Zeichen für Log-, Hyphen-, Treefile: z.B.m
z.B.:
Mac Guide;--mcg;macguide;mcg;m
[....]
So ist die UDO-Shell auch für die Zukunft gerüstet.

In der täglichen Praxis

Nachdem man sein Einstellungen unter dem Menupunkt "Dialoge" in den Dialogen "Optionen", "Externes...", "Symbole" und "Allgemeines" vorgenommen hat, kann es losgehen.

So präsentiert sich die UDO-Shell dem Benutzer beim Start:

Bild: Der Hauptdialog von der UDO-Shell 0.36ß
(Der Hauptdialog von der UDO-Shell 0.36ß)

  • Im oberen Bereich "Dateien" kann man die Quelle, den UDO-Source, per Doppelklick auf das Feld rechts von "Quelle" per Dateiauswahl bestimmen.

    Das Gegenstück zur Quelle ist das Ziel und auch dort kann man manuell per Doppelklick eine Datei bestimmen, die nachher das Zielformat aufnehmen soll.

    Allerdings wird durch einen Formatwechsel oder durch Klick auf einige Optionen unter dem Bereich "Optionen" diese Datei je nach Einstellung automatisch angepasst.

  • Der Bereich "Auswahl" bedarf eigentlich keiner Erklärung. Im Rollfenster kann man sein Zielformat bestimmen und je nach Format sind einige weite Ausgabemöglichkeiten wie z. B. JumpID's bei Pascal-Source möglich. Die dementsprechenden Möglichkeiten werden in Abhängigkeit des Zielformates auf selektable/anwählbar geschaltet.
  • Mehrere Möglichkeiten, das Verhalten von UDO.TTP zu beeinflussen, bietet der Bereich "Optionen".
    Ordner
    Es wird ein Ordner angelegt, der den Namen des Zielformates trägt und in dem die Dateien beim Kompilieren landen.
    Tastendruck
    UDO.TTP wartet nach dem Kompiliervorgang auf einen Tastendruck, bevor es sich beendet - so sieht man dessen Fehlermeldungen besser.
    Statusmeldungen
    UDO.TTP gibt während des Kompilierens Meldungen über den Stand der Dinge aus.
    Testmodus
    Es läuft alles so wie beim richtigen Kompilieren, nur wird kein Zielformat geschrieben. Allerdings werden alle anderen Dateien, z.B. die LOG-Datei, geschrieben!
    Überprüfungen
    UDO.TTP überprüft einiges im Quelltext vor dem Kompilerstart.
    Benutze '-@ file'
    Es wird eine Projektdatei *.UPR angelegt. Diese kann die UDO-Shell im Projektdialog auswerten, wenn dort die Option "UDO-Projekt" angewählt wird.

    Direkter Zugriff aus dem Haupdialog heraus auf Log-, Tree-, Hyphenfile sind im Bereich "Dateien" rechts unten möglich. "Welche Fehler/Warnungen sind wo aufgetaucht?" Ein Klick und schon wird dem Editor das Logfile übergeben.

  • Nicht benannt, aber trotzdem mit wichtigen Funktionen besetzt: der untere Bereich des Hauptdialoges:
    Konvertieren
    Startet UDO.TTP mit den eingestellten Parametern.
    Beenden
    "Und Tschüss." - je nach Einstellung wird nochmals nachgefragt ob der Benutzer wirklich beenden möchte. Danach werden die Parameter gesichert und das Prgramm beendet.
    Projekt
    Öffnet den Projekt-Dialog (mehr dazu siehe Unterstützung der UDO-Projektdatei und Unterstützung durch UDO-Shell-internes Projekt).
    Befehlsindex
    Ruft, falls angegeben, ST-GUIDE mit dem UDO-Hilfetext auf und springt direkt zum Befehlsindex.
    Hilfe
    Ähnlich dem Button "Befehlsindex", nur wird in diesem Fall der UDO-Shell-Hypertext angezeigt.

Sind auch hier die diversen Einstellungen getätigt (was ja sehr schnell geht), so kann man den Button "Konvertieren" betätigen und schauen, was passiert.

Bild: Ausgabe des UDO.TTP in dem VT52-Fenster unter MagiC
(Ausgabe des UDO.TTP in dem VT52-Fenster unter MagiC)

Unter MagiC wird das UDO.TTP in der VT52-Shell gestartet, andere Systeme erfordern evtl. Einstellungen, was bei dem Start von TTPs passiert. Notfalls gibt UDO.TTP seine Meldungen einfach auf den Bildschirm aus - wen das zu sehr stört, der deaktiviert die Option "Statusmeldungen".

Gab es Warnungen oder sogar Errormeldungen von UDO.TTP, so kann man jetzt per Klick auf den Button "Logfile" schnell nachsehen, wo die Warnungen bzw. Fehler ihren Urprung haben, da die LOG-Datei dem Editor übergeben wird.

Sind alle eventuellen Fehler ausgemerzt und die eventuellen Warnungen zur Kenntnis genommen, so reicht jetzt die Tastenkombination Shift & Control & P bzw. die Auswahl des Menuleistenpunktens "Ziel" => "Programm starten", um das zu dem Format eingetragene Programm zu starten, wobei die Zieldatei übergeben wird.

Ist das Zielformat STG (ST-Guide-Sourcecode), so wird je nach Einstellung z.B. der ST-Guide gestartet und bekommt als Startparameter den Namen der Zieldatei übergeben. Wird diese nun im HYP-Verzeichnis vom ST-Guide gefunden, so wird sie dargestellt. Da aber UDO nur den Source für ST-Guide (Extension STG) erstellt, so muss man diesen mit dem HCP.TTP aus dem ST-Guide-Paket generieren und kompilieren lassen. Dies geht am besten dadurch, dass man für das Format ST-Guide den HCP.TTP als Anwenderprogramm/Viewerprogramm angibt und die Übergabeparameter dementsprechend einstellt (mehr dazu siehe UDO-Shell-Hypertext).

Zwei Tipps noch an den Erstanwender:

  1. Hat man z.B. ein sehr komplexes UDO-Sourcefile mit vielen externen Dateien aufgebaut und möchte dieses gerne als eine UDO-Sourcedatei weitergeben, so muss man als Zielformat UDO-Code angeben. Dadurch werden alle extern eingebundenen Dateien zu einer grossen Gesamtdatei zusammengefasst. Aufpassen sollte man allerdings, dass die "Quelle" und das "Ziel" nicht den selben Namen haben.
  2. wenn man auf Geschwindigkeit Wert legt, sollte man das FastLoad-Attribut bei der UDO-Shell-Programmdatei setzen. Beim Testsystem macht das einige Sekunden aus.

Bekannte Probleme

(Fast) Kein Programm ohne Probleme bzw. Fehler, im Volksmund gerne Bugs genannt. Auch die UDO-Shell gehört dazu und hat deren Bugs wenige:

  • Slider-Redraw-Fehler, nachdem man im "Projekt"-Dialog für Shell-Projekt "Auffrischen" anwählt
    (ist in der V0.39 behoben)
  • Buchstabensalat in dem Eintrag "Ziel:" im Hauptdialog, nachdem man "Automatisch anpassen" deaktiviert.
    (ist in der V0.39 behoben)
  • bei seeehr verschachtelten UDO-Sourcen mit vieelen externen (!) include-Dateien funktioniert das Shell-interne Projektmanagement nicht, die Shell stürzte ab.
    (ist in der V0.39 behoben)

Eine Zeitlang kam es beim Testen zu seltsamen "Hängern" des MagiC-Systems - nachdem auf der Mac- und MagiC-Seite einiges geändert wurde, waren diese schlecht reproduzierbaren Abstürze weg. Beim Durchforsten des UDO-Shell-Sourcecodes sind dem Autor wohl einige Passagen kritisch vorgekommen, so dass auch dort Änderungen vorgenommen wurden, die eine Gefahr eines Programmabsturzes bannen sollen. Da diese Abstürze beim System des Artikel-Autors nicht mehr auftraten, ist es schwer, die Wirksamkeit der Massnahmen zu bewerten.

Aussichten

Dieses Kapitel wurde einige Male im Verlauf des Verfassens dieses Artikel überarbeitet, da der Shell-Autor einige Sachen direkt gefixt hatte und andere für nächste Versionen in Aussicht gestellt werden.

Wunschliste:

  • Positionen und Anzahl der Fenster werden nicht nur gesichert, sondern beim Programmstart werden die Fenster wiederhergestellt
    (ist in der V0.39 nun so gelöst)
  • Projektfenster in der Größe wie ein Fenster änderbar
  • die Einträge im Projektfenster können per Cursortasten angesteuert werden; Leertaste markiert, Return übergibt eine/markierte Datei an den Editor.
  • alternativer Tastaturshortcut für Kompilieren (damit es auch aus anderen Fenstern heraus klappt)
    (ist in der V0.39 nun auch per Control&K auslösbar)
  • die Möglichkeit, die UDOSHELL.INF manuell an neue UDO-Formate anzupassen, so dass UDO-Shell diese automatisch übernimmt

Hier nun die Änderungen von der 0.36ß zur 0.39:

Tabelle 1: Änderungen von der 0.36ß zur 0.39
0.37 (31.07.2000)
Bugs:
  • Jetzt können auch Dateien per Drag & Drop übergeben werden, wenn die Extensionen klein geschrieben sind.
0.38 (06.08.2000)
News:
  • Im Dialog 'Allgemeines' wurde ein Button hinzugefügt, der es ermöglicht, die FORMAT.INF neu zu schreiben, falls die alte Datei mal kaputt oder verloren geht.
  • SE-Protokoll erweitert.
    Die Kommandos 'ES_MAKE', 'ES_EXEC' und 'ES_SHLCTRL' werden jetzt auch unterstützt, außerdem 'SE_ACK'.
0.39 (11.08.2000)
Changes:
  • Die Dateinamen der Bilder für die Projektdatei werden jetzt beim Einlesen direkt vollständig in die Datei geschrieben. Es gibt keine relativen Namen mehr.
  • Der Menüpunkt 'Konvertieren' hat einen neuen Shortcut (^K) bekommen, dadurch kann der Übersetzungsvorgang jetzt aus jedem Dialog aufgerufen werden.
  • Jetzt wird beim Verlassen der UDO-Shell überprüft, ob (unmodale) Dialoge offen waren. Diese Dialoge werden beim nächsten Programmstart wieder geöffnet.
Bugs:
  • Wenn ein Anwendungsprogramm aufgerufen wurde, konnte es sein, dass anschließend keine Anpassung mehr für die Zieldatei vorgenommen wurde. Das sollte jetzt beseitigt sein.
0.39 (13.08.2000)
Bugs:
  • Jetzt sollte es keine Probleme bei der Erstellung der Projektdatei geben, wenn das Projekt etwas größer ist.
0.39 (19.08.2000)
Changes:
  • Jetzt wird beim Ermitteln der Bilder und eines evtl. vorhandenen Makros für den Bildpfad auch !ifdest überprüft. Die Bilder sollten jetzt also noch besser gefunden werden.
Bugs:
  • Jetzt sollte es nicht mehr passieren, dass Bilder im Projekt durch mehrmaliges Auffrischen plötzlich verschwinden. Es wird nach dem Auffrischen besser aufgeräumt ;-)
0.39 (20.08.2000)
Changes:
  • Die Dialoge sind jetzt alle im Hintergrund bedienbar.
Bugs:
  • Jetzt wird bei jeder Übergabe an den SE-Editor erst überprüft, ob dieser überhaupt noch läuft. Die UDO-Shell bekommt es nicht mit, wenn der Editor gewaltsam aus dem Speicher entfernt wurde und sich nicht mehr abmelden konnte.
    In diesem Fall wird der Editor nochmals neu gestartet.
0.39 (22.08.2000)
Changes:
  • Hintergrundbedienung wieder rausgenommen, da es Probleme mit der Zuweisung von Mausklicks an hinten liegende Fenster gibt.
Bugs:
  • Fehler in der Anzeige des Hauptdialoges beseitigt, wenn der Zielname nicht angepasst werden soll. Da wurde schlichtweg nur Müll in die Zeile geschrieben. Der Zielpfad war aber trotzdem ok.
  • Der Radiobutton 'Lange Dateinnamen' wurde nicht disabled, wenn die Anpassung abgeschaltet wurde.

Neues über UDO

Wie schon angesprochen, sieht es mit der Weiterentwicklung bei UDO seit einiger Zeit recht mau aus. Der Grund liegt, wie bei vielen anderen Autoren in der Atari-Software-Szene, in der Verlagerung der Schwerpunkte. Irgendwann ist die Zeit für die Pflege der Programme aus vielerlei pers. oder/und beruflichen Gründen nicht mehr vorhanden.

Positiv fällt bei aller Aufgabe der Weiterentwicklung von Software auf, dass sich die Autoren bemühen, die geleistete Arbeit, sprich ihren Sourcecode, Interessierten zur freien/nicht kommerziellen Nutzung zur Verfügung zu stellen.

Nach unseren Informationen durch den UDO-Autor Dirk Hagedorn (http://www.dirk-hagedorn.de/) wird UDO bis Ende des Jahres Open Source. Einen Support seitens Dirk Hagedorn kann es leider nicht mehr geben, aber durch die Offenlegung des Source kann hoffentlich eine ähnliche Entwicklung einsetzen wie bei CAT (dort entwickeln einige Programmiererer weiter und ein "Koordinator" setzt daraus in unregelmässigen Abständen eine neue öffentliche Version zusammen), wodurch UDO letztendlich sogar gewinnt. In den nächsten Wochen wird vorab die letzte UDO-Version vom Autor als Freeware auf seiner Homepage (http://www.dirk-hagedorn.de/) plaziert.

Fazit

Es fällt positiv aus, aus das Fazit für die UDO-Shell. Alleine die Möglichkeit, einzelne extern eingebundene Dateien aus dem Projektfenster heraus an den Editor zu übergeben, betrachte ich als sehr gelungen. Die Vielzahl der von der UDO-Shell unterstützten Protokolle setzten einen weiteren positiven Akzent.

Auch der schon fertige Ansatz zur Unterstützung des SE-Protokolles für spätere UDO-Versionen weiss zu überzeugen, auch wenn zur Zeit noch keine praktische Unterstützung seitens UDO gegeben ist.

Der Kontakt und Support vom Autor sind recht gut, noch vorhandene Fehler werden gejagt und soweit wie möglich und reproduzierbar auch eliminiert.

Auf der Negativ-Seite stehen eigentlich nur kosmetische Unschönheiten. Da diese nun auch behoben wurden und werden, ist dies allerdings zu verschmerzen.

Jedem, der UDO nutzt oder es nur einmal antesten möchte, sei die UDO-Shell auf jeden Fall ans Herz gelegt. Der Autor dieses Artikel möchte sie auf keinen Fall mehr missen.

Eine kurze Registrierungs-E-Mail an den Shell-Autor wird mit dem Registrierungsschlüssel belohnt, der den Registrierungs-Dialog beim Programmstart auch eliminiert.

E-Mail: norbert.hanz@cityweb.de

Sackpost:

Norbert Karl Hanz
Heerenstr. 25
45145 Essen
Deutschland

Bezugsadressen

UDO-Shell 0.39:
Internet: http://www.dirk-hagedorn.de/
MausNet: MAUS Münster 2 als USHELL39.ZIP
GEM-Setup
Internet: http://www.stud.ee.ethz.ch/~jfornall/
UDOr6pl14
Internet: http://www.dirk-hagedorn.de/
MausNet: MAUS Münster 2 als UDO6PL14.ZIP
UDOr6pl0-Hypertext
Internet: http://www.dirk-hagedorn.de/
MausNet: MAUS Münster 2 als UDO6GER.HYP
UDOr6pl0-Dokumentation im UDO-Source
Internet: http://www.dirk-hagedorn.de/
MausNet: MAUS Münster 2 als UDO_MANU.LZH
QED-453
Internet: http://www.tu-harburg.de/~smcf1605/
MausNet: MAUS Münster 2 als QED-453.LZH
OLGA1.51
Internet: http://www.snailshell.de/
MausNet: MAUS Münster 2 als OLGA151.ZIP
CAB 2.7 DEMO
Internet: http://www.application-systems.de/
MausNet: MAUS Münster 2 als DEMOCAB.ZIP
ST-Guide-1.5-Paket
Internet: http://home.t-online.de/home/bmaedicke/
MausNet: MAUS Münster 2 als ST-GUI15.LZH

MAUS Münster 2

Kürzel: MS2
Telefon: 0251-77262

Benutzerinfos:
Gastdownload erlaubt. In den MausTauschzeiten sind Downloads nicht erwünscht!
Diese Tauschzeiten sind: 06:00-09:00, 12:00-14:00, 19:00-22:00 Uhr. Zu diesen Zeiten ist die MAUS MS2 zudem für Gäste gesperrt.


über UDO

Auch dieser Text wurde erzeugt mit

UDO
Release 6 Patchlevel 14
TOS

Copyright * 1995-1999 by
Dirk Hagedorn
Postfach 8105
D-59840 Sundern
E-Mail: info@dirk-hagedorn.de

UDO ist ein Programm, welches Textdateien, die im Universal Document Format erstellt wurden, in das Amiga-Guide-, Apple-QuickView-, ASCII-, C-Source-, David's Readme Compiler-,GNU-Texinfo-, Hypertext Markup Language-, HTML-Help-, OS/2 IPF, LaTeX-, Linuxdoc-SGML-, LyX-, Manualpage-, NROFF-, Pascal-Source-, PDF-LaTeX-, PostScript-, Pure C Help-, Rich Text-, ST-Guide-, Turbo-Vision Help-, UDO-Code-, Winhelp-, Winhelp 4-Format umwandeln kann.

Weitere Informationen sowie die aktuellen Versionen findet man im
World Wide Web unter
http://www.dirk-hagedorn.de/


Anfang zurück vorwärts Ende  Seitenanfang

Copyright und alle Rechte beim ATOS-Magazin. Nachdruck und Veröffentlichung von Inhalten nur mit schriftlicher Zustimmung der Redaktion.
Impressum - Rückmeldung via Mail oder Formular - Nachricht an webmaster