Differences between revisions 5 and 17 (spanning 12 versions)
Revision 5 as of 2005-09-05 10:34:46
Size: 4932
Editor: 10
Comment:
Revision 17 as of 2005-09-29 08:18:47
Size: 7029
Editor: 10
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:

||<#C0C0C0> Termín ||<#C0C0C0> Vysvětlení ||
|| Document``Set || Sada společně naskenovaných dokumentů ||

== Změny ==
|| 2005-09-29 || Rozšíření chybových stavů Lock``Request ||
|| 2005-09-27 || Definice Resume``Request, přiznak pause u Processed``Request ||
|| 2005-09-12 || Definice Reinsert``Request ||
|| 2005-09-07 || Rozšíření Unlock``Request o důvod odemčení ||

== Formát DocumentSet ==
Document``Set je zazipovaný soubor, který obsahuje naskenované soubory a soubor docset.xml, který popisuje jejich atributy, příslušnost do dokumentů

Popis formátu docset.xml je dostupný zde: http://frnk.lightcomp.cz/lcdevel/SpecifikaceTahitiDamisUlozeniDat, část '''Popis spisu'''


== Identifikace DocumentSetu ==

Document``Set je identifikován názvem serveru a vlastním identifikátorem Document``Setu ( id )
Oba identifikátory jsou ascii

Identifikator zámku (lockId) je textový retezec ASCII, ktery vraci server

Typická komunikace mezi Tahiti a Skenovacím serverem:
 1. Tahiti dostane z dispu id Document``Setu
 2. Tahiti zamkne Document``Set ( při této akci získá lockId)
 3. Tahiti si vyžádá data Document``Setu
 4. Tahiti periodicky posílá oznámení, že má Document``Set stále zamčen
 5. Tahiti odešle zpracovaný Document``Set

Funkce poskytované serverem:
 * Uzamknutí Document``Setu
 * Oznámení, že Document``Set byl zpracován a odeslání zpracovaného Document``Setu ( zazipovaného )
 * Oznámení, že Document``Set zpracovávat nebude ( odemkne ho )
 * Vyžádání Document``Setu ( zazipované )
 * Oznámení, že vyžádaný Document``Set je stále používán

Data jsou přenášena pomocí http/post s content-type=text/xml

Při odesílání zpracovaného Document``Set je použit http/post s multipart obsahem
 
== Uzamknutí DocumentSetu ==
Klient odesílá
 * identifikátor Document``Setu
 * uživatelské jméno
Vrátí OK, FAIL

{{{
Request
<?xml?>
<LockRequest id="" user=""/>

Response
<?xml?>
<LockResponse status="LOCKED|RACE|FAIL|NOTEXISTS" lockId="" error=""/>

LOCKED - DocumentSet je uzamcen, lockId obsahuje identifikator zamku
RACE - DocumentSet ma jiz nekdo jiny uzamcen
FAIL - chyba
NOTEXIST - DocumentSet s danym id neexistuje

lockId - obsahuje přidělený kód zámku ( status == LOCKED)
error - nepovinny atribut, obsahuje blizsi popis chyby (pravdepodobne v anglictine)

}}}


== Oznámení o zpracování spisu ==
Zde se odesílá multipart zpráva složená ze dvou částí
 1. xml s níže popsaným příkazem, název "command"
 2. zazipovaný Document``Set, název "batch1.zip"

Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele

{{{
Request
<?xml?>
<ProcessedRequest id="" lockId="" user="" pause="0|1" />

Response
<?xml?>
<ProcessedResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako zpracovany
FAIL - DocumentSet se nepodarilo oznacit jako zpracovany
}}}

|| Atribut || Povinnost || Význam ||
|| id || ano || Identifikátor spisu ||
|| lockId || ano || zámek spisu ||
|| user || ano || uživatel pracující se spisem ||
|| pause || ne || Může nabývat hodnot 0|1. V případě 1 je dokument pozdržen (není archivován) do doby než přijde požadavek ResumeRequest ||

== Uvolnění spisu pro archivaci ==
Pokud byl spis uložen s atributem {{{pause=1}}} je nutno ho samostatným příkazem uvolnit pro další zpracování.
Požadavek je označen jako {{{ResumeRequest}}}

{{{
Request
<?xml?>
<ResumeRequest id="" user=""/>

Response
<?xml?>
<ResumeRequestResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako znovuvlozeny
FAIL - DocumentSet se nepodarilo oznacit jako znovuvložený
}}}


== Oznámení o znovuvložení spisu do Damisu ==
Zde se odesílá multipart zpráva složená ze dvou částí
 1. xml s níže popsaným příkazem, název "command"
 2. zazipovaný Document``Set, název "batch1.zip"

Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele

{{{
Request
<?xml?>
<ReinsertRequest id="" lockId="" user=""/>

Response
<?xml?>
<ReinsertResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako znovuvlozeny
FAIL - DocumentSet se nepodarilo oznacit jako znovuvložený
}}}

''Poznámka:''
Slouží pro znovuvložení opravených spisů po reklamaci

== Oznámení o odmítnutí spisu ==
Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele
 * důvod odemčení dokumentu
|| Hodnota || Popis ||
|| BADCONTENT || Vrácení spisu na reklamaci, nečitelné, poškozené apod. ||
|| UNABLETOPROCEED || Předání jiné osobě, není schopen identifikovat. ||

{{{
Request
<?xml?>
<UnlockRequest id="" lockId="" user="" reason=""/>

Response
<?xml?>
<UnlockResponse status="OK|FAIL"/>

OK - DocumentSet byl odemknut
FAIL - DocumentSet se nepodarilo odemknout

}}}

== Vyžádání DocumentSetu ==

Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele

Vrátí soubor se zazipovaným Document``Setem

{{{
Request
<?xml?>
<DocumentSetRequest id="" lockId="" user=""/>

Response
zazipovany soubor (batch.zip) s DocumentSetem

}}}

== Oznámení, že vyžádaný DocumentSet je stále používán ==
Odešle
 * jméno uživatele
 * seznam Document``Setu, ktere ma zamcene ( u každého Document``Setu posílá id, lockId)
Vrátí seznam Document``Setu, pro ktere to opravdu plati (vrati podmnozinu toho co jsem odeslal)

{{{
Request - poslu seznam DocumentSetu, ktere mam zamknute
<?xml?>
<NotifyRequest user="">
 <LockedDocumentSet id="" lockId=""/>
 <LockedDocumentSet id="" lockId=""/>
<NotifyRequest/>


Response - vrati seznam DocumentSetu, pro ktere to stale plati
<?xml?>
<NotifyResponse>
 <LockedDocumentSet id="" lockId=""/>
 <LockedDocumentSet id="" lockId=""/>
</NotifyResponse>
}}}

== Příklad komunikace ==
Line 32: Line 239:



||<#C0C0C0> Termín ||<#C0C0C0> Vysvětlení ||
|| Document``Set || Sada společně naskenovaných dokumentů ||

== Formát DocumentSet ==
Document``Set je zazipovaný soubor, který obsahuje naskenované soubory a soubor docset.xml, který popisuje jejich atributy, příslušnost do dokumentů

Popis formátu docset.xml je dostupný zde: http://frnk.lightcomp.cz/lcdevel/SpecifikaceTahitiDamisUlozeniDat, část '''Popis spisu'''


== Identifikace DocumentSetu ==

Document``Set je identifikován názvem serveru a vlastním identifikátorem Document``Setu ( id )
Oba identifikátory jsou ascii

Identifikator zámku (lockId) je textový retezec ASCII, ktery vraci server

Typická komunikace mezi Tahiti a Skenovacím serverem:
 1. Tahiti dostane z dispu id Document``Setu
 2. Tahiti zamkne Document``Set ( při této akci získá lockId)
 3. Tahiti si vyžádá data Document``Setu
 4. Tahiti periodicky posílá oznámení, že má Document``Set stále zamčen
 5. Tahiti odešle zpracovaný Document``Set

Funkce poskytované serverem:
 * Uzamknutí Document``Setu
 * Oznámení, že Document``Set byl zpracován a odeslání zpracovaného Document``Setu ( zazipovaného )
 * Oznámení, že Document``Set zpracovávat nebude ( odemkne ho )
 * Vyžádání Document``Setu ( zazipované )
 * Oznámení, že vyžádaný Document``Set je stále používán

Data jsou přenášena pomocí http/post s content-type=text/xml

Při odesílání zpracovaného Document``Set je použit http/post s multipart obsahem
 
== Uzamknutí DocumentSetu ==
Klient odesílá
 * identifikátor Document``Setu
 * uživatelské jméno
Vrátí OK, FAIL

{{{
Request
<?xml?>
<LockRequest id="" user=""/>

Response
<?xml?>
<LockResponse status="LOCKED|RACE|FAIL" lockId=""/>

LOCKED - DocumentSet je uzamcen, lockId obsahuje identifikator zamku
RACE - DocumentSet ma jiz nekdo jiny uzamcen
FAIL - chyba

lockId obsahuje přidělený kód zámku ( status == LOCKED)
 
}}}


== Oznámení, že DocumentSet byl zpracován ==
Zde se odesílá multipart zpráva složená ze dvou částí
 1. xml s níže popsaným příkazem, název "command"
 2. zazipovaný Document``Set, název "batch1.zip"

Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele

{{{
Request
<?xml?>
<ProcessedRequest id="" lockId="" user=""/>

Response
<?xml?>
<ProcessedResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako zpracovany
FAIL - DocumentSet se nepodarilo oznacit jako zpracovany
}}}

== Oznámení, že DocumentSet zpracovávat nebude ==
Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele

{{{
Request
<?xml?>
<UnlockRequest id="" lockId="" user=""/>

Response
<?xml?>
<UnlockResponse status="OK|FAIL"/>

OK - DocumentSet byl odemknut
FAIL - DocumentSet se nepodarilo odemknout

}}}

== Vyžádání DocumentSetu ==

Odešle
 * identifikátor Document``Setu
 * zámek Document``Setu
 * jméno uživatele

Vrátí soubor se zazipovaným Document``Setem

{{{
Request
<?xml?>
<DocumentSetRequest id="" lockId="" user=""/>

Response
zazipovany soubor (batch.zip) s DocumentSetem

}}}

== Oznámení, že vyžádaný DocumentSet je stále používán ==
Odešle
 * jméno uživatele
 * seznam Document``Setu, ktere ma zamcene ( u každého Document``Setu posílá id, lockId)
Vrátí seznam Document``Setu, pro ktere to opravdu plati (vrati podmnozinu toho co jsem odeslal)

{{{
Request - poslu seznam DocumentSetu, ktere mam zamknute
<?xml?>
<NotifyRequest user="">
 <LockedDocumentSet id="" lockId=""/>
 <LockedDocumentSet id="" lockId=""/>
<NotifyRequest/>


Response - vrati seznam DocumentSetu, pro ktere to stale plati
<?xml?>
<NotifyResponse>
 <LockedDocumentSet id="" lockId=""/>
 <LockedDocumentSet id="" lockId=""/>
</NotifyResponse>
}}}

Protokol je určen pro komunikaci mezi Tahiti a serverem DAMIS pro distribuci spisů k identifikaci a jejich následné předání na archivaci. Komunikace probíhá pomocí HTTP protokolu (RFC1945, RFC2616), všechny dotazy jsou z klienta na server přenášeny metodou POST.

Termín

Vysvětlení

DocumentSet

Sada společně naskenovaných dokumentů

Změny

2005-09-29

Rozšíření chybových stavů LockRequest

2005-09-27

Definice ResumeRequest, přiznak pause u ProcessedRequest

2005-09-12

Definice ReinsertRequest

2005-09-07

Rozšíření UnlockRequest o důvod odemčení

Formát DocumentSet

DocumentSet je zazipovaný soubor, který obsahuje naskenované soubory a soubor docset.xml, který popisuje jejich atributy, příslušnost do dokumentů

Popis formátu docset.xml je dostupný zde: http://frnk.lightcomp.cz/lcdevel/SpecifikaceTahitiDamisUlozeniDat, část Popis spisu

Identifikace DocumentSetu

DocumentSet je identifikován názvem serveru a vlastním identifikátorem DocumentSetu ( id ) Oba identifikátory jsou ascii

Identifikator zámku (lockId) je textový retezec ASCII, ktery vraci server

Typická komunikace mezi Tahiti a Skenovacím serverem:

  1. Tahiti dostane z dispu id DocumentSetu

  2. Tahiti zamkne DocumentSet ( při této akci získá lockId)

  3. Tahiti si vyžádá data DocumentSetu

  4. Tahiti periodicky posílá oznámení, že má DocumentSet stále zamčen

  5. Tahiti odešle zpracovaný DocumentSet

Funkce poskytované serverem:

  • Uzamknutí DocumentSetu

  • Oznámení, že DocumentSet byl zpracován a odeslání zpracovaného DocumentSetu ( zazipovaného )

  • Oznámení, že DocumentSet zpracovávat nebude ( odemkne ho )

  • Vyžádání DocumentSetu ( zazipované )

  • Oznámení, že vyžádaný DocumentSet je stále používán

Data jsou přenášena pomocí http/post s content-type=text/xml

Při odesílání zpracovaného DocumentSet je použit http/post s multipart obsahem

Uzamknutí DocumentSetu

Klient odesílá

  • identifikátor DocumentSetu

  • uživatelské jméno

Vrátí OK, FAIL

Request
<?xml?>
<LockRequest id="" user=""/>

Response 
<?xml?>
<LockResponse status="LOCKED|RACE|FAIL|NOTEXISTS" lockId="" error=""/>

LOCKED - DocumentSet je uzamcen, lockId obsahuje identifikator zamku
RACE - DocumentSet ma jiz nekdo jiny uzamcen
FAIL - chyba
NOTEXIST - DocumentSet s danym id neexistuje

lockId - obsahuje přidělený kód zámku ( status == LOCKED)
error - nepovinny atribut, obsahuje blizsi popis chyby (pravdepodobne v anglictine)  

Oznámení o zpracování spisu

Zde se odesílá multipart zpráva složená ze dvou částí

  1. xml s níže popsaným příkazem, název "command"
  2. zazipovaný DocumentSet, název "batch1.zip"

Odešle

  • identifikátor DocumentSetu

  • zámek DocumentSetu

  • jméno uživatele

Request
<?xml?>
<ProcessedRequest id="" lockId="" user="" pause="0|1" />

Response
<?xml?>
<ProcessedResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako zpracovany
FAIL - DocumentSet se nepodarilo oznacit jako zpracovany

Atribut

Povinnost

Význam

id

ano

Identifikátor spisu

lockId

ano

zámek spisu

user

ano

uživatel pracující se spisem

pause

ne

Může nabývat hodnot 0|1. V případě 1 je dokument pozdržen (není archivován) do doby než přijde požadavek ResumeRequest

Uvolnění spisu pro archivaci

Pokud byl spis uložen s atributem pause=1 je nutno ho samostatným příkazem uvolnit pro další zpracování. Požadavek je označen jako ResumeRequest

Request
<?xml?>
<ResumeRequest id="" user=""/>

Response
<?xml?>
<ResumeRequestResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako znovuvlozeny
FAIL - DocumentSet se nepodarilo oznacit jako znovuvložený

Oznámení o znovuvložení spisu do Damisu

Zde se odesílá multipart zpráva složená ze dvou částí

  1. xml s níže popsaným příkazem, název "command"
  2. zazipovaný DocumentSet, název "batch1.zip"

Odešle

  • identifikátor DocumentSetu

  • zámek DocumentSetu

  • jméno uživatele

Request
<?xml?>
<ReinsertRequest id="" lockId="" user=""/>

Response
<?xml?>
<ReinsertResponse status="OK|FAIL"/>

OK - DocumentSet byl oznacen jako znovuvlozeny
FAIL - DocumentSet se nepodarilo oznacit jako znovuvložený

Poznámka: Slouží pro znovuvložení opravených spisů po reklamaci

Oznámení o odmítnutí spisu

Odešle

  • identifikátor DocumentSetu

  • zámek DocumentSetu

  • jméno uživatele
  • důvod odemčení dokumentu

Hodnota

Popis

BADCONTENT

Vrácení spisu na reklamaci, nečitelné, poškozené apod.

UNABLETOPROCEED

Předání jiné osobě, není schopen identifikovat.

Request
<?xml?>
<UnlockRequest id="" lockId="" user="" reason=""/>

Response
<?xml?>
<UnlockResponse status="OK|FAIL"/>

OK - DocumentSet byl odemknut
FAIL - DocumentSet se nepodarilo odemknout

Vyžádání DocumentSetu

Odešle

  • identifikátor DocumentSetu

  • zámek DocumentSetu

  • jméno uživatele

Vrátí soubor se zazipovaným DocumentSetem

Request
<?xml?>
<DocumentSetRequest id="" lockId="" user=""/>

Response
zazipovany soubor (batch.zip) s DocumentSetem

Oznámení, že vyžádaný DocumentSet je stále používán

Odešle

  • jméno uživatele
  • seznam DocumentSetu, ktere ma zamcene ( u každého DocumentSetu posílá id, lockId)

Vrátí seznam DocumentSetu, pro ktere to opravdu plati (vrati podmnozinu toho co jsem odeslal)

Request - poslu seznam DocumentSetu, ktere mam zamknute
<?xml?>
<NotifyRequest user="">
 <LockedDocumentSet id="" lockId=""/>
 <LockedDocumentSet id="" lockId=""/>
<NotifyRequest/>


Response - vrati seznam DocumentSetu, pro ktere to stale plati 
<?xml?>
<NotifyResponse>
 <LockedDocumentSet id="" lockId=""/>
 <LockedDocumentSet id="" lockId=""/>
</NotifyResponse>

Příklad komunikace

Příklad HTTP komunikace (žádost):

POST /damis/DamisServlet HTTP/1.1
Host: 10.2.0.6:8080
Keep-Alive: 
Connection: TE, Keep-Alive
TE: trailers
Content-Type: text/xml
Content-Length: 57

<?xml version="1.0"?><LockRequest id="00000009" user=""/>

Příklad HTTP komunikace (odpověď):

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml
Transfer-Encoding: chunked
Date: Mon, 05 Sep 2005 10:25:28 GMT

<?xml version="1.0" encoding="UTF-8"?><LockResponse lockId="10625d1a505-78a145df-be5e9dd8" status="LOCKED"/>

SpecifikaceTahitiDamisProtokol (last edited 2012-06-20 08:46:18 by 10)