Obsah
Práce se soubory v obecném klientovi
Běžnou funkčností činností systému ESO9 je import a export souborů různých typů. S vývojem internetových platforem a požadavků na bezpečnost se i tyto možnosti v čase mění.
Původní klient běžící na ActiveX prvcích jen a pouze v prohlížeči Internet Explorer systému Windows měl plný přístup k souborovému systému uživatele. Byla to vlastně část Windows přenesená do internetového prohlížeče. Tento přístup je ale pro běžné webové prohlížeče jako Chrome nebo Safari nemožný, jak kvůli požadavkům na bezpečnost, tak i na univerzální funkčnost v různých operačních systémech či mobilních zařízeních. Možnosti pro přístup k souborům jsou v obecném klientovi tyto:
Import (vkládání) souborů
Načítání souborů do prohlížeče je z bezpečnostních důvodů vždy nutné řídit uživatelem. Uživatel má dvě možnosti:
Buď použije tlačítko pro výběr souborů, obvykle s popiskem „Procházet…“ nebo (obvykle v případě dokumentové databáze) soubory ručně přenese do prohlížeče technologií „Drag & Drop“.
Pouze s uživatelem ručně vloženým souborem může prohlížeč pracovat
Některá omezení:
- Prohlížeč nezná a nemůže znát cestu k souboru na disku uživatele
- Z toho vyplývá, že nelze načítat soubory ručním zadáním či vkopírování cesty do textového pole
Možnosti vylepšení:
- Lze na stránce vynutit otevření dialogu pro výběr souboru např. při příchodu na stránku
- Lze omezit typy souborů pro výběr z dialogu
- Lze načítat soubory z DMS a pro komplexnější práci se soubory použít prostředky serveru, nikoli prohlížeče (např. synchronizací DMS s Google Drive, viz Synchronizace Google Drive s DMS ESO9).
Hromadný import souborů
Kromě importu jednotlivých souborů lze naimplementovat i hromadný import více souborů, více viz Hromadný import souborů do aplikace ESO9.
Export (ukládání) souborů
Soubory uložené v systému ESO9, případně vyexportované z uložených dat lze ukládat uživateli na disk pouze standardní cestou, tedy uložení do složky, kterou má ve svém prohlížeči uživatel nastavenou jako výchozí pro stahování souborů.
Jediné co uživatel může ovlivnit, je název souboru.
Některá omezení:
- Prohlížeč nevidí složky uživatele
- Prohlížeč nemůže ukládat na ručně či programově zadanou cestu vedoucí na disk uživatele
Možnosti vylepšení:
- Uživatel si může prohlížeč nastavit tak, aby byl vždy vyzván ke specifikaci cílové složky, kam soubor uložit (lze vyvolat jen na straně prohlížeče, nikoliv klienta ESO9)
- Použití prostředků serveru např. dávkové stažení více souborů (např. synchronizací DMS s Google Drive, viz Synchronizace Google Drive s DMS ESO9).
- Export do dokumentové databáze a tedy ukládat soubory pro další práci v rámci serverů ESO9, nikoliv disku uživatele
Export (ukládání) souborů na OS Windows
Výše uvedená omezení platí obecně pro všechny moderní webové prohlížeče.
Při práci v operačním systému Windows lze však s využitím služby ESO9OK Support Service tato omezení obejít a ukládat soubory do libovolné služky na disku stejně, jako v klientovi pro Internet Explorer. Službu lze nainstalovat (jednorázově) ze stránky s nápovědou odkazem Instalace podpůrné služby pro obecného klienta. Služba využívá TCP port 52361, pokud by byl již obsazen jinou aplikací, ukládání souborů bude funkční pouze do standardní složky Downloads.
Cestu k souboru lze nastavit buď předem v datovém zdroji formy, nebo ručním zápisem do textové položky. Pokud cílová složka pro export souboru neexistuje, založí se automaticky. Pokud složka pro export není zadána, použije se standardní složka Downloads vztažená k uživatelskému účtu, pod kterým je služba spuštěna.
Standardně je služba spuštěna pod účtem Local System, který má svou složku Downloads v systémovém adresáři. Pokud se služba spustí pod uživatelským účtem přihlášeného uživatele (toto nastavení je třeba jednorázově provést), použije se jeho výchozí složka Downloads.
Zobrazení lokální souborů na OS Windows - řešení bez záruky
Zobrazení lokálních souborů prostředky prohlížeče, tedy Google Chrome či MS Edge není z důvodu bezpečnosti možné. Jakýkoli přístup prohlížeče k lokálním zdrojům PC (tedy např. k souborovému systému) je striktně zakázaný.
Nicméně existuje způsob, jak prohlížeči přidat funkci „souborového prohlížeče“ a takto otevírat i speciálně sestavené odkazy vedoucí lokálně (nebo např. na síťovou složku vnitřní firemní sítě). Řešení je založené na doplňku prohlížeče, takže je bez záruky, neboť výrobci prohlížečů jej mohou zvýšením zabezpečení v budoucích verzích „zaříznout“.
Pokud potřebujete vytvářet odkazy na soubory uložené lokálně postupujte takto:
1. V prohlížeči Chrome nebo EDGE si otevřete webstore s doplňkem Local Explorer ZDE
2. Nainstalujte tlačítkem „Přidat do Chromu“
3. Po nainstalování doplňku se vám objeví úvodní stránka. Tou instalace nekončí jak je zde napsáno. Je nutné doinstalovat „Integration module“, tedy službu, která zprostředkuje prostředníka mezi doplňkem a windows. Klikněte na zelené „Add to Windows Explorer“
4. Stáhne se vám instalační soubor a obligátně jej nainstalujete do Windows. Tím instalace doplňku nekončí…
5. Musíte doplňku povolit čtení URL adres souborů. Toho dosáhnete v Nastavení-Rozšíření-Local Explorer (Podrobnosti), případně chrome://extensions/?id=eokekhgpaakbkfkmjjcbffibkencdfkl
6. Nyní stačí v datovém zdroji sestavit URL a vložit jej do odkazu. URL musí začínat prefixem localexplorer: např. localexplorer:C:\test\soubor.pdf; taková URL adresa pak je prostředky prohlížeče bez problémů otevřitelná. URL může směřovat na lokální i síťovou cestu, na složky i konkrétní soubory.
Příklad datového zdroje:
.... <input type="hidden" name="HiddenFields" value="MF_LOCAL_URL" > <input type="hidden" name="VIEW" value="SELECT *, 'localexplorer:C:\test\ESO9 WEB API.pdf' as MF_LOCAL_URL FROM QPSC"> <table width="100%"> <caption align="center">Poštovní směrovací číslo</caption> <tr> <td> <label for="fp15">Soubor</label> </td> <td> <a href="MF_LOCAL_URL" datafld="1_MF_LOCAL_URL" datasrc="#ESOPAGECTL" target="_blank">Odkaz na soubor</a> </td> </tr> ....
Zobrazení lokální souborů na OS Windows - doporučované řešení
Toto řešení přístupu k souborovému systému je založené pouze na protokolu HTTP(S), tj. pouze na standardní funkčnosti webového prohlížeče. V budoucnu tedy nehrozí, že přestane fungovat vlivem zvýšení zabezpečení ze strany výrobce prohlížeče.
Řešení spočívá v převodu nepodporovaného souborového odkazu (file://) na běžný webový odkaz (http://).
- Mějme ve formuláři soubor s obrázkem uvedený v odkazu syntaxí:
<a datafld="1_OBRAZEKPATH" datasrc="#ESOPAGECTL" target="_blank" href="http://">Obrázek</a>
- Datová položka OBRAZEKPATH je definována v dat. zdroji jako UNC cesta, např.
SELECT *, '\\server\images\obrazek.jpg' as OBRAZEKPATH
- Takto definovaný odkaz se převede na souborové volání (file://), které není v moderních prohlížečích povolené.
- Na serveru s uloženými obrázky (resp. na libovolném serveru v doméně, který obsahuje službu Internet Information Services - IIS) zprovozníme virtuální web nad adresářem s uloženými soubory.
- Jeho funkčnost snadno ověříme ve webovém prohlížeči zadáním URL adresy libovolného souboru (např. obrázku z předchozí kapitoly): http://server/images/obrazek.jpg
- Upravíme formulář v aplikaci ESO9. V datovém zdroji si sestavíme URL adresu k webu se soubory z předchozí kapitoly. Nezapomeneme uvést novou datovou položku v parametru HiddenFields, jinde ve formuláři se nevyskytuje.
SELECT *, 'http://server/images/obrazek.jpg' as OBRAZEKPATH
- Takto sestavený odkaz otevře soubor na nové kartě. Alternativně (typicky pro případ obrázku) jej lze zobrazit i přímo ve formuláři ESO9 (nejspíše ale zmenšený tak, aby se vešel na obrazovku spolu s ostatními údaji).
- Pokud jsou v databázi uloženy celé UNC cesty ke sdíleným souborům, je třeba je jednorázově SQL příkazem převést na relativní URL adresy.