Seitenhistorie
Definition
Eine Bibliothek ist eine Sammlung von Ressourcen, die Sie in eine Schema-Version einbinden können. Anstatt Ressourcen lokal in der Schema-Version anzulegen, können Sie benötigte Ressourcen in Bibliotheken speichernablegen und diese Bibliotheken dann in Ihre Schema-Version einbinden. Die Ressourcen der Bibliothek stehen dann im Schema zur Verfügung. Die Verwendung von Bibliotheken bietet einige Vorteile, unter anderem:
Besseren Überblick über Ressourcen durch Aufteilung in mehrereeinzelne, Bibliothekenthematisch geordnete Bibliotheken.
Wiederverwendung von Ressourcen, da diese nur einmal zentral in einer Bibliothek angelegt werden müssen.
...
Ressourcen müssen nicht in jeder Schema-Version aktualisiert werden, sondern nur zentral in der Bibliothek.
Bibliotheken im R-S Arbeitsablauf
Abbildung A
In eine Schema-Version können beliebig viele Bibliotheken eingebunden werden. Es ist allerdings nicht möglich, eine Bibliothek in eine andere Bibliothek einzubinden. Bibliotheken können ihre Ressourcen also auch nicht an andere Bibliotheken vererben (an andere Bibliotheken weitergeben, die die ursprüngliche Bibliothek dann durch weitere Ressourcen ergänzen). Dennoch können in Bibliotheken Ressourcen aus anderen Bibliotheken genutzt werden, solang beide Bibliotheken später in der gleichen Schema-Version eingebunden werden (mehr dazu hier).
Inhalt und Aufbau von Bibliotheken
...
Abbildung A: (Mögliche) Inhalte einer Bibliothek
B
Eine Bibliothek kann alle R-S Ressourcen enthalten. Bibliotheks-Ressourcen können im Schema normal verwendet werden. In Bibliotheken gibt es jedoch neben den sogenannten INHALTS-WERTEN
(den in der Bibliothek definierten Ressourcen )auch Abb. B) auch sogenannte ERFORDERLICHE RESSOURCEN
:
Abbildung B: Anker Erforderliche Ressourcen Erforderliche Ressourcen
...
Erforderliche Ressourcen
Erforderliche Ressourcen sind in einer Bibliothek
...
definierte, erwartete Ressourcen. Beim Erstellen einer
...
Erforderliche Ressourcen geben Sie der Erforderliche Ressourcen einen Namen
...
. Die Bibliothek erwartet dann bei Einbindung in eine Schema-Version eine Ressource mit diesem Namen.
...
Diese Ressource kann aus
...
der Formular-Version, die die Schema-Version benutzt (Datenstrom-Variablen), der Schema-Version oder einer anderen, in die Schema-Version eingebundenen, Bibliothek stammen.
...
Erforderliche Ressourcen sind nötig, damit Sie in einer Bibliothek
...
mit Ressourcen arbeiten können, die in der Bibliothek nicht existieren, von denen Sie aber wissen, dass Sie später im Schema verfügbar sein werden (z.B. Datenstrom-Variablen des Transaktions-Formulars). Da Bibliotheken unabhängig von Formularen und Schemas sind, weiß eine Bibliothek nicht,
...
welche Ressourcen später im Schema zur Verfügung stehen werden.
...
Abbildung C: Einbindung von Bibliotheken
...
Erforderliche Ressourcen dienen also als Schnittstellen zwischen der Bibliothek und dem Schema / Formular.
Abbildung C
Erforderliche Ressourcen können Sie dann innerhalb der Bibliothek wie ganz normale Ressource benutzen, z.B. in einer EVAL-Anweisung:
Codeblock | ||
---|---|---|
| ||
${Name_der_erforderlichen_Ressource} |
...
Bei der späteren Einbindung in das Schema wird in dem den Ausdruck dann die Ressource eingesetzt, die im in der Schema-Version vorhanden ist und den gleichen Namen hat. Erforderliche Ressourcen sind typunabhängig, das bedeutet der Typ der Ressource, die später die Erforderliche Ressourcen ausfüllt ist irrelevant und kann nicht vorgegeben werden. Sie sollten deshalb bereits bei der Erstellung der Erforderliche Ressourcen wissen, durch welche Ressource sie später ausgefüllt wird. Da der Ausdruck ungültig werden würde, wenn keine Ressource mit diesem Namen im Schema existiert, müssen alle ERFORDERLICHEN RESSOURCEN
vorhanden alle Erforderliche Ressourcen in der Schema-Version vorhanden sein. Andernfalls verursacht die eingebundene Bibliothek bei der Dokumenterstellung einen Fehler und bricht den Prozess ab.
Scroll Pagebreak |
---|
Veranschaulichung:
Abbildung D
In unserem Beispiel haben wir 2 Formulare (
...
bzw.
...
Formular-Versionen):
Im Transaktions-Formular definierte Datenstromvariablen:
- Version 1.0:
DS.LANG
- Version 2.0:
DS.LANG
undDS.CUST
...
Das Formular Werbung und das Formular Rechnung. Die Datenstromvariablen des jeweiligen Formulars sind mit angegeben.
| |
| |
|
Alle Schema-Versionen enthalten nun durch die Einbindung von Bibliothek CI die Ressourcen Firmenlogo
, Firmenslogan
und Unterschrift
. Die Schema-Versionen des Schemas Werbe-Flyer enthalten zusätzlich die Ressourcen Logo_Werbepartner
, Werbeslogan
und Werbetext
aus Bibliothek B. Die Schema-Versionen der Schemas Mahnung und Rechnung enthalten zusätzlich die Ressourcen Rechnungstext
, Preisaufstellung
und Bezahlscheinvordruck
aus Bibliothek A.
Durch die Erforderlichen Ressourcen, die in den Bibliotheken A und B definiert sind und durch die Formulare Werbung und Rechnung den Bibliotheken zur Verfügung gestellt werden, können diese Bibliotheken direkt mit den Datenstrom-Variablen arbeiten. Bibliothek B kann nicht in die Schema-Versionen von Mahnung und Rechnung eingebunden werden, da Bibliothek B die Ressource DS.CUST_TYPE
voraussetzt, die das den Schema-Versionen zugrunde liegende Formular Rechnung nicht enthält. Ebenso kann Bibliothek A nicht in die Schema-Versionen des Schemas Werbe-Flyer eingebunden werden, da das den Schema-Versionen zugrunde liegende Formular Werbung die Ressourcen DS.PREIS
, DS.ARTIKEL
und DS.CUST_NO
nicht enthält. Erforderliche Ressourcen können zwar auch im Schema enthalten sein, Datenstrom-Variablen stammen aber immer aus dem Formular und Ressourcen im Schema dürfen deshalb zur eindeutigen Identifizierung von Datenstrom-Variablen keine Ressourcen enthalten, die mit "DS." beginnen.
Verändert sich nun beispielsweise das Firmenlogo oder der Firmenslogan, so muss dies nur einmal in der Bibliothek CI aktualisiert werden anstatt 9 Mal. Um die oben dargestellte Struktur ohne Bibliotheken zu realisieren, müsste jede Ressource aus den Bibliotheken einzeln in jeder Schema-Version erstellt werden, insgesamt also 54 Ressourcen anstatt 9. Bei einer großen Anzahl von Formularen vereinfacht die Benutzung von Bibliotheken den Arbeitsaufwand also immens.
Namenskonflikte
Wenn 2 Ressourcen den gleichen Namen haben, z.B. im Schema und in einer eingebundenen Bibliothek oder in 2 eingebundenen Bibliotheken, überschreibt eine Ressource die Anderen, falls dies erlaubt ist. Andernfalls kommt es zu einem Fehler. Dabei haben im Schema definierte Ressourcen immer eine höhere Priorität als die einer Bibliothek. Beschrieben wird die Hierarchie bei Bibliotheken hier, das Verhalten bei Namenskonflikten hier. Scroll Pagebreak
Statuswechsel einer Bibliotheks-Version
Für genauere Informationen über die Statuswechsel einer Bibliotheks-Version beachten Sie den Artikel über den R-S Workflow.
...
Außerdem definieren die Schema-Versionen noch eigene Ressourcen:
- Version 1.0: -
- Version 2.0:
Logo
- Version 3.0:
Preis
undLogo
Ressource | Bibliothek A | Bibliothek B | Bibliothek C |
---|---|---|---|
DS.LANG | Nein | Ja | Ja |
DS.CUST | Nein | Nein | Ja |
Preis | Nein | Nein | Ja |
Logo | Ja | Nein | Ja |
Sind die Bibliotheken A, B und C einbindbar in die jeweiligen Schema-Versionen?
A | B | C | |
---|---|---|---|
1.0 | |||
2.0 | |||
3.0 |
Fonts
Im R-S werden die Fonts (und ihre Ausprägungen), die ein Schema verwenden darf, im Transaktions-Formular festgelegt. Implementiert ein Schema das Transaktions-Formular, so so hat es nur Zugriff auf die ihm erlaubten Fonts. Da Bibliotheken, wie bereits erwähnt, unabhängig von Formularen und Schemas sind, weiß weiß eine Bibliothek nicht, auf welche Fonts sie Fonts sie nach der Einbindung in eine Schema-Version beschränkt ist. Sie können daher in einem Arbeitsbereich Fonts registrieren, um allen Bibliotheken in diesem Arbeitsbereich, analog wie bei den ERFORDERLICHEN RESSOURCEN
, mitzuteilen, welche Fonts sie erwarten kann.
Öffnen Sie dazu den Administrator-ClientAdministrator-Client(Konsole) mit folgendem Befehl (Hier lernen Sie, wie man mit dem Adminstrator-Client arbeitet):
Codeblock | ||
---|---|---|
| ||
adminclient -listFonts [Arbeitsbereich] |
z.B.: -listFonts MeinArbeitsbereich
Ihnen werden jetzt alle Fonts, die im Arbeitsbereich registriert sind, angezeigt:
Abbildung D: Administrator-Client -listFonts
Um einen Font hinzuzufügen (oder einen bestehenden Eintrag zu ändern), benutzen Sie folgenden Befehl:
Codeblock | ||
---|---|---|
| ||
-createFont <Name> <Beschreibung> <Arbeitsbereich> <regular(y/n)> <bold(y/n)> <italic(y/n)> <bold-italic(y/n)> |
z.B.: -createFont Arial NoDescription MeinArbeitsbereich y n y n
Dadurch legen Sie fest, dass in dem Arbeitsbereich die Schriftart Arial verwendet werden darf, allerdings nicht fett und nicht fettkursiv.
Die neue Schriftart ist damit im Arbeitsbereich registriert und kann in Bibliotheken verwendet werden:
Lesen Sie dazu die Dokumentation des Administrator-Client .
Hinweis |
---|
Falls Sie in einer Bibliothek eine Schriftart verwenden, die in dem Schema, in dem Sie eingebunden ist, nicht erlaubt ist, wird der Text auch nicht in dieser Schriftart dargestellt. |
Bibliotheken verwenden: | Bibliotheken werden verwendet in: |
---|---|
- |