Získávání souborů

Jak bylo v úvodu kapitoly zmíněno, k souboru uloženému na server může uživatel získat přístup pouze, pokud má přístup k některé struktuře, která na něj odkazuje. Musí rovněž být schopen poslat serveru ověřovací informace o této struktuře a to v rámci požadavku na získání souboru. Uživatelské rozhraní tedy musí znát nejen samotný odkaz na soubor v rámci jménného prostoru webového sídla, ale také strukturu, která tento odkaz uchovává a musí mít k této struktuře přístup. Požadavek na soubor může mít následující formu:

http://flexideo.server.cz/files/10000000/100000002.pdf?type=my_doc_type~key=123~arrayid=100002~arraykey=1234~fieldid=10000004~session=0000000000000001

je možné použít i odkaz pro přílohy dosud neuložené struktury, pokud je již známo uložiště (případ A - vkládání přes formulář):

http://flexideo.server.cz/files/10000000/100000002.pdf?_new~session=0000000000000001

Mimo údaje session, který je dynamicky generovaný a eviduje "seanci" přihlášeného uživatele (viz. obecná syntaxe), jsou všechny kódy statické a jsou dány buď strukturou nebo její instancí. Statické kódy často bývají předpřipraveny v generovaném kódu a doplněny klíči instancí a nakonec také i číslem seance. V této formě odchází na server v GETové části celkového požadavku na soubor a server dle těchto kódů ověřuje oprávnění daného přihlášeného uživatele a pokud oprávnění má, server vrací soubor pro jeho načtení či zobrazení.

Významy jednotlivých parametrů:

type - pojmenovává základní název struktury, ke které je soubor přiřazen - typ dokumentu; určitý, již zařazený soubor vždy patří k jednomu či několika instancím; patří-li soubor k více dokumentům (tj. je-li více dokumenty odkazován), postačí pro ověření jeden platný dostupný odkaz;

key - primární klíč instance dokumentu, kde se odkaz na požadovaný soubor nachází; v XML instanci tuto hodnotu najdete v atributu dkey kmenového uzlu instance dokumentu; je rovněž možné jej získat pod názvem pdk v hlavní tabulce dokumentu (více viz. DAD;

arrayid - dokument a jeho prvky je pomocí DAD principů rozkládán do databáze a v rámci těchto DAD existují XML soubory, které pomocí polí (array) popisují tabulky a její sloupce v databázi; každé takové pole má historicky (tedy mezi-verzově) stabilní id, které je zde uváděno jako identifikátor struktury a vedle DAD souborů je možné jej získat např. z atributu dad-id, který je uváděn u každého prvku v XML souboru popisu struktury;

arraykey - pokud je odkaz umístěn do struktury, která je v dané části dokumentu opakovatelná, je třeba ještě uvést do arraykey primární klíč této opakovatelné části (v instanci dokumentu jej naleznete v atributu skey u tagu opakovatelného uzlu;

fieldid - podobně jako pole má své arrayid tak i každý prvek má historicky stabilní celočíselný identifikátor; do tohoto ůdaje se tedy zapisuje osmimístné id prvku obsahujícího předávaný odkaz na požadovaný soubor; toto id je možné získat např. z atributu xds-id, který je uváděn u každého prvku v XML souboru popisu struktury;

Nejsou-li údaje pro ověření uvedeny nebo pokud jsou nedostatečné, k vydání souboru serverem nedojde ani v případě, že by jinak uživatel měl na tento soubor nárok. Obslužné procedury uživatelského rozhraní tedy musí být tyto údaje schopné zajistit.


Vkládání souborůZískávání souborůPoužití již uložených souborůBěžné stahování souborůSložky serveru, virtuální složky