Size: 953
Comment:
|
← Revision 21 as of 2012-12-19 08:47:02 ⇥
Size: 7848
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
== Popis životního cyklu == | |
Line 4: | Line 5: |
1. Uživatel se přihlásí do distributora 2. Po přihlášení se stáhne definice akcí a formulářů ({{{DocumentTasks.xml}}}) 3. Uživatel si vyžádá dokument 4. Distributor přidá atribut Document.task.json s odkazy na použité akce 5. Uživatel vyvolá akci nad dokumentem z kontextového menu 6. Zobrazí se formulář 7. Uživatel vyplní požadované hodnoty a potvrdí 8. Dokument zmizí z UI a je vyvolána funkce na serveru 9. po úspěšném provedení funkce se dokument buď zobrazí s aktualizovanými hodnotami, nebo je z Tahiti odstraněn 10. při neúspěšném vyvolání funkce je zobrazena chybová hláška a dokument je obnoven v původním stavu == Princip fungování akcí v Tahiti == V Tahiti je možné k dokumentu nadefinovat akce. Akce jsou zobrazovány v kontextovém menu. Pokud je akce vyvolána z kontextového menu, tak k ní může být zobrazen formulář. Použití akcí spojených s dokumentem se aktivuje nastavením speciálního atributu v dokumentu. Je možné přenášet celou definici akcí a formulářů nebo pouze odkaz na akce z již staženého popisu akcí do Tahiti. === Přenos celé definice formuláře a akcí === Formulář je popsán v xml a je přenášen jako hodnota atributu. Document.task.xml. Definiční formát je rozšířením workflow definovaných v [[http://frnk.lightcomp.cz/docs/tahiti55/admin/html/| Admin guide Workflow/Native format]] s drobnou změnou syntaxe. {{{ <?xml version="1.0"?> <DocumentTasks> <Actions id="GolemTasks"> <Action id="ChangeType" name="Zmena typu v oblasti" description="Zmena dokumentoveho typu v ramci jedne oblasti" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="Y" changeArea="N" changeAttributes="" protectAttributes="" postAction="close" confirm="Zmenit dokumentovy typ?" method="Golem.changeAttributes"/> </Action> <Action id="ChangeArea" name="Zmena oblasti" description="Zmena oblasti" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="Y" changeArea="Y" changeAttributes="" protectAttributes="" postAction="close" confirm="Zmenit oblast" method="Golem.changeAttributes"/> </Action> <Action id="ChangeEntity" name="Presun k jine entite" description="Zmena entity" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" protectAttributes="" postAction="close" confirm="Presunout dokument k zadane entite?" method="Golem.changeAttributes"/> </Action> <Action id="ChangeAttributes" name="Zmena ostatnich atributu" description="Zmena ostatnich atributu" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="*" protectAttributes="CJ" postAction="close" confirm="Zmenit atributy?" method="Golem.changeAttributes"/> </Action> <Action id="CopyDocument" name="Kopie dokumentu" description="Vytvorit kopii dokumentu" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" confirm="Vytvorit kopii dokumentu?" method="Golem.copyDocument"/> </Action> <Action id="InvalidateDocument" name="Zneplatneni" description="Zneplatneni dokumentu" form="Tahiti.internalForm.confirm"> <Attributes> <Attribute name="Document.newState" value="INVALID"/> </Attributes> <Tahiti.internalForm.confirm confirm="Zneplatnit vybrany dokument?" postAction="close" method="Golem.changeDocumentState"/> </Action> <Action id="UnidentifyDocument" name="Neidentifikovan" description="Oznacit dokument jako neidentifikovany" form="Tahiti.internalForm.confirm"> <Attributes> <Attribute name="Document.newState" value="UNIDENTIFIED"/> </Attributes> <Tahiti.internalForm.confirm confirm="Presunout dokument mezi neidentifikovane?" postAction="close" method="Golem.changeDocumentState"/> </Action> </Actions> </DocumentTasks> }}} || Název atributu || význam || || form || název formuláře zobrazeného při vyvolání akce, pokud není zadáno, tak se žádný formulář nezobrazuje, u jednotlivých akcí je umístěna konfigurace pro konkrétní formulář || === Přenos odkazu na již stažený formulář === Přenáší se pouze odkaz na definici formuláře a použité akce. Odkaz je zakódován jako objekt ve formátu JSON. Odkaz je přenášen jako hodnota atributu dokumentu s názvem Document.task.json. Definice formuláře je přenášena na klienta jako soubor {{{DocumentTasks.xml}}}, který je součástí {{{Tahiti5config.zip}}}. Odkaz má následující atributy || Název atributu || Význam || || def|| Název definičního souboru s definicí akcí a formulářů || || actions|| pole s názvy použitých akcí, akce se stejným názvem musí existovat v definičním souboru, pokud seznam akcí obsahuje pouze hodnotu "*", jsou použity všechny akce || Povolení všech akcí {{{ Document.task.json={"def":"GolemTasks","actions":["*"]} }}} Povolení pouze vybraných akcí {{{ Document.task.json={"def":"GolemTasks","actions":["ChangeAttributes","ChangeType","CopyDocument"]} }}} |
|
Line 14: | Line 116: |
<Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" protectAttributes="" postAction="close" confirm="Vytvorit kopii dokumentu?" method="Golem.copyDocument"/> |
<Action id="CopyDocument" name="Kopie dokumentu" description="Vytvorit kopii dokumentu" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" protectAttributes="" postAction="close" confirm="Vytvorit kopii dokumentu?" method="Golem.copyDocument"/> </Action> |
Line 20: | Line 126: |
|| changeType || změna dokumentového typu v rámci jedné oblasti || || changeArea || změna dokumentového typu včetně oblasti || || changeAttributes || seznam atributů, které je možné měnit || || protectAttributes || seznam atributů, které není možné měnit, pro použití v kombinaci s changeAttributes="*" || || postAction || akce provedenaá po úspěšném zavolání metody na serveru || || confirm || zpráva zobrazená před provedením akce || |
|| changeType || změna dokumentového typu v rámci jedné oblasti, možné hodnoty Y,N || || changeArea || změna dokumentového typu včetně oblasti, možné hodnoty Y,N || || changeAttributes || seznam atributů, které je možné měnit, pokud je zadána * je možné měnit všechny atributy || || protectAttributes ||seznam atributů, které není možné měnit, pro použití v kombinaci s changeAttributes="*" || || postAction || akce provedenaá po úspěšném zavolání metody na serveru, možné akce jsou close - zavře dokument, update - změní hodnoty dokumentu na zadané a nechá ho v Tahiti, pokud není zadáno ponechá dokument v Tahiti nezměněn || || confirm || zpráva zobrazená před provedením akce, pokud není zadána potvrzení není vyžadováno a akce se rovnou provede || |
Line 27: | Line 133: |
== Tahiti.internalForm.confirm == Formulář pro zobrazení potvrzovací zprávy před provedením akce {{{ <Action id="UnidentifyDocument" name="Neidentifikovan" description="Oznacit dokument jako neidentifikovany" form="Tahiti.internalForm.confirm"> <Attributes> <Attribute name="Document.newState" value="UNIDENTIFIED"/> </Attributes> <Tahiti.internalForm.confirm confirm="Presunout dokument mezi neidentifikovane?" postAction="close" method="Golem.changeDocumentState"/> </Action> }}} || Název atributu || Význam || || confirm || zpráva zobrazená před provedením akce, pokud není zadáno, zpráva se nezobrazí a akce je rovnou provedena || || postAction || akce provedenaá po úspěšném zavolání metody na serveru, možné hodnoty close - zavře dokument, pokud není zadáno ponechá dokument v Tahiti nezměněn || || method || název metody volané na serveru || |
Popis formulářů pro volání akcí na serveru
Popis životního cyklu
- Uživatel se přihlásí do distributora
Po přihlášení se stáhne definice akcí a formulářů (DocumentTasks.xml)
- Uživatel si vyžádá dokument
- Distributor přidá atribut Document.task.json s odkazy na použité akce
- Uživatel vyvolá akci nad dokumentem z kontextového menu
- Zobrazí se formulář
- Uživatel vyplní požadované hodnoty a potvrdí
- Dokument zmizí z UI a je vyvolána funkce na serveru
- po úspěšném provedení funkce se dokument buď zobrazí s aktualizovanými hodnotami, nebo je z Tahiti odstraněn
- při neúspěšném vyvolání funkce je zobrazena chybová hláška a dokument je obnoven v původním stavu
Princip fungování akcí v Tahiti
V Tahiti je možné k dokumentu nadefinovat akce. Akce jsou zobrazovány v kontextovém menu. Pokud je akce vyvolána z kontextového menu, tak k ní může být zobrazen formulář. Použití akcí spojených s dokumentem se aktivuje nastavením speciálního atributu v dokumentu. Je možné přenášet celou definici akcí a formulářů nebo pouze odkaz na akce z již staženého popisu akcí do Tahiti.
Přenos celé definice formuláře a akcí
Formulář je popsán v xml a je přenášen jako hodnota atributu. Document.task.xml. Definiční formát je rozšířením workflow definovaných v Admin guide Workflow/Native format s drobnou změnou syntaxe.
<?xml version="1.0"?> <DocumentTasks> <Actions id="GolemTasks"> <Action id="ChangeType" name="Zmena typu v oblasti" description="Zmena dokumentoveho typu v ramci jedne oblasti" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="Y" changeArea="N" changeAttributes="" protectAttributes="" postAction="close" confirm="Zmenit dokumentovy typ?" method="Golem.changeAttributes"/> </Action> <Action id="ChangeArea" name="Zmena oblasti" description="Zmena oblasti" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="Y" changeArea="Y" changeAttributes="" protectAttributes="" postAction="close" confirm="Zmenit oblast" method="Golem.changeAttributes"/> </Action> <Action id="ChangeEntity" name="Presun k jine entite" description="Zmena entity" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" protectAttributes="" postAction="close" confirm="Presunout dokument k zadane entite?" method="Golem.changeAttributes"/> </Action> <Action id="ChangeAttributes" name="Zmena ostatnich atributu" description="Zmena ostatnich atributu" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="*" protectAttributes="CJ" postAction="close" confirm="Zmenit atributy?" method="Golem.changeAttributes"/> </Action> <Action id="CopyDocument" name="Kopie dokumentu" description="Vytvorit kopii dokumentu" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" confirm="Vytvorit kopii dokumentu?" method="Golem.copyDocument"/> </Action> <Action id="InvalidateDocument" name="Zneplatneni" description="Zneplatneni dokumentu" form="Tahiti.internalForm.confirm"> <Attributes> <Attribute name="Document.newState" value="INVALID"/> </Attributes> <Tahiti.internalForm.confirm confirm="Zneplatnit vybrany dokument?" postAction="close" method="Golem.changeDocumentState"/> </Action> <Action id="UnidentifyDocument" name="Neidentifikovan" description="Oznacit dokument jako neidentifikovany" form="Tahiti.internalForm.confirm"> <Attributes> <Attribute name="Document.newState" value="UNIDENTIFIED"/> </Attributes> <Tahiti.internalForm.confirm confirm="Presunout dokument mezi neidentifikovane?" postAction="close" method="Golem.changeDocumentState"/> </Action> </Actions> </DocumentTasks>
Název atributu |
význam |
form |
název formuláře zobrazeného při vyvolání akce, pokud není zadáno, tak se žádný formulář nezobrazuje, u jednotlivých akcí je umístěna konfigurace pro konkrétní formulář |
Přenos odkazu na již stažený formulář
Přenáší se pouze odkaz na definici formuláře a použité akce. Odkaz je zakódován jako objekt ve formátu JSON. Odkaz je přenášen jako hodnota atributu dokumentu s názvem Document.task.json. Definice formuláře je přenášena na klienta jako soubor DocumentTasks.xml, který je součástí Tahiti5config.zip. Odkaz má následující atributy
Název atributu |
Význam |
def |
Název definičního souboru s definicí akcí a formulářů |
actions |
pole s názvy použitých akcí, akce se stejným názvem musí existovat v definičním souboru, pokud seznam akcí obsahuje pouze hodnotu "*", jsou použity všechny akce |
Povolení všech akcí
Document.task.json={"def":"GolemTasks","actions":["*"]}
Povolení pouze vybraných akcí
Document.task.json={"def":"GolemTasks","actions":["ChangeAttributes","ChangeType","CopyDocument"]}
Formuláře
Tahiti.internalForm.changeAttributes
Formulář pro změnu atributů dokumentu
<Action id="CopyDocument" name="Kopie dokumentu" description="Vytvorit kopii dokumentu" form="Tahiti.internalForm.changeAttributes"> <Attributes/> <Tahiti.internalForm.changeAttributes changeType="N" changeArea="N" changeAttributes="CPS_CPU" protectAttributes="" postAction="close" confirm="Vytvorit kopii dokumentu?" method="Golem.copyDocument"/> </Action>
Název atributu |
Význam |
changeType |
změna dokumentového typu v rámci jedné oblasti, možné hodnoty Y,N |
changeArea |
změna dokumentového typu včetně oblasti, možné hodnoty Y,N |
changeAttributes |
seznam atributů, které je možné měnit, pokud je zadána * je možné měnit všechny atributy |
protectAttributes |
seznam atributů, které není možné měnit, pro použití v kombinaci s changeAttributes="*" |
postAction |
akce provedenaá po úspěšném zavolání metody na serveru, možné akce jsou close - zavře dokument, update - změní hodnoty dokumentu na zadané a nechá ho v Tahiti, pokud není zadáno ponechá dokument v Tahiti nezměněn |
confirm |
zpráva zobrazená před provedením akce, pokud není zadána potvrzení není vyžadováno a akce se rovnou provede |
method |
název metody volané na serveru |
Tahiti.internalForm.confirm
Formulář pro zobrazení potvrzovací zprávy před provedením akce
<Action id="UnidentifyDocument" name="Neidentifikovan" description="Oznacit dokument jako neidentifikovany" form="Tahiti.internalForm.confirm"> <Attributes> <Attribute name="Document.newState" value="UNIDENTIFIED"/> </Attributes> <Tahiti.internalForm.confirm confirm="Presunout dokument mezi neidentifikovane?" postAction="close" method="Golem.changeDocumentState"/> </Action>
Název atributu |
Význam |
confirm |
zpráva zobrazená před provedením akce, pokud není zadáno, zpráva se nezobrazí a akce je rovnou provedena |
postAction |
akce provedenaá po úspěšném zavolání metody na serveru, možné hodnoty close - zavře dokument, pokud není zadáno ponechá dokument v Tahiti nezměněn |
method |
název metody volané na serveru |