Changes between Version 14 and Version 15 of workflow


Ignore:
Timestamp:
May 24, 2010, 1:41:59 PM (14 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • workflow

    v14 v15  
    33[[PageOutline(2-4,,pullout)]]
    44
    5 Bisher sind 19 schema-konforme Texte bei ECHO, siehe
    6 [http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/attribute-query-result.xql?docbase=echo&query-type=browse&order-by=author&pn=1 mpdl-proto]
    7 und
    8 [http://echotest.mpiwg-berlin.mpg.de/content/historymechanics/Echo echotest].
    95Der automatische XML-Workflow besteht aus einer
    106[source:trunk/schema/scripts/workflow Reihe von Skripten]. Einige dieser Skripte sind noch leere Platzhalter, aber die Workflow-Struktur stimmt bereits.
    117
     8Bisher sind 19 schema-konforme Texte bei ECHO, siehe
     9[http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/attribute-query-result.xql?docbase=echo&query-type=browse&order-by=author&pn=1 mpdl-proto] und
     10[http://echotest.mpiwg-berlin.mpg.de/content/historymechanics/Echo echotest].
     11Bis auf
     12[http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/page-query-result.xql?document=/echo/la/Alvarus_1509.xml Alvarus],
     13[http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/page-query-result.xql?document=/echo/la/Benedetti_1585.xml Benedetti 1585] und
     14[http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/page-query-result.xql?document=/echo/zh/SongYingxing_1637.xml Song Yingxing]
     15sind alle Texte mit den hier beschriebenen Workflow-Skripten erzeugt worden.
     16
    1217
    1318== Die Arbeitsschritte ==
    1419
    15 Im [#a1.Vorbereitungen ersten Arbeitsschritt] werden alle Vorbereitungen getroffen, um mit dem raw text arbeiten zu können. Im [#a2.rawtextbearbeiten zweiten Schritt] wird der raw text korrigiert und annotiert. Im [#a3.Schrittebiszuwohlgeformtemxml dritten Schritt] wird der annotierte raw text in wohlgeformtes XML verwandelt. Im [#a4.schema-konformmachen vierten Schritt] wird der XML-Text schemakonform gemacht.
     20Der XML-Workflow besteht aus mehreren Arbeitsschritten. Im [#a1.Vorbereitungen ersten Schritt] werden alle Vorbereitungen getroffen, um mit dem raw text arbeiten zu können. Im [#a2.rawtextbearbeiten zweiten Schritt] wird der raw text korrigiert und annotiert. Im [#a3.Schrittebiszuwohlgeformtemxml dritten Schritt] wird der annotierte raw text in wohlgeformtes XML verwandelt. Im [#a4.schema-konformmachen vierten Schritt] wird der XML-Text schemakonform gemacht. Der dritte und der vierte Schritt laufen wietgehend automatisch ab.
    1621
    1722  * Im Gegensatz zu den früheren Skripten dürfen die hier beschriebenen Bearbeitungsschritte die Zeilenstruktur verändern, zum Beispiel eine Zeile hinzufügen.
     
    2328=== 1. Vorbereitungen ===
    2429
    25 Beachte: In diesem Arbeitsschritt sind die Skripte vermutlich keine Text-Filter, denn man arbeitet hier noch gar nicht mit einem Text-Editor.
     30In diesem Schritt werden alle Vorbereitungen getroffen, um mit dem raw text arbeiten zu können. Insbesondere werden Verzeichnisse angelegt und Dateien kopiert.
     31
     32  * Im Gegensatz zu den weiteren Schritten sind die Skripte keine Text-Filter, denn man arbeitet hier noch gar nicht mit einem Text-Editor.
     33  * Wenn wir einen transkribierten Text aus China erhalten, muss zuerst geprüft werden, ob die Datei tatsächlich, wie in den DESpecs verlangt, reiner Text in [http://de.wikipedia.org/wiki/UTF-8 UTF-8] ist. Insbesondere akzeptieren wir keine doc-Dateien.
     34  * Es ist noch nicht ganz klar, wo neue Dateien in Zukunft abgelegt werden: Kommen sie wie bisher zuerst nach [http://pythia.mpiwg-berlin.mpg.de/department1/mpdl/raw-texts Pythia] oder gleich in das [source:trunk/texts wiki-repository]? Ich gehe vorläufig davon aus, dass Texte zuerst nach Pythia kommen. Die Namenskonvention auf Pythia ist bisher Workorder_Autor_Jahr.
     35
    2636
    2737==== 1.01 Von Pythia ins svn-repository ====
    2838
    29 Es ist noch nicht ganz klar, wie neue Dateien in Zukunft verarbeitet werden: Kommen sie wie bisher zuerst nach [http://pythia.mpiwg-berlin.mpg.de/department1/mpdl/raw-texts Pythia] oder gleich in das wiki-repository? Jedenfalls muss geprüft werden, ob die Datei tatsächlich, wie in den DESpecs verlangt, reiner Text in utf-8 ist. Insbesondere akzeptieren wir keine doc-Dateien.
    30 
    31 im [source:trunk/texts Texte-Verzeichnis] im repository:
    32 
    33   * Verzeichnisse anlegen (allerdings nerven die raw/xml-Verzeichnisse in der Praxis)
     39Das Skript [source:trunk/schema/scripts/workflow/Filter_1_01_import_text.pl Filter_1_01_import_text] legt die Verzeichnisse im repository an und kopiert den Text von Pythia in das repository.
     40
     41  * Im [source:trunk/texts Texte-Verzeichnis] Unterverzeichnisse anlegen (allerdings nerven die raw/xml-Verzeichnisse in der Praxis)
    3442  * Datei aus Pythia rüberkopieren
    3543  * Kopie erstellen und umbenennen (autor_jahr_identifier), Zeilenenden von CRLF zu LF. Entferne BOM-Fragmente (korrekte BMs sind okay).
    3644
    37 Skript: Datei umbenennen? oder ist das jetzt wirklich etwas, was einfacher per Hand geht?
    38 (Skript von Klaus?)
     45(Skript von Klaus verwenden?)
    3946
    4047
    4148==== 1.02 Kommunikation mit Foxridge ====
    4249
    43 Klaus: Voraussetzung: der Identifier steht im Dateinamen, dann kann bis zur Synchronisation der pb vieles automatisch laufen (⟶ das Skript wird nicht mit legacy-Verzeichnissen funktionieren)
    44 
    45   1. Metadaten: Können vollständig aus der index.meta gewonnen werden, in dem entsprechenden Verzeichnis. Da sollte auch die GND eingefügt werden (siehe mein Hashtable, vielleicht sollte man noch eine interaktive Abfrage einbauen, in der der Benutzer noch zu {{{http://d-nb.info/gnd/$GND}}} surfen kann, ob das auch der richtige Typ ist.).
    46   1. pageimg: Gleichzeitig könnte auch der Inhalt des pageimg-Verzeichnisses (also die Auflistung der Dateien) in den Text geschrieben werden.
    47   1. texttool: Vielleicht sollte man nicht nur aus der index.meta lesen, sondern auch das erforderliche reinschreiben. Sicherheitskopie anlegen. Datei neu formatieren.
    48 
    49 Metadaten: werden erstmal wörtlich übernommen und in den raw text geschrieben. Erst später wird das Format angepasst. Übernommen werden (jeweils in  <resource>/<meta>):
    50 
     50Das Skript [source:trunk/schema/scripts/workflow/Filter_1_02_import_metadata.pl Filter_1_01_import_metadata] kommuniziert mit Foxridge. Das Skript setzt voraus, dass der Identifier im Dateinamen steht. (Das Skript wird daher nicht mit legacy-Verzeichnissen funktionieren.)
     51
     52Erstelle eine lokale Kopie der entsprechenden index.meta-Datei:
     53{{{
     54http://content.mpiwg-berlin.mpg.de/mpiwg/online/permanent/archimedes_repository/large/catan_belli_502_la_1600/index.meta
     55http://content.mpiwg-berlin.mpg.de/mpiwg/online/permanent/library/2UZM8E2N/index.meta
     56}}}
     57(funktioniert nur mit einer internen IP-Adresse)
     58
     59Extrahiere daraus die Metadaten und schreibe sie in den {{{metadata}}}-Block in den raw text. Die Metadaten werden wörtlich übernommen, das Format wird erst in Schritt [#a2.01Metadaten 2.01] angepasst. Übernommen werden (jeweils in <resource>/<meta>):
    5160  * {{{<author>}}}
    5261  * {{{<title>}}}
     
    5564  * (bisher noch nicht: {{{<publisher>}}}, {{{<city>}}}, {{{<number_of_pages>}}}, {{{<translator>}}})
    5665
    57 pageimg: geradlinig. Wenn es {{{<pageimg>}}} schon gibt, muss man im entsprechenden Verzeichnis nachschauen.
    58 
    59 Für <texttool> gibt es klare Regeln:
     66Finde den pageimg-Unterordner (default ist {{{pageimg/}}}) und schreibe die JPG-Dateinamen in den {{{pageimg}}}-Block in den raw text.
     67
     68Änderungen in index.meta:
     69  * index.meta neu formatieren.
    6070  * Wenn <texttool> noch nicht vorhanden ist, anlegen.
    6171  * Pageimg und figures anlegen, aber unverändert lassen, wenn es sie schon gibt.
    6272  * text-url-path anlegen: Sprache aus z.B. {{{<lang>it</lang>}}}.
    63 
    64 (Lokale Kopie von index.meta? Besser xslt statt Perl?)
    65 
    66 Vielleicht zwei Schritte, weil ich mich dabei wohler fühle:
    67 
    68 1. reines Abholen der Datei z.B.
    69 {{{
    70 http://content.mpiwg-berlin.mpg.de/mpiwg/online/permanent/archimedes_repository/large/catan_belli_502_la_1600/index.meta
    71 http://content.mpiwg-berlin.mpg.de/mpiwg/online/permanent/library/2UZM8E2N/index.meta
    72 }}}
    73 (funktioniert nur mit einer internen IP-Adresse)
    74 
    75 2. Umbenennen der alten index.meta (eventuell wird eine ältere Sicherheitskopie ohne Nachfrage überschrieben), Schreiben der neuen.
    76 
    77 (Die Trennung von Vorbereitung und raw text bearbeiten kann man eventuell nicht klar aufrechterhalten, weil es wohl nur ein Skript gibt, das mit dem Server kommuniziert und dort gleichzeitig <texttool> einträgt, Metadaten abgreift, die pageimg importiert. Andererseits können das genausogut drei getrennte Skripte sein. Dann kommuniziert man halt dreimal mit dem Server. Oder einfacher: ein Skript holt sich eine lokale Kopie von index.meta und legt eine getrennte Datei der pageimg an, und die nächsten Skripte müssen dann gar nicht mehr auf dem Server anfragen.)
     73 
     74Das Skript meldet sich nicht bei Foxridge an. Die Änderungen in index.meta werden daher nur in der lokalen Kopie gemacht. Es fehlt also:
     75  * Sicherheitskopie von index.meta anlegen (auch lokal?): Umbenennen von index.meta in index.meta.old, eine ältere Sicherheitskopie mit demselben Namen wird ohne Nachfrage überschrieben.
     76  * Schreibe die neue index.meta
     77 
     78(Die Trennung der Schritte „Vorbereitung“ und „raw text bearbeiten“ wird nicht vollkommen eingehalten, denn dieses Skript schreibt bereits Daten in den raw text.)
    7879
    7980
     
    103104
    104105ergänze dann den Rest per Hand
     106
     107  * Metadaten: Können vollständig aus der index.meta gewonnen werden, in dem entsprechenden Verzeichnis. Da sollte auch die GND eingefügt werden (siehe mein Hashtable, vielleicht sollte man noch eine interaktive Abfrage einbauen, in der der Benutzer noch zu {{{http://d-nb.info/gnd/$GND}}} surfen kann, ob das auch der richtige Typ ist.).
     108
    105109
    106110⟶ am Anfang: dcterms:creator (GND:118859676) Aristoteles