DES offline/Schnittstelle: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: == Schnittstelle == Die Clients kommunizieren mit dem Server über eine Schnittstelle mit den folgenden Operationen. Bei allen Anfragen müssen Benutzername und Paßwor...) |
(veraltet) |
||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Veraltet}} | |||
== Schnittstelle == | == Schnittstelle == | ||
Die Clients kommunizieren mit dem Server über eine Schnittstelle mit den folgenden Operationen. Bei allen Anfragen müssen Benutzername und Paßwort übermittelt werden. | Die Clients kommunizieren mit dem Server über eine Schnittstelle mit den folgenden Operationen. Bei allen Anfragen müssen Benutzername und Paßwort übermittelt werden. | ||
Zeile 17: | Zeile 19: | ||
** ''bisher eingegebene Daten'' | ** ''bisher eingegebene Daten'' | ||
<xml><page id='1'> | <source lang="xml"><page id='1'> | ||
<url>http://wiki-commons.genealogy.net/images/2/2f/GDM_program_example04.png</url> | <url>http://wiki-commons.genealogy.net/images/2/2f/GDM_program_example04.png</url> | ||
<page-number>0</page-number> | <page-number>0</page-number> | ||
Zeile 28: | Zeile 30: | ||
</row> | </row> | ||
</transcription> | </transcription> | ||
</page></ | </page></source> | ||
=== defekte Seite melden === | === defekte Seite melden === | ||
Zeile 34: | Zeile 36: | ||
POST /extern/badPage/$PAGE_ID$ | POST /extern/badPage/$PAGE_ID$ | ||
<xml><comment>Seite nur halb im Bild</comment></ | <source lang="xml"><comment>Seite nur halb im Bild</comment></source> | ||
* Eingabe | * Eingabe | ||
Zeile 44: | Zeile 46: | ||
Mit dieser Operation bekommt man Informationen über ein Projekt, unter anderem über die Struktur der zu erfassenden Daten. | Mit dieser Operation bekommt man Informationen über ein Projekt, unter anderem über die Struktur der zu erfassenden Daten. | ||
GET /extern/ | GET /extern/getProject/$PROJECT_ID$ | ||
* Eingabe | * Eingabe | ||
** Kennung des Projekts | ** Kennung des Projekts | ||
* Ausgabe | * Ausgabe | ||
<xml><project id='1'> | <source lang="xml"><project id='1'> | ||
<name>Testproject 1</name> | <name>Testproject 1</name> | ||
<editingTime>10</editingTime> | <editingTime>10</editingTime> | ||
Zeile 64: | Zeile 66: | ||
</column> | </column> | ||
</columns> | </columns> | ||
</project></ | </project></source> | ||
=== Daten einschicken === | === Daten einschicken === | ||
Zeile 70: | Zeile 72: | ||
POST /extern/submitData/$PAGE_ID$ | POST /extern/submitData/$PAGE_ID$ | ||
<xml><transcription | <source lang="xml"><transcription> | ||
<row> | <row> | ||
<cell>Max</cell> | <cell>Max</cell> | ||
Zeile 78: | Zeile 79: | ||
<cell>Musterstadt</cell> | <cell>Musterstadt</cell> | ||
</row> | </row> | ||
</transcription></ | </transcription></source> | ||
=== Seite (unbearbeitet) freigeben === | === Seite (unbearbeitet) freigeben === | ||
Zeile 97: | Zeile 97: | ||
* keine Eingabe | * keine Eingabe | ||
* Ausgabe | * Ausgabe | ||
<xml><projects> | <source lang="xml"><projects> | ||
<project id='1'> | <project id='1'> | ||
<name>Testproject 1</name> | <name>Testproject 1</name> | ||
Zeile 104: | Zeile 104: | ||
<name>Testproject 2</name> | <name>Testproject 2</name> | ||
</project> | </project> | ||
</projects></ | </projects></source> |
Aktuelle Version vom 4. November 2022, 06:02 Uhr
Schnittstelle
Die Clients kommunizieren mit dem Server über eine Schnittstelle mit den folgenden Operationen. Bei allen Anfragen müssen Benutzername und Paßwort übermittelt werden.
neue Seite abrufen
Der Bearbeiter fordert für ein angegebenes Projekt eine neue Seite an. Serverseitig wird eine zu bearbeitende Seite aus dem Projekt ausgewählt und Informationen zu Bilddatei und möglicherweise bereits erfaßte Daten der Seite an den Client geschickt.
GET /extern/newPage/$PROJECT_ID$
- Eingabe
- Kennung des Projekts
- Antwort
- Kennung der Seite
- URL zum Scan
- Seitenzahl (beginnend bei 0 bei mehrseitigen Scans, sonst 0)
- MIME-Type des Scans
- Termin Abgabeschluß
- bisher eingegebene Daten
<page id='1'>
<url>http://wiki-commons.genealogy.net/images/2/2f/GDM_program_example04.png</url>
<page-number>0</page-number>
<mime-type>image/png</mime-type>
<expires>Sun Jan 18 14:09:23 CET 2009</expires>
<transcription>
<row nr='8'>
<cell nr='3'>Max</cell>
<cell nr='4'>Mustermann</cell>
</row>
</transcription>
</page>
defekte Seite melden
Mit Hilfe dieser Operation meldet ein Bearbeiter eine defekte Seite. Sie wird entsprechend markiert und ist anschließend nicht mehr dem Bearbeiter zugeordnet.
POST /extern/badPage/$PAGE_ID$
<comment>Seite nur halb im Bild</comment>
- Eingabe
- Kennung der Seite
- Text mit Beschreibung des Defekts
- keine Ausgabe
Informationen zu einem Projekt abrufen
Mit dieser Operation bekommt man Informationen über ein Projekt, unter anderem über die Struktur der zu erfassenden Daten.
GET /extern/getProject/$PROJECT_ID$
- Eingabe
- Kennung des Projekts
- Ausgabe
<project id='1'>
<name>Testproject 1</name>
<editingTime>10</editingTime>
<columns>
<column>
<type>string</type>
<name lang='de'>Familienname</name>
<name lang='en'>family name</name>
</column>
<column>
<type>string</type>
<name lang='de'>Vorname</name>
<name lang='en'>given name</name>
</column>
</columns>
</project>
Daten einschicken
Hat ein Bearbeiter eine Seite komplett bearbeitet, schickt er mit dieser Operation die Daten an den Server. Dort werden die Daten gespeichert und der Status der Seite (entsprechend des Zustandsgraphen) aktualisiert.
POST /extern/submitData/$PAGE_ID$
<transcription>
<row>
<cell>Max</cell>
<cell>Mustermann</cell>
<cell>12345</cell>
<cell>Musterstadt</cell>
</row>
</transcription>
Seite (unbearbeitet) freigeben
Ein Bearbeiter löst die Zuordnung einer Seite zu ihm ohne die Seite komplett bearbeitet und Daten übertragen zu haben. Anschließend steht die Seite anderen Bearbeitern zur Verfügung.
POST /extern/releasePage/$PAGE_ID$
- Eingabe
- Kennung der Seite
- keine Ausgabe
Liste der Projekte abrufen
Der Server sendet eine Liste aller aktuellen Projekte.
GET /extern/projectList
- keine Eingabe
- Ausgabe
<projects>
<project id='1'>
<name>Testproject 1</name>
</project>
<project id='2'>
<name>Testproject 2</name>
</project>
</projects>