Požadavek general-lock

Obecný zámek

Umožňuje uživateli "zamknout si" určitý celočíselný údaj a řídit tak přístup ke kritickým zrojům.

syntax
<request>
<general-lock
id="{number}"
doc-type="{string}"
lock="true|false|test"
timeout="{number}"
/>
</request>

Atributy

id - Číslo zámku - Celočíselný identifikátor zámku.(typ: number) TYP HODNOTY: number;

doc-type - Typový název - Nepovinný řetězcový identifikátor zámku, například název dokumentového typu.(typ: string) TYP HODNOTY: string;

lock - Typ operace - Specifikace toho, co má být se zámkem provedeno.(typ: string)

TYP HODNOTY: string;

Možnosti obsahu:

» true ~ Zamknout zámek

» false ~ Odemknout zámek

» test ~ Jen vrátit aktuální stav

timeout - Délka trvání - Atribut nastavuje čas v sekundách, po který se má zámek držet, hodnota 0 znamená nekonečno a je také výchozí hodnotou(typ: number) TYP HODNOTY: number;


Potomci

Požadavek general-lock neobsahuje žádné další elementy, ani žádné jiné číselné či řetězcové hodnoty.


Odpověď

Struktura odpovědi na požadavek general-lock vrácená v obálce response:

syntax
<response>
<general-lock
type="ok|error"
status="ok|fail|none"
userid="{number}"
lock="{string}"
descr="{string}"
/>
</response>

Atributy

type - Obsahuje hodnoty ok nebo error (možnosti obsahu: ok | error)

status - Klíčový atribut, který určuje úspěšnost požadavku.(typ: string)

TYP HODNOTY: string;

Možnosti obsahu:

» ok ~ Změna se provedla

» fail ~ Změna se nezdařila

» none ~ Změna nebyla požadována (test)

userid - Číslo autora zámku - Vrací id uživatele, který zamknutí provedl, jinak v odpovědi tento atribut vůbec není.(typ: number) TYP HODNOTY: number;

lock - Vrací tu hodnotu na níž se mělo zamčení změnit – tedy hodnotu z požadavku. Pokud je »status« odpovědi »ok«, pak je to zároveň i stav zámku.(typ: string) TYP HODNOTY: string;

descr - Obsahuje popisek chyby a nevznikla-li chyba, není »descr« v odpovědi zahrnut.(typ: string) TYP HODNOTY: string;


Potomci

Odpověď general-lock neobsahuje žádné další elementy, ani žádné jiné číselné či řetězcové hodnoty. Uzel nemá povolen prázdný obsah.

Výraz pro identifikaci chyb v odpovědi serveru: general-lock[@type='error'] (odkaz na popis detailu: @descr).


Další info

Umožňuje řídit například přístup k procesům, které by neměly být spouštěny souběžně jinými uživateli. Opakované zamčení v rámci uživatele ovšem možné je, ale v odpovědi na zamčení je uvedena odpovídající poznámka.

Princip obecného zámku je prostý. Každý takový zámek má své číslo – ID a zamyká se právě toto ID (tedy ne data či proces, ale toto číslo). V praxi to funguje tak, že na začátku procesu nebo při otevření speciální stránky flexideo se požádá nejprve o zamčení zámku určitého ID (toto číslo má proces nebo stránka pevně přiděleno a může být sdíleno i několika procesy či stránkami dle potřeby). Teprve pokud zamčení proběhne, může proces či stránka pokračovat (konkrétní reakce záleží na způsobu aplikace zámku). Pokud zámek daného ID již zamkl jiný uživatel, proces/stránka nebude pokračovat a nahlásí uživateli, že zámek procesu/stránky je již zamčen jiným uživatelem s případným oznamením jména uživatele či vyčkáváním na odemčení. Proces může být pak spuštěn až po ukončení daného procesu/stránky jiným uživatelem.

Obecný zámek může odemknout uživatel nebo administrátor a to admin. požadavkem admin-unlock.


Požadavek get-userPožadavek change-passwordPožadavek actionPožadavek send-requestPožadavek send-messagePožadavek confirm-messagePožadavek get-messagesPožadavek tranformPožadavek set-tempPožadavek get-tempPožadavek general-lockPožadavek encryptPožadavek decryptPožadavek max-keyPožadavek reload-sslPožadavek get-versionsPožadavek uuidPožadavek cnthashPožadavek rand