Skip to content

Commit 11753b8

Browse files
committed
Update 2023-11-12-ediarumWEB.md
1 parent 7448dc3 commit 11753b8

1 file changed

Lines changed: 14 additions & 12 deletions

File tree

_posts/2023-11-12-ediarumWEB.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ Da jedes Projekt unterschiedliche Anforderungen mit sich bringt, sollen nachfolg
146146

147147
# Einrichtung & Erste Schritte
148148

149-
Anhand eines[ eispielprojekts](https://digedtnt.github.io/about/#briefsammlung-pipeline-2), in dem mit handgeschriebenen Briefen des Linguisten Hugo Schuchardt (1842-1927) aus dem 19. Jahrhundert bzw. 20. Jahrhundert gearbeitet wird, soll nachfolgend ein möglicher Arbeitsablauf mit dem Publikationstool _ediarum.WEB_ beschrieben werden. In einem ersten Schritt wurden die handgeschriebenen Briefe bereits mittels des OCR/HTR-Tools[Transkribus Lite](https://digedtnt.github.io/transkribus/) transkribiert. Danach wurde der TEI/XML-Export in den TEI/XML-Editor[ FairCopy](https://digedtnt.github.io/faircopy/) ingestiert und tiefergehend annotiert, wobei Named Entities(Personen, Orte und Organisationen) ausgezeichnet wurden. Diese Named Entities wurden im Zuge des ersten Teils der [Transition](https://digedtnt.github.io/transition-faircopy-basic/) aus den Briefen extrahiert und dann mittels des Normalisierungstools _[ba[sic?]](https://digedtnt.github.io/basic/)_ um Normdaten ergänzt (Links auf GND- und GeoNames-Einträge). Danach wurden diese erhobenen Informationen im zweiten Teil der [Transition](https://digedtnt.github.io/transition-faircopy-basic/) wieder mit den Briefen zusammengeführt. In der letzten, hier dokumentierten Phase des Beispielprojekts sollen nun die Möglichkeiten der Publikation der Briefe mittels des Tools _ediarum.WEB_ erprobt werden.
149+
Anhand eines[Beispielprojekts](https://digedtnt.github.io/about/#briefsammlung-pipeline-2), in dem mit handgeschriebenen Briefen des Linguisten Hugo Schuchardt (1842-1927) aus dem 19. Jahrhundert bzw. 20. Jahrhundert gearbeitet wird, soll nachfolgend ein möglicher Arbeitsablauf mit dem Publikationstool _ediarum.WEB_ beschrieben werden. In einem ersten Schritt wurden die handgeschriebenen Briefe bereits mittels des OCR/HTR-Tools [Transkribus Lite](https://digedtnt.github.io/transkribus/) transkribiert. Danach wurde der TEI/XML-Export in den TEI/XML-Editor [FairCopy](https://digedtnt.github.io/faircopy/) ingestiert und tiefergehend annotiert, wobei Named Entities (Personen, Orte und Organisationen) ausgezeichnet wurden. Diese Named Entities wurden im Zuge des ersten Teils der [Transition](https://digedtnt.github.io/transition-faircopy-basic/) aus den Briefen extrahiert und dann mittels des Normalisierungstools _[ba[sic?]](https://digedtnt.github.io/basic/)_ um Normdaten ergänzt (Links auf GND- und GeoNames-Einträge). Danach wurden diese erhobenen Informationen im zweiten Teil der [Transition](https://digedtnt.github.io/transition-faircopy-basic/) wieder mit den Briefen zusammengeführt. In der letzten, hier dokumentierten Phase des Beispielprojekts sollen nun die Möglichkeiten der Publikation der Briefe mittels des Tools _ediarum.WEB_ erprobt werden.
150150

151151

152152
## 1. Installation einzelner Komponenten
@@ -275,7 +275,7 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
275275

276276
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/letters_list.png" description="Die Briefe in der Datenbank" %}
277277

278-
* **Anlegen der Objekte für Personen, Orte und Organisationen: **In gleicher Weise legen wir nun Objekte für die in unserem Named-Entity-Register verzeichneten Personen, Orte und Organisationen an. Zunächst passen wir den Pfad bei `<collection>` an, sodass er auf den Ordner verweist, in dem die Registerdatei abgelegt ist. Das `<root>`-Element wird ebenfalls abgeändert und lautet `tei:person`, `tei:place` oder `tei:org`. Ebenfalls muss noch der XPath-Ausdruck für das gewünschte Label angegeben werden, also z. B. `.//tei:persName/normalize-space()”`
278+
* **Anlegen der Objekte für Personen, Orte und Organisationen:** In gleicher Weise legen wir nun Objekte für die in unserem Named-Entity-Register verzeichneten Personen, Orte und Organisationen an. Zunächst passen wir den Pfad bei `<collection>` an, sodass er auf den Ordner verweist, in dem die Registerdatei abgelegt ist. Das `<root>`-Element wird ebenfalls abgeändert und lautet `tei:person`, `tei:place` oder `tei:org`. Ebenfalls muss noch der XPath-Ausdruck für das gewünschte Label angegeben werden, also z. B. `.//tei:persName/normalize-space()”`
279279

280280
Personen:
281281

@@ -331,7 +331,7 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
331331

332332
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/named_entities.png" description="Die Indexseite mit den Schaltflächen für die Named Entities" %}
333333

334-
* **Anlegen von Properties (Filtern):** Im nächsten Schritt wollen wir Filter anlegen, sodass wir die Briefe z. B. nach Jahren oder Korrespondenzpartner:innen filtern können. Filter werden immer innerhalb von Objekten angelegt. Zunächst fügen wir innerhalb des Objekts “Briefe” folgenden XML-Block ein:
334+
* **Anlegen von Properties (Filtern):** Im nächsten Schritt wollen wir Filter anlegen, sodass wir die Briefe z. B. nach Jahren oder die Personen alphabetisch filtern können. Filter werden immer innerhalb von Objekten angelegt, wir fügen also innerhalb des Objekts “Briefe” folgenden XML-Block ein:
335335

336336
```xml
337337
<filters>
@@ -343,14 +343,14 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
343343
</filter>
344344
</filters>
345345
```
346-
346+
Die `appconf.xml` mit dem Filter nach Sendedatum der Briefe
347347

348348
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/filter.png" description="Anlegen des Jahreszahlen-Filters in der appconf.xml" %}
349349

350350

351351
Wiederum legen wir den Namen des Filters fest, der auch so im Frontend angezeigt wird und geben mittels XPath-Ausdruck an, wonach gefiltert werden soll. In unserem Fall wird mittels XPath auf das Sendedatum der Briefe zugegriffen (z. B. “1879-01-01”) und mittels Substring-Funktion das Jahr ausgewählt, das dann auch im Filter klickbar sein wird. Innerhalb des Filters finden sich auch zwei neue Elemente:
352352

353-
* `<type>`: Hier wird das Verhalten des Filters definiert, die möglichen Werte des Filter sind in der [Dokumentation](https://github.com/ediarum/ediarum.WEB/blob/main/APPCONF.md#base-information) einsehbar. Wir wählen “union”, das bedeutet, dass im Filter mehrere Eigenschaften auswählbar sind und nur Dokumente, die eine dieser Eigenschaften haben, angezeigt werden. Das heißt, wir können z. B. zwei (oder mehr) Jahre auswählen und es werden folgend nur die Briefe angezeigt, die in einem dieser Jahre abgeschickt wurden.
353+
* `<type>`: Hier wird das Verhalten des Filters definiert, die möglichen Werte des Filter sind in der [Dokumentation](https://github.com/ediarum/ediarum.WEB/blob/main/APPCONF.md#base-information) einsehbar. Wir wählen “union”, das bedeutet, dass im Filter mehrere Eigenschaften auswählbar sind und nur Dokumente, die zumindest eine dieser Eigenschaften haben, angezeigt werden. Wir können also z. B. zwei (oder mehr) Jahre auswählen und es werden folgend nur die Briefe angezeigt, die in einem dieser Jahre abgeschickt wurden.
354354
* `<label-function>`: Hier kann optional eine XQuery-Funktion angegeben werden, mit der der im Filter angezeigte Wert (also z. B. die durch den XPath-Ausdruck ausgewählte Jahreszahl) noch weiter manipuliert werden könnte. Wir entscheiden gegen eine Manipulation und lassen den Wert durch die XQuery-Funktion unverändert zurückgeben.
355355

356356
Nach dem Speichern und der Rückkehr zur Indexseite der Briefe finden wir rechts neben der Liste der Briefe unseren Jahreszahl-Filter, der beim Scrollen auf die Schaltfläche “Alle” aufklappt.
@@ -381,7 +381,7 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
381381
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/letter_detail.png" description="Die Detailansicht eines Briefes" %}
382382

383383

384-
**Anlegen der XSL-Transformation für die Briefe**: Um die Briefanzeige umzusetzen, muss zunächst ein XSLT-Stylesheet angelegt werden. Wir navigieren dazu in eXide innerhalb unserer App in den Ordner “resources” und danach in “xslt” und legen folgendes Stylesheet an:
384+
**Anlegen der XSL-Transformation für die Briefe**: Um die Briefanzeige umzusetzen, muss zunächst ein XSLT-Stylesheet angelegt werden. Wir navigieren dazu in eXide innerhalb unserer App in den Ordner “resources” und danach in “xslt” und legen folgendes Stylesheet namens `briefe_details.xsl` an:
385385

386386

387387
```xml
@@ -458,11 +458,12 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
458458
</views>
459459
```
460460

461+
Die `appconf.xml` mit dem `<view>`-Element zum Einbinden des XSLT-Stylesheets:
461462

462463
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/xslt.png" description="Einbinden des XSLT-Stylesheets " %}
463464

464465

465-
Mit `view/@id` wird die ID des Views angegeben, die auch von der API verwendet wird. Im `<xslt>`-Element wird der relative Pfad zum XSLT-Styleheet ausgehend von der App angegeben. Das `<label>`-Element bezeichnet wiederum die Bezeichnung der View, die im Frontend angezeigt werden könnte.
466+
Mit `view/@id` wird die ID des Views angegeben, die auch von der API verwendet wird. Im `<xslt>`-Element wird der relative Pfad zum XSLT-Styleheet ausgehend von der App angegeben. Das `<label>`-Element gibt wiederum die Bezeichnung des Views, an die im Frontend angezeigt werden könnte.
466467

467468

468469
Rufen wir jetzt die Detailansicht eines Briefes auf, sehen wir, dass er gemäß dem Stylesheet transformiert und angezeigt wird:
@@ -471,7 +472,7 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
471472
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/letter_stylesheet.png" description="Die Detailansicht eines Briefes" %}
472473

473474

474-
**Anlegen der XSL-Transformation für die Personen**: Im nächsten Schritt legen wir im selben Ordner ein XSLT-Stylesheet namens personen_details an, um die Detailansicht der Personen einzurichten. Wir greifen hierbei auf das bereits vorhandene Stylesheet des Workshops zurück und passen es für unsere Zwecke an. Wir lassen Vor- und Nachnamen der Personen und den Verweis auf den Eintrag in der GND ausgeben. Wären in unserem Register noch weitere Informationen wie etwa Geburts- und Sterbedatum ebenfalls verzeichnet, könnten wir sie hier auch ausgeben lassen.
475+
**Anlegen der XSL-Transformation für die Personen**: Im nächsten Schritt legen wir im selben Ordner ein XSLT-Stylesheet namens `personen_details.xsl` an, um die Detailansicht der Personen einzurichten. Wir greifen hierbei auf das bereits vorhandene Stylesheet des Workshops zurück und passen es für unsere Zwecke an. Wir lassen Vor- und Nachnamen der Personen und den Verweis auf den Eintrag in der GND ausgeben. Wären in unserem Register noch weitere Informationen wie etwa Geburts- und Sterbedatum ebenfalls verzeichnet, könnten wir sie hier auch ausgeben lassen.
475476

476477

477478
```xml
@@ -529,7 +530,8 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
529530
</view>
530531
</views>
531532
```
532-
533+
534+
Die `appconf.xml` mit dem `<view>`-Element zum Einbinden des XSLT-Stylesheets für die Personen:
533535

534536
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/xslt_persons.png" description="Das XML-Snippet für die Personen" %}
535537

@@ -617,17 +619,17 @@ Danach navigieren wir in den Ordner “letters”, klicken auf das Wolkensymbol
617619
</div>
618620
</div>
619621
```
620-
622+
Die Seite `personen-details.html` mit eingefügtem HTML-Snippet:
621623

622624
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/relation_persons.png" description="Anzeigen der Beziehung auf der Detailseite der Personen" %}
623625

624626

625-
Öffnen wir jetzt eine Detailseite der Personen, werden die Briefe, in denen die Person genannt wird, in einer Tabelle angezeigt.
627+
Öffnen wir jetzt eine Detailseite der Personen, werden die Briefe, in denen die Person genannt wird, in einer Tabelle angezeigt. Durch Klick auf die Links können wir zu den jeweiligen Briefen navigieren.
626628

627629

628630
{% include image.html url="../data/pipelines/pipeline_2/ediarum_web/img/person_letters.png" description="Die mit der Person verknüpften Briefe" %}
629631

630-
* **Anpassen der Detailseite der Briefe und Einrichtung eines seitenweisen Blätterns:** Um ein seitenweises Blättern einzurichten, sind einige Schritte erforderlich.
632+
* **Anpassen der Detailseite der Briefe und Einrichtung eines seitenweisen Blätterns:** Momentan wird der gesamte Brieftext auf einer Seite angezeigt, was bei umfangreicheren Briefen ein längeres Scrollen bedeutet. Wir wollen deshalb ein seitenweises Blättern einzurichten, wozu einige Schritte erforderlich sind.
631633
* Zunächst öffnen wir die `controller.xql` und fügen folgendes Codesnippet ein:
632634

633635
`edwebcontroller:view-with-feed("/personen/", "data-pages/briefe-details.html", "object-type/briefe/id/"),`

0 commit comments

Comments
 (0)