DES offline/Technik: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
K (hat „Datenerfassungsprogramm“ nach „DES/Technik“ verschoben)
(→‎Beispiele: defektes Bild raus)
Zeile 81: Zeile 81:
*column_number  INT
*column_number  INT
*cell_content  TEXT
*cell_content  TEXT
==Beispiele==
FamilysearchIndexing:
[[Bild:Layout_eingabeprogramm.png|500px]]
* Ein ähnliches System hat die AGGSH für die Erfassung der Volkszählung Schleswig-Holstein erstellt. siehe http://www.aggsh.de/programm/pic/4.jpg


----
----
<references/>
<references/>

Version vom 1. Februar 2012, 11:18 Uhr

Redhat-accessories.svg Dieser Artikel bezieht sich auf ein Projekt, das sich in der Planungsphase/einem frühen Entwicklungsstadium befindet.



aktueller Entwicklungsstand

Der aktuelle Entwicklungsstand kann hier heruntergeladen werden.


Ideen für ein Datenerfassungsprogramm

  • Seiten haben nur eine begrenzte Bearbeitungsdauer (z.B. eine Woche) danach werden sie wieder freigegeben.

Umgesetzte Ideen für ein Datenerfassungsprogramm

  • Das Programm kann (mindestens) folgende Bildtypen anzeigen: JPEG, PNG, TIFF, DjVu
  • Oben wird die Grafik angezeigt, unten tippt man in eine Tabelle ein
  • Es sollte möglich sein, dass reine Grafikfenster komplett separat zu händeln. Also nicht nur an den Single-Monitor User denken, sondern 2 Monitor-Anwender werden sich z.b. die Urkunde auf einen, das Eingabeprogramm auf einen anderen Monitor legen müssen. Trotzdem muss das Program in der Standardeinstellung "wie aus einem Guss" wirken und beides untereinander angeordnet zeigen.
  • Bearbeiter laden vom Server nur eine Seite runter. Dort wird vermerkt, wer gerade welche Seite hat
  • Man bekommt die Tabellendefinition passend zum Bild (bzw. Projekt, zu dem es gehört) vom Server geschickt.
  • Zoom-Funktionen und Helligkeitsregelung
  • Kontrastregelung
  • Als Bearbeiter markiert man Seite, die man nicht bearbeiten kann (z.B. unleserliche Schrift). Diese Seite ist zwar nicht fehlerhaft, man bekommt sie aber nicht noch einmal.
  • Möglichkeit, ein Zeilenlineal einzublenden mit Definition des Zeilenabstandes, welches automatisch zum nächsten Eintrag springt (funktioniert natürlich nur, wenn der Zeilenabstand immer gleich ist)

weitere Ideen

  • Zunächst wird double-keying eingebaut, also 2x Abtippen und ein Schiedsrichter, der auf ungleiche Einträge schaut. Es sind aber auch weitere Arbeitsweisen denkbar:
    • einmal Tippen, 2x Korrekturlesen
    • inkrementelles Erfassen: Zunächst wird nur ein Teil der Spalten erfaßt, die anderen sind noch gesperrt. Wenn diese Spalte fertig ist, bekommt man mit einem Bild diese fertige Spalte und kann weitere Daten hinzufügen[1].
  • Die Fehlermeldungen für defekte Seiten werden als Webservice (sprachabhängig) zur Verfügung gestellt.

Weiteres siehe Datenerfassungsprogramm#Beispiele

Typen für Tabellenfelder

  • freier Text
  • nur Zahlen
  • feste Auswahlbox
  • Vorschläge aus einer Liste aber Möglichkeit, eigenen Text zu schreiben
  • Manche Tabellenfelder müssen für die gesamte Seite identisch bleiben (Seitenzahl)

Hinweise für Implementierung

Eine freie DjVu-Anzeige für Java gibt es: http://sourceforge.net/project/showfiles.php?group_id=126194

Server

Zustandsübergänge auf der Serverseite:

DataEntry States.svg

Client fordert neues Bild vom Server an (Projekt mit double-keying)

  • abgelaufene Bilder freigeben
    • suche Bilder im Projekt mit erreichtem Ablaufdatum und Zustand WORK1, setze auf NEW
    • suche Bilder im Projekt mit erreichtem Ablaufdatum und Zustand WORK2, setze auf BACK_FROM_WORK1
  • Gibt es im Projekt ein Bild mit BACK_FROM_WORK1, das nicht vom Bearbeiter getippt wurde?
    • ja: Status = WORK2, Bearbeiter und Ablaufdatum setzen, Bild senden, ENDE
  • Gibt es im Projekt ein Bild mit NEW?
    • ja: Status = WORK1, Bearbeiter und Ablaufdatum setzen, Bild senden, ENDE
  • Rückmeldung: kein Bild mehr da

Client sendet Daten zurück

  • Daten in Datentabelle speichern
  • wenn Zustand WORK1, dann Datum eintragen, Zustand BACK_FROM_WORK1, ENDE
  • wenn Zustand WORK2, dann Datum eintragen, prüfen ob alle Daten identisch sind
    • ja: Zustand DONE, ENDE
    • nein: Zustand BACK_FROM_WORK2, ENDE

Tabelle für Seiten

  • id
  • project_id INT (Referenz auf Projekt-Tabelle)
  • sequence_number INT
  • status STRING oder INT (wie werden Enums übersetzt?)
  • editor1 INT
  • edit1_date DATE
  • editor2 INT
  • edit2_date DATE
  • arbiter INT
  • arbitration_date DATE

Tabelle für Daten

  • id
  • page Referenz auf Seiten-Tabelle
  • number_of_edit INT
  • column_number INT
  • cell_content TEXT

  1. Bei einem Ortsverzeichnis ist es sinnvoll, zunächst einen Index der Ortsnamen aufzunehmen und erst später die Detailsinformationen zu tippen