# Anwendungen registrieren

In diesem Kapitel wird beschrieben, wie ein Registrierungspaket für eine Anwendung erstellt wird, und wie die Anwendung am Desktop registriert wird.

sag.regap.mkr.3
sag.regap.mkr.5
sag.regap.mkr.14
sag.regap.mkr.15
sag.regap.mkr.16
sag.regap.mkr.19
sag.regap.mkr.21
SAG.RegAp.div.19a
sag.regap.mkr.22
sag.regap.mkr.23
sag.regap.mkr.29
sag.regap.mkr.31

Eine Anwendung, die am Desktop vollständig registriert ist, verfügt über:

- eine eigene Gruppe von Anwendungen auf der obersten Ebene des Anwendungsmanagers,

- eine Aktion, die die Anwendung startet. Die Aktion wird durch ein Symbol in der Gruppe von Anwendungen dargestellt,

- sowie, wahlweise, über Datentypen für ihre Datendateien.

Bei der Anwendungsregistrierung handelt es sich um eine Operation, die die Ausführung der Anwendung nicht beeinflußt:

- Die ausführbare Datei der Anwendung wird nicht geändert. Daher können auch bereits vorhandene Anwendungen am System registriert werden.

- Es ist nicht erforderlich, daß eine der gelieferten Dateien der Anwendung (z.B. die ausführbare Datei `app-defaults`) an eine andere Position im Dateisystem verschoben wird.

- Die Anwendungsregistrierung kann leicht rückgängig gemacht werden. Das Werkzeug `dtappintegrate`, mit dem Anwendungen registriert werden, stellt eine Befehlszeilenoption zur Verfügung, mit der der Prozeß rückgängig gemacht werden kann.

Ein Registrierungspaket wird erstellt durch:

- einen Systemadministrator, der eine bereits vorhandene Anwendung auf dem Desktop registrieren will.

- einen Softwareprogrammierer, der ein Installationspaket für eine Desktop-fähige Anwendung erstellen will.

## Übersicht über die Anwendungsregistrierung

Dieser Abschnitt erläutert:

- den Zweck der Anwendungsregistrierung

- die Funktionen, die die Anwendungsregistrierung einer Anwendung zur Verfügung stellt

Ein ausführliches Beispiel für die Registrierung einer bereits vorhandenen Anwendung kann dem Abschnitt sag.regap.mkr.31 entnommen werden.

### Funktionen, die die Anwendungsregistrierung zur Verfügung stellt

Die Anwendungsregistrierung stellt Benutzern eine grafische Möglichkeit zur Verfügung, um:

- eine Anwendung zu suchen.

  Nach der Installation ist die Anwendung im Anwendungsmanager “registriert” und verfügt über eine eigene Gruppe von Anwendungen.

#### Gruppen von Anwendungen auf der obersten Ebene des Anwendungsmanagers

- eine Anwendung zu starten.

  Die Gruppe von Anwendungen für die Anwendung enthält ein Symbol, das der Benutzer doppelklicken kann, um die Anwendung zu starten.

#### Eine Gruppe von Anwendungen mit einem Symbol zum Starten der Anwendung

- Datendateien zu identifizieren und zu bearbeiten. Die Datendateien der Anwendung verfügen über ein eindeutiges Symbol im Dateimanager.

  Der Benutzer kann Datendateisymbole verwenden, um

  - die Anwendung zu starten (öffnen).

  - Datendateien zu drucken.

#### Menü einer Datendatei mit ´Öffnen ´ und ´Drucken ´

- andere Operationen, wie beispielsweise das elektronische Versenden von Post, Komprimieren, Anzeigen oder Abspielen von (Audio-) Daten durchzuführen.

### Zweck der Anwendungsregistrierung

Eine registrierte Desktop-Anwendung verfügt über bestimmte Konfigurationsdateien, die das Desktop verwendet, um die Benutzerschnittstelle der Anwendung zur Verfügung zu stellen:

- Definitionsdateien für Aktionen und Datentypen

- Symbolbilddateien (Pixmap oder Bitmap)

- ein Verzeichnis und Dateien, die die Gruppe von Anwendungen erstellen

- wahlweise Desktop-Hilfedateien und Bedienfelddefinitionsdateien

Damit diese Dateien vom Desktop erkannt und verwendet werden können, müssen sie in bestimmten Verzeichnissen stehen, die durch die Suchpfade des Desktops angegeben werden.

Die Verwaltung einer Anwendung wird erschwert, wenn deren Konfigurationsdateien auf viele verschiedene Verzeichnisse verteilt sind. Daher gestattet das Desktop einer Anwendung, alle ihre Desktop-Konfigurationsdateien in einem Verzeichnis zusammengestellt aufzubewahren. Diese Zusammenstellung von Dateien wird als
Registrierungspaket bezeichnet.

Ist die Anwendung Desktop-fähig, stellt sie ein Registrierungspaket als Bestandteil des Installationspakets zur Verfügung. Erstellt der Systemadministrator die Konfigurationsdateien selbst, kann er das Registrierungspaket selbst erstellen.

Die Konfigurationsdateien in dem Registrierungspaket sind für das Desktop nicht verfügbar, weil sie sich nicht in den entsprechenden Verzeichnissen des Suchpfads befinden. Der Prozeß, bei dem diese Dateien an die zutreffende Position gestellt werden, wird als
Registrierung oder Integrierung der Anwendung bezeichnet.

Das Desktop stellt ein Werkzeug, `dtappintegrate`, zur Verfügung, das die Registrierung durchführt, indem es symbolisch verbundene Darstellungen der Dateien in den entsprechenden Verzeichnissen des Suchpfads erstellt.

Viele Desktop-fähige Anwendungen führen `dtappintegrate` während des Installationsprozesses automatisch aus. Integriert ein Systemadministrator eine bereits vorhandene Anwendung, kann er `dtappintegrate` selbst ausführen, nachdem er ein Registrierungspaket erstellt hat.

Sobald eine Anwendung auf dem Desktop eines Systems registriert ist, steht die Anwendung allen Benutzern am System zur Verfügung. Ist das System als ein Desktop-Anwendungs-Server
konfiguriert, steht die Anwendung außerdem allen anderen Systemen im Netzwerk zur Verfügung.

Das Werkzeug `dtappintegrate` verfügt über eine Befehlszeilenoption, die den Prozeß rückgängig macht, indem sie die Verbindungen abbricht. Es ist daher kein Problem, die Anwendung aus dem Anwendungsmanager zu entfernen, um sie einem anderen Anwendungs-Server hinzuzufügen oder sie zu aktualisieren.

## Allgemeine Schritte bei der Registrierung einer Anwendung

Ein ausführliches Beispiel, bei dem anhand dieser Schritte ein Anwendungspaket erstellt wird, kann dem Abschnitt sag.regap.mkr.31 entnommen werden.

1. Sämtliche Anwendungsressourcen, die Schriftarten und Farben setzen, ändern. Geschieht dies nicht, funktionieren die dynamischen Schriftarten und Farben des Desktops nicht richtig.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.14 entnommen werden.

2. Ein Anwendungsstammverzeichnis erstellen.

   Siehe sag.regap.mkr.15 .

3. Die Verzeichnisstruktur unterhalb des Anwendungsstammverzeichnisses erstellen.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.16 entnommen werden.

4. Die Aktionen und Datentypen für die Anwendung erstellen.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.19 entnommen werden.

5. Die Hilfedateien in ein entsprechendes Verzeichnis stellen.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.21 entnommen werden.

6. Die Dateien der Online-Dokumentation (Infobiblio) in ein entsprechendes Verzeichnis stellen.

   Weitere Informationen können dem Abschnitt SAG.RegAp.div.19a entnommen werden.

7. Die Symbole für die Anwendung erstellen.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.22 entnommen werden.

8. Die Gruppe von Anwendungen für die Anwendung erstellen.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.23 entnommen werden.

9. Die Anwendung mit `dtappintegrate` registrieren.

   Weitere Informationen können dem Abschnitt sag.regap.mkr.29 entnommen werden.

## Schritt 1: Schriftarten- und Farbressourcen ändern

Ein Beispiel für das Ändern von Ressourcen für eine Anwendung kann Schritt 1 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.33-- entnommen werden.

Das Desktop stellt Mechanismen für das Setzen und Bearbeiten von Schnittstellenschriftarten und Fensterfarben zur Verfügung. Damit eine Anwendung diese Mechanismen ohne Probleme verwenden kann, muß möglicherweise die Datei `app-defaults` der Anwendung geändert werden.

### Schriftartenressourcen ändern

Dieser Abschnitt bezieht sich auf Anwendungen, die mit Motif 1.2™ (oder neueren Versionen) erstellt wurden. Der Umgebungsmanager kann keine Schnittstellenschriftarten für Anwendungen setzen, die mit älteren Versionen von Motif geschrieben wurden.

Der Desktop-Umgebungsmanager setzt Schnittstellenschriftarten für Anwendungen, die mit Motif 1.2 (oder neueren Versionen) erstellt wurden, sofern für die Anwendung nicht anwendungsspezifische Schnittstellenschriftarten angegeben sind.

Der Umgebungsmanager stellt zwei Schriftarten zur Verfügung:

Systemschriftart wird vom System für Bezeichnungen, Menüs und Tasten verwendet.

Benutzerschriftart wird für bearbeitbare Bereiche, wie z.B. Textfelder, verwendet.

Jede Schriftart steht in sieben Größen, die im Dialogfenster Schriftarten mit 1 bis 7 bezeichnet sind, zur Verfügung. Die Schriftarten des Umgebungsmanagers werden durch die Umgebungsmanagerressourcen, die in `/usr/dt/app-defaults/`sprache`/Dtstyle` gesetzt werden, mit den tatsächlichen Schriftarten am System verbunden.

Soll die Anwendung 'Schriftarten' des Umgebungsmanagers verwenden, müssen Anwendungsressourcen, die Schnittstellenschriftarten angeben, entfernt werden. Das Desktop legt die Ressourcen der Anwendung automatisch entsprechend fest:

`FontList` | auf Systemschriftart festgelegt.
`XmText*FontList` | auf Benutzerschriftart festgelegt.
`XmTextField*FontLis`t | auf Benutzerschriftart festgelegt.

### Farbressourcen ändern

Der Umgebungsmanager kann Anwendungsfarben dynamisch ändern. Die Anwendung muß ein Client unter Motif 1.1 oder 1.2 sein. Clients, die mit einem anderen Hilfsprogramm geschrieben wurden, können ihre Farben nicht dynamisch ändern. In diesem Fall muß der Client erneut gestartet werden.

Der einfachste Weg, um die dynamischen Farben, die das Desktop zur Verfügung stellt, zu verwenden, ist, alle Anwendungsfarbressourcen für Vordergrund- und Hintergrundfarbe zu entfernen.

## Schritt 2: Desktop-Anwendungsstammverzeichnis erstellen

Ein Beispiel für die Erstellung des Desktop-Anwendungsstammverzeichnisses für eine Anwendung kann Schritt 2 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.33 entnommen werden.

Die Registrierungspaketdateien für die Anwendung werden in ein Verzeichnis gestellt, das Anwendungsstammverzeichnis, oder
app_root genannt wird. Das Verzeichnis app_root, das für die Desktop-Konfigurationsdateien verwendet wird, kann dasselbe Verzeichnis app_root sein, das für die Installation der Anwendung verwendet wurde, es kann aber auch an einer anderen Position sein.

Angenommen, eine Anwendung ist unter einem Verzeichnis `/usr/BTE` installiert. Dasselbe Verzeichnis könnte auch als app_root für die Desktop-Konfigurationsdateien verwendet werden. Dennoch empfiehlt es sich, bei der Integrierung einer bereits vorhandenen nicht Desktop-fähigen Anwendung ein anderes Desktop-Verzeichnis app_root zu erstellen. Dadurch wird verhindert, daß die erstellten Konfigurationsdateien bei einer möglichen Aktualisierung der Anwendung überschrieben werden.

So könnte ein Systemadministrator beispielsweise ein Verzeichnis `/etc/desktop_approots/BTE` als das Desktop-Verzeichnis app_root erstellen.

## Schritt 3: Registrierungspaketverzeichnisse erstellen

Ein Beispiel für die Erstellung der Registrierungspaketverzeichnisse für eine Anwendung kann Schritt 3 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.34 entnommen werden.

Bei dem Registrierungspaket handelt es sich um die Gruppe der Desktop-Konfigurationsdateien, die das Desktop verwendet, um eine grafische Schnittstelle für die Anwendung zur Verfügung zu stellen.

### Inhalt des Registrierungspakets

Die Desktop-Konfigurationsdateien enthalten:

- Definitionsdateien für Aktionen und Datentypen

- Symbolbilddateien

- ein Verzeichnis für eine Gruppe von Anwendungen und dessen Inhalt

- wahlweise: Hilfedatendateien und eine Bedienfeldkonfigurationsdatei

Das Registrierungspaket ist unter einem Verzeichnis der obersten Ebene, dem Anwendungsstammverzeichnis oder app_root, zusammengestellt.

#### Ein Registrierungspaket unterhalb eines Anwendungsstammverzeichnisses

Die wichtigsten Kategorien von Konfigurationsdateien unter dem Verzeichnis app_root sind:

Unterverzeichnis | Inhalt
`types` | Definitionsdateien für Aktionen und Datentypen
`help` | Desktop-Hilfedateien
`icons` | Bitmap- und Pixmap-Abbilddateien, die von den Aktionen und Datentypen der Anwendung verwendet werden
`appmanager` | das Verzeichnis mit Inhalt, das die Gruppe von Anwendungen erstellt
`infobiblio` | Dateien der Online-Dokumentation, die als Infobiblios, Bücherregale und Bücher organisiert sind

Jede dieser Kategorien verfügt über Unterverzeichnisse für sprachabhängige Dateien. Standardsprachdateien stehen im Verzeichnis C.

#### Registrierungspaket erstellen

- Folgende Verzeichnisse erstellen. Werden sprachabhängige Konfigurationsdateien verwendet, muß ein eigenes Verzeichnis für jede Sprache erstellt werden. Wird nur eine Sprache verwendet, werden die Dateien in das Verzeichnis `C` gestellt.

  - app_root`/dt/appconfig/types/`sprache

  - app_root`/dt/appconfig/help/`sprache

  - app_root`/dt/appconfig/icons/`sprache

  - app_root`/dt/appconfig/appmanager/`sprache/anwendungsgruppe_name, wobei anwendungsgruppe_name der Name der Gruppe von Anwendungen ist.

    Beispielsweise zeigt sag.regap.mkr.18 den Anwendungsmanager mit einer Gruppe, für die anwendungsgruppe_name “Medien_Werkzeuge” ist.

##### Gruppe von Anwendungen auf der obersten Ebene des Anwendungsmanagers

Das Werkzeug `dtappintegrate` kann nur für die Desktop-Konfigurationsdateien in den Verzeichnissen `types`, `help`, `icons` und `appmanager` angewendet werden. Die binäre Befehlsdatei `app-defaults` der Anwendung und Nachrichtenkatalogdateien werden separat verwaltet.

## Schritt 4: Aktionen und Datentypen für die Anwendung erstellen

Ein Beispiel für die Erstellung der Aktionen und Datentypen für eine Anwendung kann Schritt 4 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.35 entnommen werden.

Aktionen und Datentypen stellen eine Benutzerschnittstelle für die Anwendung zur Verfügung.

- Aktionen stellen eine Benutzerschnittstelle zur Verfügung, von der aus der Befehl die Anwendung startet.

- Datentypen stellen ein angepaßtes Erscheinungsbild und angepaßtes Verhalten für die Datendateien der Anwendung zur Verfügung.

### Aktionen und Datentypen, die für eine Anwendung erforderlich sind

Bei typischen Anwendungen sind folgende Definitionen für Aktionen und Datentypen erforderlich:

- Eine Aktion, die die Anwendung öffnet.

- Ein Datentyp für die Datendateien der Anwendung. Wird ein Datentyp erstellt, müssen folgende Aktionen ebenfalls erstellt werden:

  - eine Aktion “Öffnen” für die Datendateien der Anwendung

  - eine Aktion “Drucken” für die Datendateien der Anwendung

- Ein Datentyp für die Gruppe von Anwendungen. (Weitere Informationen können dem Abschnitt sag.regap.mkr.26 entnommen werden.)

Eine Einführung zur Verwendung von Aktionen und Datentypen auf dem Desktop enthält sag.intac.mkr.1.

### Position der Konfigurationsdateien mit den Definitionen für Aktionen und Datentyp

Aktionen und Datentypen werden in Konfigurationsdateien definiert. Das einzige Erfordernis bei der Benennung von Dateien, die Definitionen für Aktionen und Datentypen enthalten, ist, daß sie mit dem Suffix `.dt` versehen sein müssen. Konventionellerweise wird die Datei aktion_name`.dt` oder anwendung_name`.dt` genannt.

Dateien, die Aktionen und Datentypen enthalten, werden unter das Anwendungsstammverzeichnis in das Verzeichnis app_root`/dt/appconfig/types/`sprache gestellt. Standardwert für sprache ist C.

#### Definitionsdateien für Aktionen und Datentypen

### Möglichkeiten, Aktionen und Datentypen zu erstellen

Definitionen für Aktionen und Datentypen für eine Anwendung können auf zwei verschiedene Art und Weisen erstellt werden:

- mit dem Werkzeug “Aktion erstellen”

  “Aktion erstellen”stellt eine benutzerfreundliche Schnittstelle mit Textfeldern zur Verfügung, die der Benutzer ausfüllen muß. Hier muß der Benutzer bestimmte Einschränkungen hinnehmen.

- oder manuell

  Hierfür ist es erforderlich, daß der Benutzer die Syntax für die Erstellung der Definitionen erlernt, aber dafür erhält er Zugriff auf sämtliche Funktionen.

### Aktionen und Datentypen mit “Aktion erstellen” erstellen

Bei dieser Prozedur wird das Dienstprogramm “Aktion erstellen” verwendet, um eine Aktion und Datentypen für die Anwendung zu erstellen.

Weitere Informationen zu “Aktion erstellen” können der zugehörigen Online-Hilfefunktion oder sag.dtcra.mkr.1 entnommen werden.

1. Die Gruppe von Anwendungen “Desktop_Anwendungen” öffnen und “Aktion erstellen” doppelklicken.

2. Mit “Aktion erstellen” die Definitionen für Aktionen und Datentypen für die Anwendung und deren Datentyp erstellen.

   Die Konfigurationsdatei, die mit “Aktion erstellen” erstellt wurde, wird in das Verzeichnis Standardverzeichnis`/.dt/type/`aktion_name`.dt` geschrieben. Die Aktionsdatei (die ausführbare Datei mit demselben Namen wie die Aktion) wird in das Standardverzeichnis gestellt.

3. Die Aktion mit der Aktionsdatei aus dem Standardverzeichnis testen.

4. Die Definitionsdatei für Aktionen, Standardverzeichnis`/.dt/type/`aktion_name`.dt`, in das Verzeichnis app_root`/dt/appconfig/types/`sprache kopieren.

5. Nachdem das Verzeichnis für die Gruppe von Anwendungen erstellt wurde (siehe Abschnitt sag.regap.mkr.23), die Aktionsdatei Standardverzeichnis`/`aktion_name in das Verzeichnis app_root`/dt/appconfig/appmanager/`sprache`/`anwendungsgruppe_name kopieren.

### Aktionen und Datentypen manuell erstellen

- Eine Konfigurationsdatei mit den Definitionen für Aktionen und Datentypen für die Anwendung erstellen.

Definitionsdateien für Aktionen und Datentypen müssen der Benennungskonvention name`.dt` entsprechen.

Der Benutzer kann alle Definitionen für Aktionen und Datentypen in eine einzige Datei stellen, oder er kann sie auf viele verschiedene Dateien verteilen. Für jede Datei sollte ein Dateiname verwendet werden, aus dem für Systemadministratoren die Anwendung leicht erkennbar ist.

Die Namen für Aktionen und Datentypen müssen aus einem Wort bestehen (keine eingegebenen Leerzeichen). Unterstreichungszeichen dürfen verwendet werden. Konventionellerweise wird der erste Buchstabe des Aktions- oder Datentypnamens als Großbuchstabe geschrieben. Es darf kein bereits vorhandener Aktions- oder Dateiname verwendet werden. Es sollte ein Name verwendet werden, aus dem für fortgeschrittene Benutzer und Systemadministratoren die Anwendung leicht erkennbar ist.

Soll das Symbol der Anwendung mit einem anderen Namen als dem Aktionsnamen bezeichnet werden, muß ein Feld `LABEL` in der Definition für die Aktion eingefügt werden.

Weitere Informationen zu der Erstellung von Aktionen und Datentypen können folgenden Kapiteln entnommen werden:

- sag.intac.mkr.1

- sag.dtcra.mkr.1

- sag.cract.mkr.1

- sag.crdt.mkr.1

## Schritt 5: Hilfedateien dem Registrierungspaket hinzufügen

Ein Beispiel für das Hinzufügen von Hilfedateien zu einem Registrierungspaket kann Schritt 5 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.36 entnommen werden.

Verfügt die Anwendung über einen Desktop-
Hilfeband (einen Hilfeband, der mit dem Help Developer's Kit des Desktops erstellt wurde), sollte die Stammdatei für den Hilfeband (`*.sdl`) in das Verzeichnis app_root`/appconfig/dt/help/`sprache gestellt werden.

Grafiken, die in den Hilfedateien verwendet werden, werden normalerweise in ein eigenes Unterverzeichnis für Grafiken gestellt. Die Grafiken müssen in Bezug auf die Stammdatei für den Hilfeband (`*.sdl`) in demselben Verzeichnis stehen, wie bei der Erstellung des Hilfebands.

Stellt die Anwendung keinen Hilfeband zur Verfügung, kann der Benutzer, falls er über den
Help Developer's Kit verfügt, einen Hilfeband erstellen.

Es gibt zwei Stufen der Integration bei einem
Hilfeband:

- Vollständige Integration

  Ist Desktop-Hilfe vollständig integriert, kann auf den Hilfeband von der Anwendung aus zugegriffen werden, zum Beispiel über 'Kontexthilfe' und das Menü 'Hilfe'. Für die vollständige Integration ist die Änderung der ausführbaren Dateien der Anwendung erforderlich.

- Teilweise Integration

  Ist die Desktop-Hilfe partiell integriert, ist sie von der obersten Ebene des Hilfemanagers verfügbar. Aber von den Fenstern der Anwendung kann nicht auf den Hilfeband zugegriffen werden. Es kann eine Aktion erstellt werden, über die aus der Gruppe von Anwendungen auf die Hilfe zugegriffen werden kann. Das folgende Beispiel für eine Aktion zeigt den Hilfeband in der
  Hilfestammdatei `MyApp
  .sdl`:

      ACTION OpenMyAppHelp
      {
         LABEL         MyAppHelp
         ARG_COUNT     0
         TYPE          COMMAND
         WINDOW_TYPE   NO_STDIO
         EXEC_STRING   /usr/dt/bin/dthelpview -helpVolume MyApp
         DESCRIPTION   Anzeige hilft für die Anwendung MyApp.
      }

## Schritt 6: Informationsbibliotheken dem Registrierungspaket hinzufügen

Falls die Anwendung Online-Dokumentation enthält (erstellt mit dem Werkzeug für Desktop-Informationssystementwickler), sollte die Informationsbibliothek (`*.dti`), die die Dokumentation enthält, in folgendes Verzeichnis gebracht werden:

    app_root/dt/Infobiblio/sprache

Von den DocBook-Buchdateien (`*.sgm`) verwendete Grafiken werden normalerweise in einem Unterverzeichnis `Grafiken` abgelegt. Die Grafiken müssen, zusammen mit der Infobiblio-Datei (`*.dti`), in demselben Verzeichnis gespeichert sein, in dem sich die Infobiblio befand, als sie erstellt wurde.

Falls die Anwendung keine Online-Dokumentation anbietet, können Sie sie selbst mit Hilfe des Werkzeugs für Informationssystementwickler erstellen.

Es gibt zwei Integrationsstufen einer Infobiblio:

- Vollständige Integration.

  Wenn eine Infobiblio voll integriert ist, kann auf sie von der Anwendung aus mit dem Befehl `DtActionInvoke`zugegriffen werden, um ein bestimmtes Thema unter dem Informationsmanager anzuzeigen. Eine vollständige Integration beinhaltet die Änderung der Befehlsdateien der Anwendung.

- Teilweise Integration.

  Wenn eine Infobiblio teilweise integriert ist, ist sie von der obersten Ebene des Informationsmanagers aus verfügbar. Sie können jedoch nicht von den Anwendungsfenstern aus auf die Infobiblio zugreifen. Sie können außerdem eine Aktion zur Verfügung stellen, mit der von der Gruppe von Anwendungen aus auf die Infobiblio zugegriffen werden kann. Die folgende Beispielsaktion zeigt die Infobiblio an, die sich in der Infobiblio `MyApp.dti` befindet:

      ACTION OpenMyAppInfobiblio
      {
        LABEL           MyAppInfobiblio
        ARG_TYPE        Infobiblio
        TYPE            MAP
        MAP_ACTION      DtLoadInfobiblio /usr/dt/Infobiblio/C/MyAppInfobiblio.dti
        DESCRIPTION     Fordert den Informationsmanager auf, die Online-Dokumentation für die Anwendung MyApp anzuzeigen.
      }

## Schritt 7: Symbole für die Anwendung erstellen

Ein Beispiel für die Erstellung der Symboldateien für eine Anwendung kann Schritt 6 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.37 entnommen werden.

Das Desktop stellt Standardsymbole für Aktionen, Datentypen und Gruppen von Anwendungen zur Verfügung. Aber möglicherweise hat der Benutzer den Wunsch, eindeutige Symbole für die Anwendung zu erstellen.

Symbole werden in das Verzeichnis app_root`/dt/appconfig/icons/`sprache gestellt.

### Für das Desktop erforderliche Symbole

Die Anwendung verwendet folgende Symbolabbilder auf dem Desktop:

- Aktionssymbol. Dieses Symbol muß der Benutzer doppelklicken, um die Anwendung (Aktionen) zu starten. Auf dieses Symbol wird im Feld `ICON` der Aktion, die die Anwendung startet, Bezug genommen.

  Es sollten drei Größen bereitgestellt werden: klein, mittel und groß.

- Datentypsymbol. Dieses Symbol wird verwendet, um die Datendateien der Anwendung im Dateimanager darzustellen. Auf dieses Symbol wird im Feld `ICON` der Datentypdefinition Bezug genommen.

  Unterstützt die Anwendung mehrere Datentypen, sollte für jeden Datentyp ein anderes Symbol zur Verfügung gestellt werden.

  Es sollten zwei Größen bereitgestellt werden: klein und mittel.

- Symbol für Gruppe von Anwendungen. Dieses Symbol stellt das Verzeichnis auf der obersten Ebene des Anwendungsmanagers dar. Auf dieses Symbol wird im Feld `ICON` der Datentypdefinition für die Gruppe von Anwendungen Bezug genommen. (Siehe sag.regap.mkr.23 .)

  Es sollten zwei Größen bereitgestellt werden: klein und mittel.

Es ist möglicherweise notwendig, sowohl Pixmap- als auch Bitmap-Versionen jedes Symbols bereitzustellen, um Farb- (acht Bit und größer) und Monochrombildschirme (weniger als acht Bit) zu unterstützen.

### Benennungskonventionen für Symboldateien

Größe | Pixel-Abmessung | Bitmap-Name | Pixmap-Name
klein | 16 x 16 | Dateiname ohne Pfad`.t.bm` | Dateiname ohne Pfad`.t.pm`
mittel | 32 x 32 | Dateiname ohne Pfad`.m.bm` | Dateiname ohne Pfad`.m.pm`
groß | 48 x 48 | Dateiname ohne Pfad`.l.bm` | Dateiname ohne Pfad`.l.pm`

Werden keine Bitmap-Dateien zur Verfügung gestellt, ordnet das Desktop die Farbspezifikationen der Pixmap-Dateien Schwarz- und Weißwerten zu. Dennoch kommt es möglicherweise zu Abweichungen von dem vom Benutzer gewünschten Erscheinungsbild.

Weitere Informationen zu Symbolen können dem Abschnitt sag.cricn.mkr.3 entnommen werden.

## Schritt 8: Die Gruppe von Anwendungen erstellen

Ein Beispiel für die Erstellung der Gruppe von Anwendungen kann Schritt 7 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.38 entnommen werden.

Nachdem die Definitionen für Aktionen und Datentypen für die Anwendung erstellt wurden, müssen die Konfigurationsdateien für das, was der Benutzer am Bildschirm tatsächlich sieht, nämlich die Gruppe von Anwendungen und deren Inhalt, erstellt werden.

Bei der Gruppe von Anwendungen handelt es sich um ein Verzeichnis auf der obersten Ebene des Anwendungsmanagers (siehe sag.regap.mkr.4).

Die Gruppe von Anwendungen wird in drei Schritten erstellt:

- das Verzeichnis für die Gruppe von Anwendungen im Registrierungspaket erstellen.

- wahlweise: für die Gruppe von Anwendungen ein eindeutiges Symbol erstellen. Hierzu muß die Datentypdefinition für das Verzeichnis für die Gruppe von Anwendungen erstellt werden.

- den Inhalt der Gruppe von Anwendungen erstellen.

### Das Verzeichnis für die Gruppe von Anwendungen erstellen

Um eine Gruppe von Anwendungen zu erstellen, die Verzeichnisse in dem Registrierungspaket unter `appmanager`, wie in sag.regap.mkr.24 gezeigt, erstellt:

#### Das Verzeichnis `appmanager`

### Name der Gruppe von Anwendungen

Der Name <Name der Anwendungsgruppe> in sag.regap.mkr.25 ist der Name für die Gruppe von Anwendungen.

#### Der Name der Gruppe von Anwendungen (<Name der Anwendungsgruppe>)

Bei dem Namen kann es sich um jeden zulässigen Datei- (bzw. Verzeichnis-) namen handeln. Ein deskriptiver Name ist empfehlenswert.

### Eindeutige Symbole für Gruppen von Anwendungen definieren

Das Desktop stellt ein Standardsymbol für Gruppen von Anwendungen zur Verfügung. Dennoch kann der Benutzer ein eigenes Symbol erstellen.

Möchte der Benutzer ein eindeutiges Symbol für die Gruppe von Anwendungen erstellen, muß er

- einen Datentyp für das Verzeichnis, das auf der obersten Ebene des Anwendungsmanagers erscheint, erstellen.

- die Aktionen 'Öffnen' und 'Drucken' für den Datentyp erstellen.

Angenommen, der Benutzer möchte eine Gruppe von Anwendungen mit dem Namen Medienwerkzeuge erstellen. Die folgende Datentypdefinition in einer Datei app_root`/dt/appconfig/types/`sprache/name`.dt` ordnet der Gruppe von Anwendungen ein eindeutiges Symbol zu.

    DATA_ATTRIBUTES Medien_WerkzeugeAppgroup
    {
       ACTIONS      OpenInPlace,OpenNewView
       ICON         Medien_Werkzeuge
       DESCRIPTION  Double-click to open the Medien_Werkzeuge \
                    Gruppe von Anwendungen
    }
    DATA_CRITERIA  Medien_WerkzeugeAppgroupCriteria1
    {
       DATA_ATTRIBUTES_NAME  Medien_WerkzeugeAppgroup
       MODE                  d
       PATH_PATTERN          */appmanager/*/Medien_Werkzeuge
    }

Der Abschnitt Attribute der Definition gibt an, welches Symbol verwendet werden soll. Der Abschnitt Kriterien der Definition gibt an, daß der Datentyp für jedes Verzeichnis mit Namen `Medien_Werkzeuge` definiert wird, das ein Unterverzeichnis des Verzeichnisses `appmanager` ist.

sag.regap.mkr.27 zeigt die Beziehung zwischen dem Namen der Gruppe von Anwendungen und der Datentypdefinition. Das Feld `PATH_PATTERN` in der Datentypdefinition verbindet ein eindeutiges Symbol mit der Gruppe von Anwendungen.

#### Zuordnung eines Symbols zu einer Gruppe von Anwendungen

Anschließend sollte der Benutzer die Aktionen 'Öffnen' und 'Drucken' für den Datentyp der
Gruppe von Anwendungen erstellen:

    ACTION Open
    {
       ARG_TYPE      Medien_WerkzeugeAppGroup
       TYPE          MAP
       MAP_ACTION    OpenAppGroup
    }
    ACTION Print
    {
       ARG_TYPE      Medien_WerkzeugeAppGroup
       TYPE          MAP
       MAP_ACTION    PrintAppGroup
    }

Bei den Aktionen OpenAppGroup und PrintAppGroup handelt es sich um integrierte Aktionen, die in `/usr/dt/appconfig/types/`sprache`/dtappman.dt` definiert sind.

### Inhalt der Gruppe von Anwendungen erstellen

Das wichtigste Element in der Gruppe von Anwendungen ist ein Symbol, mit dem die Anwendung gestartet wird (ein Aktionssymbol). Enthält die Gruppe von Anwendungen mehrere Anwendungen, gibt es normalerweise ein Symbol für jede Anwendung.

Zusätzlich zu einem oder mehreren Aktionssymbolen kann die Gruppe von Anwendungen noch folgendes enthalten:

- eine oder mehrere README-Dateien

- eine oder mehrere Beispieldatendateien

- Schablonen

- ein Symbol, das der Benutzer doppelklicken kann, um Hilfeinformationen anzuzeigen

- eine Hilfeseite

- ein spezialisiertes Bedienelement im Bedienfeld

Die Gruppe von Anwendungen kann Unterverzeichnisse enthalten.

#### Aktionsdatei (Anwendungssymbol) erstellen

Die Gruppe von Anwendungen sollte ein Symbol enthalten, das die Anwendung startet. Besteht die Gruppe aus mehreren Anwendungen, sollte für jede Anwendung ein Symbol vorhanden sein. Diese Symbole werden Anwendungssymbole oder Aktionssymbole genannt, da sie eine zugrundeliegende Aktion darstellen.

Ein Aktionssymbol wird erstellt, indem eine ausführbare Datei mit demselben Namen wie die Aktion, die sie ausführen soll, erstellt wird:

    app_root/dt/appconfig/appmanager/anwendungsgruppe_name/aktion_name

Die Datei wird
Aktionsdatei genannt, weil sie eine zugrundeliegende Aktion bildhaft darstellen soll.

Wurde beispielsweise eine Aktion mit dem Namen 'BesterTextEditor' erstellt, die die Anwendung 'BesterTextEditor' ausführt, muß eine ausführbare Datei mit Namen 'BesterTextEditor' erstellt werden. Im Dateimanager und dem Anwendungsmanager verwendet die Aktionsdatei das Symbolbild, das in der Definition für die Aktion angegeben wurde.

sag.regap.mkr.28 zeigt die Beziehung zwischen der Definition der Aktion, der Aktionsdatei und dem tatsächlichen Eintrag im Fenster des Anwendungsmanagers.

##### Das Anwendungssymbol ist eine Datei in der Gruppe von Anwendungen

#### Read Me-Dateien

Das Desktop stellt einen README-Datentyp zur Verfügung, der für die README-Dateien der Anwendung verwendet werden kann. Eine der folgenden Benennungskonventionen verwenden:

- `README`

- `readme`

- `README.*`

- `Read.*.Me`

- `read.*.me`

- `READ.*.ME`

#### Ein spezialisiertes Bedienelement im Bedienfeld erstellen

In den meisten Fällen ist es nicht notwendig, eine Definition für das Bedienelement im Bedienfeld zur Verfügung zu stellen. Der Benutzer kann die Anwendung zum Bedienfeld hinzufügen, indem er das Aktionssymbol dem Bedienelement Install Icon in einer Bedientafel übergibt.

Möglicherweise möchte der Benutzer eine Bedienfeldkonfigurationsdatei erstellen, die eine Bedienelementdefinition für eine Anwendung enthält, wenn Benutzer die Möglichkeit haben sollen, ein Bedienelement zu installieren, das sich anders verhält als das Aktionssymbol. Wenn beispielsweise das Bedienelement eine Datei überwacht und sein Erscheinungsbild ändern soll, wenn die überwachte Datei sich ändert.

Bedienfeldkonfigurationsdateien werden in das Verzeichnis app_root`/dt/appconfig/types/`sprache gestellt. Die Benennungskonvention lautet name`.fp`.

Wird eine Konfigurationsdatei bereitgestellt, die ein Bedienelement enthält, kann der Benutzer das Bedienelement einer Bedientafel hinzufügen, indem er die Datei `*.fp` dem Bedienelement 'Install Icon' in der Bedientafel übergibt.

Beispielsweise kann die folgende Definition in eine Bedienfeldkonfigurationsdatei in der Gruppe von Anwendungen gestellt werden. Übergibt der Benutzer diese Datei einem Bedienelement 'Install Icon' in einer Bedientafel, wird in der Bedientafel ein Bedienelement erstellt, das die Anwendung 'BesterTextEditor' ein einziges Mal ausführt. Wird 'BesterTextEditor' bereits ausgeführt, wird das Fenster auf dem Fensterstapel im aktuellen Arbeitsbereich zuoberst angezeigt.

    CONTROL BesterTextEditorControl
    {
       TYPE          icon
       ICON          BTEFPanel
       PUSH_RECALL   True
       CLIENT_NAME   BTEd
       PUSH_ACTION   BTEditor
       DROP_ACTION   BTEditor
       HELP_STRING   Startet die Anwendung "BesterTextEditor".
    }

Weitere Informationen zum Erstellen von Bedienfeldkonfigurationsdateien befinden sich in:

- sag.frpc.mkr.1

- Hilfeseite `dtfpfile(4)`

## Schritt 9: Anwendungen mit dtappintegrate registrieren

Ein Beispiel für die Registrierung einer Anwendung kann Schritt 8 des Abschnitts sag.regap.mkr.31 auf sag.regap.mkr.39 entnommen werden.

Sobald ein Registrierungspaket unter einem Anwendungsstammverzeichnis erstellt wurde, kann die tatsächliche Anwendungsregistrierung durchgeführt werden.

Die Anwendungsregistrierung stellt Verbindungen zwischen dem Registrierungspaket und den Verzeichnissen im Desktop-Suchpfad her. (Weitere Informationen können dem Abschnitt sag.regap.mkr.30 entnommen werden.)

### Anwendungen mit dtappintegrate registrieren

Ist die Anwendung Desktop-fähig, wird `dtappintegrate` normalerweise als letzter Schritt des Installationsprozesses automatisch ausgeführt. Wird `dtappintegrate` nicht automatisch ausgeführt, oder wurde bei der Erstellung der Konfigurationsdateien eine nicht Desktop-fähige Anwendung integriert, kann `dtappintegrate` auch manuell ausgeführt werden.

1. Als Benutzer 'root' anmelden.

2. Folgenden Befehl ausführen:

   `/usr/dt/bin/dtappintegrate -s app_root`

   wobei app_root das Desktop-Anwendungsstammverzeichnis ist. Weitere Informationen können der Hilfeseite `dtappintegrate(1)` entnommen werden.

3. Die Gruppe von Anwendungen Desktop-Werkzeuge öffnen und 'Anwendungen erneut laden' doppelklicken.

4. Überprüfen, ob die Anwendung richtig registriert ist:

   - Die oberste Ebene des Anwendungsmanagers anzeigen. Die neue Gruppe von Anwendungen sollte nun im Anwendungsmanager erscheinen.

   - Die Gruppe von Anwendungen öffnen und das Aktionssymbol doppelklicken.

#### Syntax und Optionen bei dtappintegrate

`dtappintegrate -s app_root [-t ziel_pfad] [-l sprache] [-u]`

`-s` app_root | Erforderlicher Parameter. Gibt das Anwendungsstammverzeichnis an, unter dem die Anwendung installiert wurde.
`-t` ziel_pfad | Wahlfreier Parameter. Standardmäßig wird die Position `/etc/dt/appconfig` im System verwendet. Gibt die Position an, mit der die Desktop-Konfigurationsdateien verbunden werden. Es muß eine Position im Anwendungssuchpfad verwendet werden.
`-l` sprache | Wahlfreier Parameter. Standardmäßig ist jede Sprache möglich. Gibt an, welche sprachabhängigen Desktop-Konfigurationsdateien integriert werden sollen.
`-u` | Wahlfreier Parameter. Macht die Integrierung der Anwendung rückgängig und entfernt alle Verbindungen, die während der Integrierung gesetzt wurden.

### Wie dtappintegrate Anwendungen integriert

Die Funktion von `dtappintegrate` besteht darin, Verbindungen zwischen den installierten Dateien und den Positionen, wo das Desktop die Konfigurationsdateien sucht, herzustellen.

#### Aktionen und Datentypen

`dtappintegrate` erstellt symbolische Verweise von den Definitionsdateien für Aktionen und Datentypen im Registrierungspaket zu dem systemweiten Verzeichnis im Suchpfad der Aktionsdatenbankhilfe. Hierzu werden Verbindungen von

`app_root/dt/appconfig/types/sprache/*.dt`

zu

`/etc/dt/appconfig/types/sprache/*.dt`

hergestellt.

#### Informationsbibliotheken

`dtappintegrate` erstellt symbolische Verweise von den Informationsbibliotheken (Infobiblios) im Registrierungspaket zum systemweiten Verzeichnis entlang des Infobiblio-Suchpfades. Dies geschieht durch das Erstellen von Verweisen von

    app_root/dt/Infobiblio/sprache/*.dti

zu

    /etc/dt/Infobiblio/sprache/*.dti

#### Hilfeinformationsdateien

`dtappintegrate` erstellt symbolische Verbindungen von den Hilfedateien im Registrierungspaket zu dem für das System definierten Verzeichnis im Hilfesuchpfad. Hierzu werden Verbindungen von

`app_root/dt/appconfig/help/sprache/help_file.sdl`

zu

`/etc/dt/appconfig/help/sprache/help_file.sdl`

hergestellt.

#### Symboldateien

`dtappintegrate` erstellt symbolische Verbindungen von den Symboldateien im Registrierungspaket zu dem für das System definierten Verzeichnis im Symbolsuchpfad. Hierzu werden Verbindungen von

`app_root/dt/appconfig/icons/sprache/icon_files`

zu

`/etc/dt/appconfig/icons/sprache/icon_files`

hergestellt.

#### Gruppe von Anwendungen

Um die Gruppe von Anwendungen für die Anwendung in die oberste Ebene des Anwendungsmanagers zu stellen, erstellt `dtappintegrate` eine Verbindung zwischen dem Verzeichnis für die Gruppe von Anwendungen im Registrierungspaket und der für das System definierten Position im Anwendungssuchpfad. Hierzu werden Verbindungen vom Verzeichnis

`app_root/dt/appconfig/appmanager/sprache/anwendungsgruppe_name`

zu

`/etc/dt/appconfig/appmanager/sprache/anwendungsgruppe_name`

hergestellt.

## Beispiel für die Erstellung eines Registrierungspakets

Mit den folgenden Schritten wird ein Registrierungspaket für eine bereits vorhandene, nicht Desktop-fähige Anwendung mit dem Namen “BesterTextEditor” erstellt.

### Notwendige Informationen zu 'BesterTextEditor'

In diesem Beispiel wird für die Anwendung “BesterTextEditor” folgendes vorausgesetzt:

- Sie wurde im Verzeichnis `/usr/BTE` installiert.

- Die Session-Sprache des Benutzers ist der Standardwert `C`.

- “BesterTextEditor” wird mit folgender Befehlszeile gestartet:

  `BTEd [dateiname]`

  wobei dateiname der Name der Datendatei ist, die in dem neuen Fenster geöffnet werden soll. 'BesterTextEditor' erstellt sein eigenes Fenster, d.h. diese Anwendung wird nicht innerhalb eines emulierten Terminalfensters ausgeführt.

- 'BesterTextEditor' erstellt und verwendet zwei Arten von Datendateien:

  - Dokumentationsdateien. Hierfür wird die Benennungskonvention `*.bte` verwendet. “BesterTextEditor”stellt eine Befehlszeile für das Ausdrucken der `*.bte`-Datendateien zur Verfügung. Die Syntax dieses Befehls lautet:

    `BTEPrint [-d zieldrucker] [-s] dateiname`

    wobei

    `-d` zieldrucker | den Zieldrucker angibt.
    `-s` | angibt, daß sofort gedruckt wird und das Dialogfenster Drucken der Anwendung nicht angezeigt wird.
    dateiname | die zu druckende Datei angibt.

  - Schablonendateien. Hierfür wird die Benennungskonvention `*.tpl` verwendet. Schablonendateien können nicht gedruckt werden.

- Die bereits vorhandenen, nicht Desktop-fähigen Dateien app-defaults für 'BesterTextEditor' enthalten Ressourcen für Schnittstellenschriftarten und Vordergrund- und Hintergrundfarben.

- Ein Online-Hilfeband für 'BesterTextEditor' wurde mit Hilfe des Help Developer's Kit des Desktop erstellt. Für die Erstellung des Online-Hilfebands wurden folgende Quellendateien verwendet:

      …/BTEHelp.htg
      …/graphics/BTE1.xwd
      …/graphics/BTE2.xwd

  und die Datei `…/BTEHelp.sdl` erstellt.

### Schritte beim Registrieren von 'BesterTextEditor'

Mit der folgenden schrittweisen Prozedur wird 'BesterTextEditor' registriert:

1. Schriftarten- und Farbressourcen ändern

   In der Datei app-defaults des 'BesterTextEditor' die Ressourcen, die

   - Schriftarten für Text und

   - Farben für Vorder- und Hintergrund

     festlegen, entfernen.

2. Anwendungsstammverzeichnis erstellen

   Folgendes Verzeichnis erstellen:

   `/desktop_approots/BTE`

   Wird eine bereits vorhandene Anwendung integriert, sollte das Anwendungsstammverzeichnis an einer anderen Stelle erstellt werden, als der Position, an der die Installation erfolgte, da sonst die erstellten Konfigurationsdateien bei einer möglichen Aktualisierung der Anwendung entfernt werden.

3. Registrierungspaketverzeichnisse erstellen

   Folgende Verzeichnisse erstellen:

       /desktop_approots/BTE/dt/appconfig/types/C
       /desktop_approots/BTE/dt/appconfig/help/C
       /desktop_approots/BTE/dt/appconfig/icons/C
       /desktop_approots/BTE/dt/appconfig/appmanager/C/BesterTextEditor

4. Aktionen und Datentypen für die Anwendung erstellen

   - Die Konfigurationsdatei für die Definitionen für Aktionen und Datentypen erstellen:

     `/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt`

   - Die Aktionsdefinition für die Ausführung von 'BesterTextEditor' erstellen:

         ACTION BTEditor
         {
            WINDOW_TYPE   NO_STDIO
            ICON          BTERun
            DESCRIPTION   Dieses Symbol doppelklicken oder BTE-Daten\
                          datei übergeben, um BTE auszuführen.
            EXEC_STRING   /usr/BTE/BTEd %Arg_1%
         }

   - Den Datentyp für die `*.bte` Dateien erstellen:

         DATA_ATTRIBUTES BTEDataFile
         {
            DESCRIPTION     BesterTextEditor data file.
            ICON            BTEData
            ACTIONS         Open,Print
         }

         DATA_CRITERIA BTEDataFileCriteria1
         {
            DATA_ATTRIBUTES_NAME   BTEDataFile
            NAME_PATTERN           *.bte
            MODE                   f
         }

   - Den Datentyp für die `*.tpl` Dateien erstellen:

         DATA_ATTRIBUTES BTETemplateFile
         {
            DESCRIPTION    BesterTextEditor template file.
            ICON           BTETempl
            ACTIONS        Open
         }

         DATA_CRITERIAL BTETemplateFileCriteria1
         {
            DATA_ATTRIBUTES_NAME   BTETemplateFile
            NAME_PATTERN           *.tpl
            MODE                   f
         }

   - Die Aktion “Öffnen” für die `*.bte` Dateien erstellen:

         ACTION Open
         {
            ARG_TYPE    BTEDataFile
            TYPE        MAP
            MAP_ACTION  BTEditor
         }

   - Die Aktion ´Drucken ´ für `*.bte` Dateien erstellen:

     Im folgenden handelt es sich um einfache Druckaktionen, mit denen die Datendateien gedruckt werden. Bei diesen Aktionen ist ein Wert für die Umgebungsvariable `LPDEST` erforderlich und die Druckoption `-s` wird ignoriert. (Ist `LPDEST` nicht gesetzt, schlägt die Aktion möglicherweise fehl.)

         ACTION Print
         {
            ARG_TYPE     BTEDataFile
            TYPE         MAP
            MAP_ACTION   BTEPrintData
         }
         ACTION BTEPrintData   }
         {
            WINDOW_TYPE  NO_STDIO
            EXEC_STRING  BTEPrint -d $LPDEST %Arg_1%
         }

     Es folgt eine weitere Version der Aktion “BTEPrintData” und einer Begleitprozedur. Diese werden eingesetzt, wenn `LPDEST` nicht gesetzt ist und das Dialogfenster ´Drucken ´ nicht angezeigt werden soll.

         ACTION BTEPrintData
         {
            WINDOW_TYPE   NO_STDIO
            EXEC_STRING   /usr/BTE/bin/BTEenvprint %(File)Arg_1%
         }

     Die Prozedur `/usr/BTE/bin/BTEenvprint` hat folgenden Inhalt:

         # BTEenvprint
         #!/bin/sh
         DEST=''
         SILENT=''
         if [ $LPDEST ]; then
           DEST='-d $LPDEST'   fi   BTEPrint $DEST $SILENT $1

   - Die Aktion “Öffnen” für Dateien im Format `*.tpl` erstellen:

         ACTION Open
         {
            ARG_TYPE    BTETemplateFile
            TYPE        MAP
            MAP_ACTION  BTEditor
         }

   - Die Aktion “Drucken” für Dateien im Format `*.tpl` erstellen:

         ACTION Print
         {
            ARG_TYPES   BTETemplateFile
            TYPE        MAP
            MAP_ACTION  NoPrint
         }

     Bei 'NoPrint' handelt es sich um eine integrierte Aktion, die ein Dialogfenster anzeigt, in dem dem Benutzer mitgeteilt wird, daß die Datei nicht gedruckt werden kann.

5. Hilfedateien in das Registrierungspaket stellen

   - Die Hilfedateien in folgende Positionen stellen:

         /desktop_approots/BTE/dt/appconfig/help/C/BTEHelp.sdl
         /desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE1.xwd
         /desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE2.xwd

   - Folgende Datei erstellen:

     `/desktop_approots/BTE/dt/appconfig/types/C/BTEhelp.dt`.

     Die folgende Aktionsdefinition in die Datei stellen

         ACTION BTEHelp
         {
            WINDOW_TYPE   NO_STDIO
            EXEC_STRING   /usr/dt/bin/dthelpview -helpVolume \
                          BTEHelp.sdl
            DESCRIPTION   Öffnet den BesterTextEditor Hilfeband.
         }

6. Symbole für die Anwendung erstellen

   Die Symbole mit dem Symboleditor erstellen. Folgende Größenrichtlinien beachten:

   Name | Größe
   Dateiname ohne Pfad`.t.pm` | 16 x 16
   Dateiname ohne Pfad`.m.pm` | 32 x 32
   Dateiname ohne Pfad`.l.pm` | 64 x 64

   Diese Symboldateien in folgendem Verzeichnis erstellen: `/desktop_approots/BTE/dt/appconfig/icons/C`:

   - Symbole für die Darstellung der Aktion, die die Anwendung ausführt: `BTERun.t.pm`, `BTERun.m.pm`, `BTERun.l.pm`

   - Symbole, die `*.bte` Dateien darstellen: `BTEData.t.pm`, `BTEData.m.pm`,

   - Symbole, die `*.tpl` Dateien darstellen: `BTETempl.t.pm`, `BTETempl.m.pm`

   - Symbole, die die Gruppe von Anwendungen (siehe Schritt 7) darstellen: `BTEApp.t.pm`, `BTEApp.m.pm`

7. Gruppe von Anwendungen erstellen:

   1. Falls nicht bereits geschehen, folgendes Verzeichnis erstellen:

      `/desktop_approots/BTE/dt/appconfig/appmanager/C/BesterTextEditor`

   2. Dieser Schritt ist wahlfrei. Hierdurch wird ein eindeutiges Symbol für die Gruppe von Anwendungen zur Verfügung gestellt, indem ein Datentyp und zugehörige Aktionen für die Gruppe von Anwendungen erstellt werden. Wird dieser Schritt nicht ausgeführt, verwendet die Gruppe von Anwendungen das Standardsymbol.

      Die folgenden Definitionen für Datentyp und Aktionen der Datei `/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt` hinzufügen. Der Datentyp gibt an, welches Symbol die Gruppe von Anwendungen 'BesterTextEditor' verwendet. Die Aktionen verhalten sich beim Öffnen und Drucken genauso wie die integrierten Gruppen von Anwendungen.

          DATA_ATTRIBUTES BesterTextEditorAppGroup
          {
             ACTIONS   OpenInPlace,OpenNewView
             ICON      BTEApp
          }
          DATA_CRITERIA BesterTextEditorAppGroupCriterial
          {
             DATA_ATTRIBUTES_NAME   BesterTextEditorAppGroup
             MODE                   d
             PATH_PATTERN           */appmanager/*/BesterTextEditor
          }
          ACTION Open
          {
             ARG_TYPE    BesterTextEditorAppGroup
             TYPE        MAP
             MAP_ACTION  OpenAppGroup
          }
          ACTION Print
          {
             ARG_TYPE    BesterTextEditorAppGroup
             TYPE        MAP
             MAP_ACTION  PrintAppGroup
          }

   3. Ein Symbol in der Gruppe von Anwendungen erstellen, das die Anwendung startet. Hierzu folgende Datei erstellen:

      `/desktop_approots/BTE/dt/appconfig/appmanager/C/BesterTextEditor/BTEditor`

      und die Datei ausführbar machen.

   4. Die Aktionsdatei in der Gruppe von Anwendungen erstellen, die den Hilfeband erstellt. Hierzu folgende Datei erstellen:

      `/desktop_approots/BTE/dt/appconfig/appmanager/C/BesterTextEditor/BTEHelp`

      und die Datei ausführbar machen.

   5. Weitere Dateien in die Gruppe von Anwendungen stellen, z.B. Readme-Dateien, Beispieldaten- und Schablonendateien.

8. Anwendung registrieren

   In einem emulierten Terminalfenster

   - als Benutzer 'root' anmelden.

   - Folgenden Befehl ausführen:

     `/usr/dt/bin/dtappintegrate -s /desktop_approots/BTE`

   - Die Gruppe von Anwendungen 'Desktop-Werkzeuge' öffnen und auf 'Anwendungen erneut laden' doppelklicken.