Allgemeines zum DOMA
Ziele des DOMA
Mit dem Aufbau des Dokumentenmanagers DOMA werden folgende
Ziele verfolgt:
- Erprobung eines abstrakten Konzepts zur auffindbaren
Veröffentlichung von Dokumenten.
- Entwicklung eines Werkzeugs zur Erstellung einer in sich
konsistenten und trotz der Beteiligung
mehrerer Autoren einheitlichen Dokumentation auf HTML/WWW-Basis.
- Bleibende und öffentliche Bindung der Autoren an ihre
Dokumente zum Zweck der Wartung und Beantwortung von das Dokument
betreffenden Anfragen (per email).
- Indexierung der Dokumente und zumindest die Bereitstellung eines
alphabetischen Indexes für Glossareinträge.
- Langfristig die Sammlung von Erfahrungen
zur Schafffung eines unabhängigen verteilten Dokumentations-/
Autorensystems auf HTML-WWW-Basis.
- Kurzfristig die Strukturierung und Indexierung von
Dokumenten, die im Rahmen des Projekts entstehen.
Konzeption des DOMA
Dokumente werden durch das Senden von Nachrichten an den DOMA
in den DOMA aufgenommen. Der Aufbau der Nachrichten an den
DOMA wird unten beschrieben. Diese Nachrichten enhalten sowohl
den Inhalt der Dokumente als auch ihre Beschreibung.
Aus Dokumentinhalt und Dokumentbeschreibung erstellt der
DOMA ein HTML-Dokument, welches er 'geeignet'
(abhängig von seiner Beschreibung) veröffentlicht.
Zur Veröffentlichung gehört in der Regel auch der
Eintrag eines Verweises in verschiedene (alphabetische) Indexe.
Lieferung von DOMA-konformen Dokumenten
Die Autoren liefern dem DOMA Dokumente, wobei spezielle
Formate zu beachten sind.
Die Sichtung der über den DOMA angebotetenen
Kollektionen wird
zum Grundverständnis vorausgesetzt, da hierzu nur eine knappe
Dokumentation bzw. Konzeptdarstellung (s.o) existiert.
Allgemeines
Referenzierung von DOMA-Objekten
Prinzipiell werden andere Dokumente in DOMA-Dokumenten
durch HTML-<A HREF>-Elemente referenziert. Allerdings ergibt sich
eine Unterscheidung bzgl. des Wertes des HREF-Attributs bei
Dokumenten, welche innerhalb des DOMA verwaltet werden und solchen,
welche nicht unter der Kontrolle des DOMA stehen:
- Dokumente, welche vom DOMA verwaltet werden (s.u), werden
'symbolisch' referenziert, wobei folgende Konventionen
gelten:
- <A HREF="$glos/GLOSSAREINTRAG_NAME">
- <A HREF="$ref/REFERAT_NAME">
- <A HREF="$lit/LITERATUREINTRAG_NAME">
- Dokumente, welche nicht vom DOMA verwaltet
werden, werden per URL referenziert
Dies gilt für alle Stellen, an denen die Verwendung einer Untermenge
von HTML durch den Autor gestattet ist (s.u.).
Da zur Zeit noch nicht SGMLS zur Parsierung verwendet wird
(sondern REGEX-Gefummle), darf ein <A>-Element
(von <A> bis </A>!)
nicht durch Zeilenumbruch zerlegt werden
(blöde Einschränkung, ich weiß).
Namenskonvention für DOMA-Objekte
Namen für DOMA-Dokumente werden aus ihrer Beschreibung
abgeleitet, in der Regel aus ihrem Titel. Hierbei gilt folgende
Konvention:
- Großbuchstaben werden in Kleinbuchstaben umgewandelt
- Leerzeichen in '_' (underscore).
- Umlaute in die Ersatzdarstellungen ae, oe, ue, ss
Ein Glossareintrag mit dem Titel 'Öffentliche Bibliothek' ist demnach per
<A HREF="$glos/oeffentliche_bibliothek">Öffentliche Bibliothek</A>
referenzierbar.
Unterstützte Dokumenttypen
Lieferung von DOMA-konformen Glossareinträgen
Die Lieferung von Glossareinträgen erfolgt ausschließlich
durch die Einsendung eines von templ.glo abgeleiteten
Files per
mail -s DOMA pumuckel <von_templ.glo_abgeleitetes_file.
Zu dem genannten File existiert ein ausführlich kommentiertes
Beispiel. Als weitere Quelle bei Unklarheiten
können die Quellen der bereits
existierenden Einträge dienen.
Lieferung von DOMA-konformen Referatsausarbeitungen
... nur bei Bedarf = Anfrage an pumuckel@cs.tu-berlin.de.
... es existiert allerdings bereits ein Beispiel
Lieferung von DOMA-konformen Literaturhinweisen
... nur bei Bedarf = Anfrage an pumuckel@cs.tu-berlin.de.
Offene Fragen ...
Ich bitte um Verständnis dafür, daß keine weitere
Dokumentation existiert und das Einfügen von Dokumenten
z.Z. nur halbautomatisch (durch mich) möglich ist.
(Das Problem ist, daß die Skripte praktisch keine Fehlermeldungen
produzieren und u.U. den Datenbestand in inkosistenten
Zuständen hinterlassen. Deshalb auch die Abschottung der
DOMA-Verzeichnisse.)
Ich beantworte lieber Fragen oder passe nicht-konforme
Dokumente von Hand an, als daß ich jetzt noch mehr
(nicht vorhandene) Zeit in die Skripte/Datenbankanbindung
investiere. Fragt und sendet also einfach einmal mehr.
Damit die Autoren trotzdem schon vor der Veröffentlichung das Ergebnis
ihrer Beiträge beurteilen können, gibt es eine
Anleitung,
wie man einen privaten DOMA installieren kann.
Wer von dieser Dokumentation abhängig ist, kann sich bei
Änderungen benachrichtigen lassen, indem er diese Dokumentation
abonniert (oder
abbestellt).
Bevor das Installationsskript und die eigentlichen
DOMA-Skripte ausgeführt werden können,
müssen einige Environment-Variablen gesetzt werden. In einer
C-Shell erfolgt dies (am besten dauerhaft im .cshrc) durch:
setenv DOMA_URL_ROOT mein_home_verzeichnis_absolut/doma/url_root/
# ... wo die HTML-Dateien landen
setenv DOMA_ROOT mein_home_verzeichnis_absolut/doma/root/
# ... wo die Quelldateien lagern und übersetzt werden
setenv DOMA_URL http://www.cs.tu-berlin.de/~meine_user_id/doma/
# Letzteres muss zwar gesetzt werden, hat aber nur dann einen praktischen
# Nutzen, wenn
# o mein_home_verzeichnis/.public_html/doma ein Link auf DOMA_URL_ROOT ist
# o und alle beteiligten Verzeichnisse r-x und Files r-- für alle sind.
# Es empfiehlt sich jedoch, die HTML-Dateien zur Sichtung
# nicht mehrmals durchs Fachbereichsnetz zu schicken, sondern
# im Viewer 'Open File' statt 'Open Location' zu benutzen.
Hierzu gibt es ein Beispiel für
mein Homeverzeichnis.
Kommandos
Die Kommandos sind per Link in den Verzeichnissen ansprechbar,
in denen sie aufgerufen werden.
Die Benutzung erfolgt selbstverständlich auf eigene Gefahr!
Kommando doma
In .../doma/root/referate oder .../doma/root/glossar:
./doma <zu_uebersetzender_glossareintrag.glo
./doma <zu_uebersetzendes_referat.ref
Ergebnis: Es wird eine HTML-Version
in .../doma/url_root/referate oder .../doma/url_root/glossar
erzeugt. Bei Glossareintraegen werden gleichzeitig Indexeintraege in
.../doma/root/glossarindex gemacht (siehe Kommando update und
trans_all.)
Kommando trans_all
In .../doma/url_root/glossar:
./trans_all
Ergebnis: Alle *.glo-Dateien im Verzeichnis werden neu uebersetzt und
vorher werden alle alten Indexeintraege geloescht und anschliessend
update (s.u.) aufgerufen.
Kommando update
In .../doma/root/glossarindex:
./update
Ergebnis: In .../doma/url_root/glossarindex wird der alphabetische
Glossarindex neu erzeugt (top.html und ein html-File fuer jeden
Anfangsbuchstaben). Verwendung empfiehlt sich nur in Verbindung mit
trans_all.
Ich möchte lieber nicht über die Qualität der
Skripte diskutieren, weil es meine ersten PERL-Skripte sind und mir
auch nur Negatives dazu einfällt. Eine Reimplementierung mit
Datenbankanbindung steht in den Sternen.
Seite wurde erstellt von: pumuckel@cs.tu-berlin.de