Changes between Version 5 and Version 6 of workflow


Ignore:
Timestamp:
May 22, 2010, 10:23:11 AM (14 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • workflow

    v5 v6  
    55== Die Arbeitsschritte ==
    66
     7* bedeutet: Wenn man zum raw text zurückkehrt, muss dieses Skript anschließend noch einmal angewendet werden. Alle Skripte mit * laufen automatisch ab; Ausnahme könnte später das {{{<s>}}}-Skript sein. Die automatischen Skripte sollten soweit wie möglich in Skript-Ketten abrufbar sein.
     8
     9klare Namenskonvention: {{{check}}} als Vorbereitung, {{{test}}} als Nachbereitung, alle anderen Skripte müssen wiederholt werden, wenn man wieder mit dem raw text anfängt.
     10
     11
     12=== Vorbereitungen ===
     13
     14==== Von Pythia ins svn-repository ====
     15
     16in trunk/texts/WO...:
     17  * Verzeichnisse anlegen (allerdings nerven die raw/xml-Verzeichnisse in der Praxis)
     18  * Datei aus Pythia rüberkopieren
     19  * Kopie erstellen und umbenennen, mit identifier, neue line ends
     20
     21Skript: Datei umbenennen? oder ist das jetzt wirklich etwas, was einfacher per Hand geht?
     22
     23Skript von Klaus?
     24
     25
     26==== Kommunikation mit Foxridge ====
     27
     28Klaus: Voraussetzung: der Identifier steht im Dateinamen, dann kann bis zur Synchronisation der pb vieles automatisch laufen (⟶ das Skript wird nicht mit legacy-Verzeichnissen funktionieren)
     29
     30  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.).
     31  1. pageimg: Gleichzeitig könnte auch der Inhalt des pageimg-Verzeichnisses (also die Auflistung der Dateien) in den Text geschrieben werden.
     32  1. texttool: Vielleicht sollte man nicht nur aus der index.meta lesen, sondern auch das erforderliche reinschreiben. Sicherheitskopie anlegen. Datei neu formatieren.
     33
     34Metadaten: werden erstmal wörtlich übernommen und in den raw text geschrieben. Erst später wird das Format angepasst. Übernommen werden (jeweils in  <resource>/<meta>):
     35
     36  * {{{<author>}}}
     37  * {{{<title>}}}
     38  * {{{<year>}}}
     39  * {{{<lang>}}} (ISO 639-1, d.h. zweistellig)
     40  * (bisher noch nicht: {{{<publisher>}}}, {{{<city>}}}, {{{<number_of_pages>}}}, {{{<translator>}}})
     41
     42pageimg: geradlinig. Wenn es {{{<pageimg>}}} schon gibt, muss man im entsprechenden Verzeichnis nachschauen.
     43
     44Für texttool gibt es klare Regeln:
     45Wenn texttool noch nicht vorhanden ist, anlegen.
     46Pageimg und figures anlegen, aber unverändert lassen, wenn es sie schon gibt.
     47text-url-path anlegen: Sprache aus z.B. {{{<lang>it</lang>}}}.
     48Lokale Kopie von index.meta? Besser xslt statt Perl?
     49
     50Vielleicht zwei Schritte, weil ich mich dabei wohler fühle:
     51
     521. reines Abholen der Datei z.B.
     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
     592. umbenennen der alten index.meta, schreiben der neuen.
     60
     61
     62=== raw text bearbeiten ===
     63
     64Die 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.
     65
     66Folgende Gruppen sind erlaubt, in beliebiger Reihenfolge, jeweils durch eine Leerzeile getrennt, vor dem ersten {{{<pb>}}}:
     67
     68  * {{{metadata:}}}
     69  * {{{pageimg:}}} (wird aber gleich wieder verarbeitet) bzw. getrennte Datei, siehe oben
     70  * {{{unknown:}}}
     71  * {{{replacements:}}} (per Hand; könnte man noch aufteilen in forbidden, escape sequences, special instructions; aber bringt das mehr Klarheit?)
     72  * {{{log:}}} (per Hand)
     73
     74Alle in getrennte Dateien? Oder ist das dann auch wieder übertrieben?
     75
     76Getrennte Datei doof für Skripte, weil sie die Datei dann finden müssen? Also doch gleich in den raw text?
     77
     78==== Metadaten ====
     79
     80{{{Filter_2_01_additional_metadata}}}
     81       
     82„metadata:“
     83Skript zur Korrektur der Metadaten aus index.meta
     84
     85ergänze dann den Rest per Hand
     86
     87⟶ am Anfang: dcterms:creator (GND:118859676) Aristoteles
     88
     89Klaus: Für Convenience einen Link ins Echosystem am Anfang der Datei, beispielsweise
     90{{{
     91http://echo.mpiwg-berlin.mpg.de/ECHOdocuView/ECHOzogiLib?mode=imagepath&url=/mpiwg/online/permanent/library/PUBSU9QD/pageimg
     92}}}
     93
     94⟶ oder besser link das Prototyp-System? vorläufig beides!
     95
     96==== pb's synchronisieren ====
     97
     98{{{Filter_2_02_sync_pb}}}
     99
     100„pageimg:“ (wird aber im Gegensatz zu den anderen „bla:“ sofort verwurstelt)
     101
     102⟶ im ganzen Dokument (nicht zu vermeiden): <pb>![001]
     103
     104neu: das Skript kann sich darauf verlassen, dass die Dateinamen schon im raw text stehen.
     105
     106entferne zzzz.jpg
     107
     108
     109==== ersetze verbotene Zeichen im Text ====
     110
     111{{{Filter_2_03_find_forbidden_characters}}}
     112
     113⟶ im ganzen Dokument: {{{Hinɔ wird Hinc}}} (Einzelfälle)
     114
     115entweder direkt im Text, oder mit Zwischenstuf als replacements am Anfang
     116
     117
     118==== prüfe unknown characters ====
     119
     120{{{Filter_2_04_check_unknown_characters}}}
     121
     122„unknown:“
     123⟶ am Anfang: {{{<002> ꝑ (p.28: ok)}}}
     124
     125sollte die codes auch schon in die Datei schreiben, damit man sie nicht rüberkopieren muss
     126
     127==== prüfe escape sequences ====
     128
     129{{{Filter_2_05_check_escape_sequences}}}
     130
     131
     132bei replacements: zum Beispiel {{{{ta} ta (vorläufig!)}}}
     133       
     134==== prüfe italics ====
     135
     136{{{Filter_2_06_check_underscores}}}
     137
     138{{{_ _}}} werden erst später in <it> verwandelt, aber hier wird bereits geprüft, ob es Probleme geben wird (bzw. die Fehler werden per Hand korrigiert)
     139
     140       
     141
     142==== prüfe tags ====
     143
     144{{{Filter_2_07_check_tags.pl}}}
     145
     146⟶ replacements zum Beispiel: << « (lines 41 to 43)
     147
     148⟶ oder zum Beispiel im ganzen Dokument: heads <⟶ running heads, etc.
     149
     150--> das Skript sollte alles vor dem ersten <pb> ignorieren
     151
     152
     153==== prüfe <s> ====
     154
     155{{{Filter_2_08_check_s.pl}}}
     156
     157kann man hier das s-Skript aufrufen, oder kommt man dann durcheinander?
     158
     159==== prüfe tables ====
     160
     161{{{Filter_2_09_check_tables.pl}}}
     162
     163was immer das genau machen wird: prüfe die "syntaktische Korrektheit" der tables
     164
     165wie wird das in den raw text geschrieben? schon mit korrektem xhtml ist vielleicht etwas viel Aufwand. noch eine Zwischensprache, oder was ist da überhaupt zu tun?
     166
     167==== Special Instructions ====
     168
     169{{{Filter_2_10_special_instructions_for_... .pl}}}
     170
     171(bei manchen Texten wird es einfacher sein, es statt mit einem Skript per Hand zu machen)
     172
     173⟶ am Anfang: {{{--] &lt; (i.e. "--]" becomes "<"; see p.0018 and "DESpecs_special_batch3.pdf")}}}
     174
     175⟶ auch im ganzen Dokument?
     176
     177
     178=== Schritte bis zu wohlgeformtem xml ===
     179
     180Diese Skripte sollten problemlos durchlaufen und können in einem Meta-Skript zusammengefasst werden:
     181{{{Filter_3_make_wellformed.pl}}}
     182
     183Außerdem: {{{Filter_3_test_wellformedness.pl}}}
     184
     185
     186
     187
     188==== ersetze unknown characters ====
     189
     190{{{Filter_3_01_replace_unknown_characters.pl}}}
     191
     192
     193(vor escape sequences als garantierte Reihenfolge, bevor die escape sequences umgewandelt werden)
     194
     195==== ersetze replacements ====
     196
     197{{{Filter_3_02_replace_replacements.pl}}} (blöder Name!)
     198
     199(ebenfalls vor escape sequences: z.B. für Dinge wie {{{<< «}}})
     200
     201siehe oben: könnte man noch aufteilen in forbidden, escape sequences, special instructions; aber bringt das mehr Klarheit? Wenn man es aufteilt, macht man eben drei Unter-Skripte.
     202
     203
     204==== ersetze escape sequences ====
     205
     206{{{Filter_3_03_replace_escape_sequences.pl}}}
     207
     208
     209==== ersetze italics ====
     210
     211{{{Filter_3_04_replace_underscores.pl}}}
     212
     213==== Metadaten, root element ====
     214
     215{{{Filter_3_05_add_basic_xml.pl}}}
     216
     217auch: log !
     218
     219==== wohlgeformtes xml ====
     220
     221{{{Filter_3_06_make_tags_wellformed.pl}}}
     222
     223
     224
     225=== schema-konform machen ===
     226
     227wieder: Diese Skripte sollten problemlos durchlaufen und können in einem Meta-Skript zusammengefasst werden:
     228{{{Filter_4_make_valid.pl}}}
     229
     230Außerdem: {{{Filter_4_test_validity.pl}}}
     231
     232*
     233
     234{{{Filter_4_00_Schummelskript.pl}}} (solange die Tabellen noch nicht richtig verarbeitet werden)
     235
     236==== <pb> ====
     237
     238{{{Filter_4_01_pb.pl}}}
     239
     240==== floats herausziehen ====
     241
     242{{{Filter_4_02_move_floats.pl}}}
     243
     244(auch tables!)
     245
     246auch aus <h>, oder lieber Fehler provozieren?
     247
     248==== <lb> ====
     249
     250{{{Filter_4_03_insert_lb.pl}}}
     251
     252==== <s> ====
     253
     254{{{Filter_4_04_insert_s.pl}}} (eventuell mit Parameter-Wahl; eventuelle manuelle Korrekturen im raw text!)
     255
     256{{{Filter_4_04a_test_s.pl}}} ??
     257
     258==== <emph> ====
     259
     260{{{Filter_4_05_emph.pl}}}
     261
     262==== tables ====
     263
     264{{{Filter_4_06_tables.pl}}}
     265
     266wann werden die tables bearbeitet? zwei Schritte: überhaupt syntaktisch korrekt, und dann größtmögliche Annäherung an das Original (erst im scholarly workflow).
     267==== <div> ====
     268
     269{{{Filter_4_07_insert_div.pl}}} (nicht wirklich nötig für Schema-konform, aber bekommt man quasi geschenkt)
     270
     271=== weitere Schritte ===
     272
     273==== <reg> ====
     274
     275{{{Filter_5_01_insert_reg.pl}}} (mit Parametern)
     276
     277==== <var> ====
     278
     279{{{Filter_5_02_insert_var.pl}}} (mit Parametern)
     280
     281==== Formeln ====
     282
     283{{{Filter_5_03_formulae.pl}}}
     284
     285?
     286
     287==== div-Attribute ====
     288
     289{{{Filter_5_04_number_divs}}}
     290
     291
     292
     293=== Reste ===
     294
     295{{{Filter_template.pl}}}
     296
     297{{{Filter_1_6_punctuation.pl}}}
     298
     299{{{Filter_Archimedes_to_ECHO.pl}}}
     300
     301{{{Filter_roman_numbers.pl}}}
    7302
    8303
     
    22317
    23318Sollen wir umsteigen auf ein System, wo die Chinesen <001> tippen, und dann im Anhang eine IDS-Sequenz?
     319