OLE dokumenty

Jednou z možných kategorií dokumentů jsou "OLE dokumenty". Jedná se o dokumenty využívající pro uložení a zobrazení obsahu tzv. OLE technologie. V této kap. naleznete informace týkající se této kategorie:

Do v. 9.02 včetně sloužila pro zadávání tzv. OLE dokumentů samostatná agenda "OLE dokumenty". To se od v. 9.03 změnilo, více viz agenda Dokumenty. Možnost evidování OLE dokumentů však zůstala zachována v původní podobě (viz Často kladené otázky - Lze ve v. 9.03 a vyšší zadávat "OLE dokumenty" jako v předchozích verzích?).

Stručné objasnění podstaty OLE technologie

ABRA Gen disponuje podporou pro využití tzv. OLE objektů, registrovaných ve Windows, využívající OLE technologie pro dynamickou výměnu dat. Toto řešení tedy nevyžaduje programování různých editorů, prohlížečů apod., pro různé typy příloh - to by jen zbytečně "nafukovalo" celou aplikaci a komplikovalo uživateli práci (možné odlišnosti v ovládání vlastních editorů od standardních Windows editorů apod.). Naopak umožňuje využívat jiných Windows aplikací a to těch, které má uživatel na svém PC k dispozici.

Laicky objasníme podstatu: když si instalujete nějakou windows aplikaci na váš počítač, tato si registruje své objekty ve Windows. Když potom chcete jako přílohu (tedy obsah dokladu typu Dokumenty v agendě Dokumenty) vytvořit nebo připojit nějaký fyzický dokument tvořený v této aplikaci, vložíte vlastně objekt typu "dokument této aplikace". Tento objekt má nadefinováno, jak se má chovat, jaké má vlastnosti, k jaké aplikaci patří, jakou ikonkou bude reprezentován, jaká obsahuje data apod. Pokud s ním pak potřebujete nějak manipulovat (např. ho editovat), on pak již "sám ví", že prostřednictvím služeb operačního systému má zavolat "svou" aplikaci, předat jí "svá" data a otevřít se v ní. Uživatel se nemusí o nic starat a pohodlně si oedituje "svou přílohu" v automaticky otevřené aplikaci, aniž by musel nějak ukončovat běh systému ABRA nebo se někam ručně přepínat apod. Vyvolání aplikace, která daný obsah dokumentu detailně zobrazí, je velmi snadné (doubleclick, dvojité kliknutí myší na zobrazovaný obsah v záložce Obsah dokladu OLE dokument).

Tato technologie má však bohužel i své nevýhody, viz Možné problémy s "OLE dokumenty".

Využití objasníme na příkladech:

Příklad 1: Vašemu klientovi chcete poslat obchodní nabídku. Jedna možnost je otevřít si nějaký textový editor, např. Word, v něm nabídku napsat, uložit a vytisknout. A pak jen zbývá si "pamatovat", že pro tuto firmu jste "někdy" (třeba před několika měsíci) vytvořili "nějakou" (ale už přesně nevíte jakou) obchodní nabídku, kterou jste si uložili "někam" (ale kam?).... o informovanosti vašich kolegů o této akci ani nemluvě.

ABRA Gen nabízí jiné řešení: v agendě Dokumenty si vytvoříte nový dokument typu OLE dokumenty. Vyplníte jeho "hlavičkové" údaje, nutné pro jeho pozdější identifikaci, jako je např. svázání s nějakou firmou z adresáře apod. a poté zadáte jeho obsah, kterým v tomto případě má být onen "wordovský" soubor. Pokud jej již máte hotový, pouze jej "připojíte", pokud dosud neexistuje, můžete si rovnou vytvořit nový. Jednoduše zvolíte, že chcete dokument ve Wordu. "Zavolá" se příslušný OLE objekt pro "wordovský" dokument, který již zajistí vše ostatní: vytvoří tzv. instanci objektu této třídy, otevře aplikaci MS Word, v níž vytvoříte váš dopis, který se po uložení v agendě Dokumenty uloží do databáze ABRA Gen.

Příklad 2: Od vašeho klienta vám přijde e-mail, jehož obsah byste si chtěli poznamenat k objednávce vystavované na danou firmu. Můžete např. tento uchopit myší a "přetáhnout" na plochu (tím je mail uložen jako soubor např. soubor typu *.eml). Pak jej stačí např. jednoduše vzít (zkopírovat) do clipboardu, v ABRA Gen si založit nový dokument pro tuto firmu a v jeho obsahu použít funkci Vložit z clipboardu. "Vyvolaný" OLE objekt daného typu zajistí vše potřebné, bez interakce uživatele. Pak jen stačí dokument uložit a v agendě Objednávek přijatých jej v záložce Přílohy připojit ke konkrétní objednávce.

Zobrazování vložených objektů, "containery" a OLE servery

Mezi aplikacemi, jejichž objekty lze vkládat do jiných, jsou některé, které jsou tzv. OLE servery. Dá se říci, že je-li aplikace OLE serverem, umožňuje větší komfort při poskytování dat svých objektů do jiných aplikací, než aplikace, která není OLE serverem, např. při zobrazování obsahu dokumentu apod. Aplikace, do nichž lze vložit dokumenty vytvořené v jiných aplikacích jakožto objekty příslušných typů, se nazývají "containers" (kontejnery). Mezi ně patří i ABRA Gen.

Objekty vložené do kontejnerů jsou reprezentovány ikonou nebo obrázkem (fotkou, snapshot), závisí na volbě uživatele. Ikona je dána aplikací, ve které je daný soubor tvořen (lze ji ale zaměnit za jinou apod.). Obrázek (fotka) obsahu je tvořen při vkládání. Tedy při vkládání obsahu dokumentu jako objektu do jiné aplikace se vkládající aplikace postará o to, aby požadovaný obrázek (fotku) obsahu vyrobila. Ten se pak používá pro účely zobrazování obsahu takovýchto dokumentů vytvořených v jiném programu, jsou-li vloženy do aktuálního programu. Pokud tedy prohlížíte např. v MS Word tabulku vloženou z MS Excel, prohlížíte jen její "obrázek". Teprve, pokud na něj "poklikáte" myší, zaktivuje se objekt daného typu, vyvolá se daná aplikace a tabulku editujete. Jaký ten obrázek (fotka) bude, závisí v podstatě na tom, o jakou aplikaci, v níž byl dokument vytvořen, se jedná. Jde-li o OLE servery, je obrázek "fotkou" obsahu dokumentu (např. jde-li o spread-sheet, pak může být obrázkem "vyfocený" obsah sešitu naposledy aktivního před uložením dokumentu"). Tedy v záložce Obsah v agendě Dokumenty v ABRA Gen vidíte vždy Obsah daného dokumentu (tedy vidíte bitmapu obsahu daného dokumentu), i když třeba nemáte danou aplikaci k dispozici). Soubory z jiných aplikací byly vkládány jako tzv. balíčky (Package) nástrojem "Balíčkovač objektů" (Packager), který je pro tento účel určen a který na místo fotky obsahu vyrobí bitmapu nějaké ikonky, která pak bude obsah reprezentovat (obsah dokumentu tedy v záložce Obsah v prohlížecím režimu neuvidíte, uvidíte jej jedině až po zaktivování daného objektu přímo v otevřené aplikaci). (Pouze na OS 7 a nižších, viz upozornění.)

Objasníme na příkladu:

Příklad: Pokud je tedy do ABRA Gen vložen objekt doc dokumentu (MS Word je OLE server), pak uživatel v záložce Obsah vidí jako obrázek obsah celého dokumentu (jakoby si prohlížel jeho "fotku", či si jej otevřel přímo ve Wordu). Pokud je ale vložen např. objekt txt souboru otvíraného v NotePadu, pak uživatel v záložce Obsah uvidí pouze ikonku reprezentující obrázek a vlastní data textového souboru nevidí (uvidí je jedině po aktivaci objektu a jeho otevření v zaktivované aplikaci NotePad).

Pozor! Principiálně není možné získat původní data z jakéhokoliv OLE obsahu (tedy např. i soubor *.doc z OLE obsahu MS Wordu). To lze pouze pomocí příslušného OLE serveru. V případě OLE obsahu, který neumí zpracovat žádný specifický OLE server (např. MS Word), se této operace na předchozích OS ujal výše zmíněný "Balíčkovač objektů", který byl na OS Windows 7 a nižších schopen "vyhrát" z OLE dokumentu původní soubor.  Od verze Windows Vista není Packager součástí operačního systému!

Z toho ovšem plyne, že na vyšších OS takové OLE dokumenty prostě nebude možné otevřít a jejich obsah "vyhrát". Nicméně jelikož již není doporučeno používat v systému ABRA Gen "OLE dokumenty", není to pro další použití nijak na závadu. Pokud potřebujete ještě i nyní otevřít takový OLE soubor, je možným řešením jej ručně otevřít např. na stroji s Windows 7 (nebo na virtuálním PC s Windows 7) a soubory znovu nahrát do systému ABRA Gen např. jako dokument typu "obecný soubor" nebo jako "obrázek" apod.

Obrázek (fotka) obsahu dokumentu vloženého jako objekt do ABRA Gen je pamatován v databázi stejně jako konkrétní data. To umožňuje, že příslušný vložený dokument (resp. jeho obrázek) si mohou zobrazovat i uživatelé, kteří na svém počítači danou aplikaci nemají apod. Objasníme na příkladu:

Uživatel 1 síťové ABRA Gen má ve windows v seznamu registrovaných souborů nastaveno, že soubory s příponou gif mají patřit k aplikaci PhotoShop. Do dokumentu vloží jako objekt obsah souboru *.gif. vedle vlastních dat se do databáze uloží jako obrázek "fotka" gif obrázku. Uživatel 2 má nastaveno, že soubory gif mají přidruženou aplikaci InternetExplorer. Pokud Uživatel 2 vytvoří dokument a vloží do něj obsah souboru *.gif, bude jeho obrázek pouze reprezentující ikona. Pokud si ale bude prohlížet dokument vytvořený Uživatelem 1, neuvidí jenom ikonu, ale uvidí "fotku" jeho obsahu přesně tak, jak ho vytvořil Uživatel 1.

Uvedené platí pro windows aplikace podporující drag-and-drop funkce pro OLE.

Možné problémy při vytváření "OLE dokumentů"

V některých případech může při vytváření dokumentu program nahlásit nějakou chybu, kvůli které nemůže požadovanou akci provést. V následujícím uvedeme nejtypičtější případy. Pokud byste si nevěděli s řešením problému rady, vyžádejte si odbornou pomoc.

  • Při snaze vytvořit dokument zvoleného typu program hlásí, že nemůže otevřít aplikaci

    Může se stát např. tehdy, pokud máte danou aplikaci již spuštěnu a jedná se o takovou aplikaci, kterou Windows neotvírají opakovaně při opakovaném spuštění.

  • Při snaze aktivovat obsah dokumentu nějakého typu hlásí, že "moniker nemůže otevřít soubor"

    Jedná se o situaci, kdy byl obsah do dokumentu vložen jako obsah existujícího souboru s propojením na tento soubor. Tedy se pamatuje link na tento soubor, který se pak otvírá při aktivaci obsahu dokumentu. Pokud program hlásí, že jej nemůže otevřít, může to být např. z důvodu, že daný soubor není pro otevření dostupný, tj. byl smazán, přemístěn, přejmenován apod.
     

  • Při snaze aktivovat obsah dokumentu nějakého typu hlásí, že "k provedení této akce není k souboru přidružen žádný program"

    Může se jednat o případ, kdy obsah dokumentu vytvořil např. jiný uživatel na jiném PC a kdy jde o objekt takového typu, který vyžaduje k aktivaci aplikaci, kterou vy na svém počítači např. vůbec nemáte instalovánu. Dále může jít typicky o případ, kdy obsah byl tvořen objektem typu "Balíček" (Package), který "balil" takový typ souboru, pro který na vašem PC není nastaveno, v jakém programu se má otvírat. (Pouze na OS XP a nižších, viz upozornění.) Objasníme na příkladu:

    Mějme soubor XY.err, pro který nemáme nastaveno, v jakém programu se má otevřít (projevuje se tak, že pokud ho chcete spustit např. Z Internet Exploreru "poklikáním" na něj, tak se neotevře, systém nabídne dialogové okno a vyzve vás ke zvolení programu k otevření). Soubor XY.err vložíme jako objekt do obsahu dokumentu - bude vložen prostřednictvím "balíčkovače objektů" jako objekt typu "Balíček". Pokud pak v obsahu daného dokumentu chceme vyvolat jeho editaci, zobrazí program výše uvedené hlášení. Pokud bychom poté nastavili, že pro otevření tohoto typu souboru se má např. použít program UltraEdit32, nebo NotePad apod. akci zopakovali, k editaci obsahu souboru by se otevřel příslušný program.

    Nastavení přidruženého programu pro otvírání můžete provést např. ve výše zmíněném dialogu nabídnutém po zaklikání na soubor, když jej chcete spustit, nebo podle typu vašeho operačního systému např. ve složce Tento počítač v menu Nastavení ve volbě Možnosti v seznamu registrovaných typů souborů, příp. může být toto nastavení dostupné v menu Start ve volbě Ovládací panely.

     

  • Při snaze vytvořit dokument kategorie "OLE dokument" program hlásí "Nesprávný řetězec třídy".

    Stane se tehdy, pokud ve Windows není zaregistrován OLE objekt s očekávaným OLE ProgId podle typu OLE dokladu. To může být způsobeno tím, že nemáte instalovánu na vašem PC příslušnou aplikaci (tudíž ani registrované objekty s ní související).

  • Při snaze vytvořit "OLE dokument" program "padá"

    Obvykle je způsobeno tím, že daná aplikace je chybně nainstalovaná, či nějakým způsobem poškozená. Pak se při jejím volání nepodaří založit dokument (objekt daného typu). Řešením může být reinstalace dané aplikace.

Používat "OLE dokumenty"?

Kategorie určená pro OLE dokumenty, tj. kategorie nadefinovaná s ovladačem "OLE dokumenty", je v systému k dispozici z důvodů zpětné kompatibility. Do v. 9.02 vč. byla technologie OLE dokumentů jedinou možnou, která byla v systému ABRA Gen pro evidenci dokumentů k dispozici. Byla primárně určena jen pro formát souborů, který je podporován OLE aplikací nainstalovanou na daném PC. Pokud taková aplikace není řádně nainstalována, nelze daný dokument otevřít a zobrazit. Viz výše Možné problémy s "OLE dokumenty".

Od v. 9.03 je k dispozici podpora pro různé formáty souborů, a není proto nutné kategorii OLE dokumenty používat. Soubor si můžete vložit pomocí kategorie určené přímo pro něj (např. obrázky, ISDOC doklady apod.) nebo můžete použít kategorii Obecný soubor.

V budoucí verzi se plánuje doplnění systému i o možnost odkládání do externích DMS systémů a o dohledávání dle klíčových slov, což by u obsahu dokumentů uložených jako "OLE dokumenty" nebylo možné.