V článku Na jaře řádně provětrejte firemní dokumenty v 72. čísle softwarového QUASU jsme se dotkli tématu metadat, atributů, které můžeme přiřazovat dokumentům v systému SharePoint. Jelikož metadata (data o datech) spolu se souvisejícími koncepty, jako jsou sloupce či typy obsahu, tvoří jedny ze základních kamenů, na kterých SharePoint staví, nebude na škodu se tématu věnovat poněkud podrobněji.

externí autořiexterní autoři
SoftwareSoftware
13.09.2010 12:00:0013.09.2010 12:00:00

externí autoři

externí přispěvatelé magazínu softwarový QUAS

ALSO Czech Republic s.r.o.
+420 222 512 201
+420 603 442 434
daquas@daquas.cz
Anny Letenské 7, Praha 2

SharePoint a metadata

V článku Na jaře řádně provětrejte firemní dokumenty jsme se dotkli tématu metadat, atributů, které můžeme přiřazovat dokumentům v systému SharePoint. Jelikož metadata (data o datech) spolu se souvisejícími koncepty, jako jsou sloupce či typy obsahu, tvoří jedny ze základních kamenů, na kterých SharePoint staví, nebude na škodu se tématu věnovat poněkud podrobněji.

Co jsou metadata?

Jde o souhrn informací, které jsme schopni poskytnout o dokumentu ukládaném v SharePointu. Při bližším zamyšlení zjišťujeme, že pro určitý typ dokumentu, jako je například Přijatá faktura, jsme schopni pokaždé říct nějaké množství informací. Analytické povahy mezi námi nebo příslušníci sekty s objektově orientovaným pohledem na svět brzy zjistí, že podmnožinu toho, co jsme schopni říct o přijaté faktuře, jsme schopni říct o jakékoliv faktuře, ne jenom přijaté.

Teď nás zajímají samotná metadata, později se podíváme na jejich vzájemné souvislosti. Vezměme si jako příklad obligátní obchodní smlouvu, pro jejichž skladování je SharePoint ideálním prostředkem. O takové smlouvě umíme říct, s jakými subjekty byla podepsána, kdo ji podepisoval, jak je to s její platností a konečně čeho se týká, tedy její předmět. Tyto informace (a zřejmě i některé další) bychom měli být schopni určit pro každou smlouvu (ostatně pokud ne, pak by asi nebylo úplně od věci se firemního právníka nějak nenápadně přeptat na to, zda náhodou nestudoval práva v Plzni).

Pokud umíme určit nějakou informaci, která je typickou vlastností každého dokumentu daného typu, pak je to velmi dobrý kandidát na metadata pro tento typ. Dál nás bude zajímat, zda jednotlivé hodnoty mohou být jakékoli, nebo musí vyhovovat nějakým kritériím, či dokonce nabývat jedné z hodnot určitého seznamu. Například datum by mělo splňovat nároky na datum (musíme z něho být schopni vyčíst rok, měsíc a den) a my můžeme jít i o krok dál a stanovit třeba, že datum nesmí být v minulosti. Podobně je tomu s číselnými údaji. Příliš asi není úplně nejvhodnější hodnota k zadání informace o celkové částce. V mnoha situacích umíme atributy svázat ještě přísnějšími pravidly a prohlásit například, že typ faktury může nabývat výhradně hodnot Přijatá/Vydaná.

Abychom si to ještě o trochu více zkomplikovali, hodnoty metadat nemusejí být nutně pouze jednoduché údaje, jako 123,25 nebo Smlouva o poskytování úklidových služeb. V případě pole Dodavatel to může být odkaz na konkrétní položku v seznamu firem, kde máme k dané firmě uloženy také informace o adrese, kontaktních osobách a podobně. A když jsme se tak rozjeli, onen seznam dokonce vůbec nemusí být v SharePointu, může být v externí databázi nebo firemním informačním systému.

K čemu je dobré metadata takto rozpitvávat? Nu, především proto, že pokud určité pole smí nabývat pouze daných hodnot, můžeme to v SharePointu zařídit tak, aby uživatel musel jednu z těchto hodnot vybrat a nemohl trvat na tom, že on odjakživa říká přijatým fakturám příchozí a nehodlá na této praxi nic měnit. Že je to docela šikovné, uvidíme v dalších odstavcích.

Metadata jsou tedy souborem informací, které lze určit pro každý dokument daného typu. Někdy se místo termínu metadata používá termín atribut. (I my ho budeme v dalším textu upřednostňovat. Přeci jenom se atribut skloňuje o něco lépe než metadata.)

Využití metadat v SharePointu

Teď už tedy víme, co jsou metadata – atributy. Ale proč bychom se jimi vůbec měli zabývat? Osobně jeden z jejich hlavních přínosů vidím v tom, že nám poví nějaké informace o dokumentu, aniž bychom jej museli otevírat.

Tady určitě mnozí pohrdlivě pokrčí nos. K tomu, abych našel ten správný dokument, aniž bych je musel všechny otevírat, slouží v 21. století fulltextové vyhledávání! Souhlas. Když vím, že moje smlouva se týká úklidových služeb, pak mám skutečně slušnou naději, že fulltextové vyhledávání slova „úklid“ nalezne kýžený dokument. Plný souhlas! Pro takové účely asi skutečně nestojí za to se zabývat nějakými atributy dokumentů. Ale pokud chci třeba zjistit součet celkových částek přijatých faktur od firmy První národní úklidová, tam už to bude s fulltextem horší. Necháme tedy „fulltextáře“ otevírat jeden dokument po druhém a poznamenávat si čísla na papír, a půjdeme trávit čas účelněji.

Mít k dispozici atributy pro dokumenty daného typu skutečně přináší mnoho možností, jako jsou filtrování, seskupování položek, součty, třídění a podobně. SharePoint jde o krok dál a umožňuje nám vytvářet si v jedné knihovně dokumentů pohledy, v rámci kterých pracujeme s výše zmíněnými možnostmi. Mohu si například vytvořit pohled, který zobrazuje pouze dokumenty, které jsem do knihovny nahrál (aktuální uživatel) v posledních 6 měsících.

Je jisté, že všechny tyto výhody nás budou něco stát. Jak již bylo psáno ve výše zmíněném jarním článku, poctivé vyplňování metadat je extra práce. Ale vyplatí se. Na druhou stranu, ne každý atribut musí nutně znamenat úmorné ruční vyplňování. S každou další generací rodiny Office si Microsoft dává záležet na tom, aby systémy pro tvorbu a správu dokumentů byly více integrované. V praxi to znamená, že třeba v šabloně aplikace Microsoft Word si můžeme konkrétní pole dokumentu navázat na určitý atribut knihovny dokumentů a při ukládání z něj SharePoint automaticky „vytěží“ hodnoty atributů.

Metadata a Sloupce webu (Site Columns)

Jakmile se s konceptem atributů sžijeme a jejich používání se pro nás stane samozřejmé, zjistíme, že některé atributy vytváříme pro různé knihovny dokumentů opakovaně. Typickým příkladem může být atribut Celková částka. SharePoint se nám snaží i zde ulehčit práci a nabízí koncept Sloupců definovaných na úrovni webu. Tyto sloupce pak můžeme opakovaně použít pro různé knihovny, aniž bychom je museli znovu a znovu vytvářet. Hned po instalaci SharePointu máme k dispozici připravený poměrně rozsáhlý seznam sloupců. Je užitečné si jej prohlédnout, abychom nevytvářeli již vytvořené. Nesnažme se však předdefinované sloupce používat za každou cenu. Pokud jsme v nabídce nalezli sloupec, který skoro vyhovuje našim požadavkům, ale přece jen by to znamenalo je nějak ohýbat, je lepší si vytvořit sloupec nový. Sloupce se seskupují do kategorií, s jejichž pomocí je možné udržet mezi nimi pořádek. Sloupce nelze přidávat přímo do knihoven, je možné je použít pouze v Typech obsahu.

Více metadat pohromadě – Typy obsahu (Content Types)

Poté, co jsme zvládli metadata a Sloupce webu, nebude problém doplnit do skládanky poslední dílek, kterým jsou Typy obsahu. Představme si, že v SharePointu uchováváme směrnice. Všechny vypadají přibližně stejně (vážou se tedy na ně stejné atributy), z určitých důvodů je však nutné, aby byly směrnice uloženy v různých knihovnách dokumentů (každé oddělení může mít svou knihovnu, či třeba chceme uchovávat odděleně vyřazené směrnice,… důvodů může být celá řada). Místo toho, abychom na každé knihovně definovali stejnou sadu atributů, jsme schopni vytvořit typ obsahu Směrnice, a ten přiřadit ke všem knihovnám, které směrnice uchovávají. Typ obsahu tedy definuje sadu atributů pro určitý typ dokumentu.

Co víc, typy obsahů můžeme vzájemně propojovat do hierarchických struktur, kde každý prvek hierarchie dědí atributy nadřízených prvků. SharePoint nám tímto dává do ruky skutečně mocný nástroj. Vzpomeňte, jak jsme na začátku říkali, že Přijatá faktura může být speciální typ Faktury. V hierarchii vytvoříme typ obsahu Faktura, který bude obsahovat atributy společné všem fakturám. Poté vytvoříme typ obsahu Přijatá faktura, přičemž označíme tento typ jako podřízený typu Faktura. Tím uplatníme atributy společné všem fakturám a na úrovni typu Přijatá už definujeme pouze atributy příslušné pouze fakturám přijatým.

Přesně tak funguje SharePoint. Vytvoříme-li v něm novou knihovnu dokumentů a nepřiřadíme jí sami typ obsahu, SharePoint to udělá a přiřadí jí typ obsahu Dokument. K jedné knihovně může být přiřazeno i více typů obsahu. Tato možnost by však měla být využívána s opatrností, ve většině případů by si knihovna měla vystačit s jedním typem obsahu. Tím, že jsme schopni přiřadit knihovně typ obsahu a typu obsahu šablonu, můžeme pak zajistit, že dokumenty vytvářené přímo v knihovně pocházejí z určité šablony.

Tolik tedy o atributech a všem, co s nimi souvisí. Téma jsme určitě nevyčerpali a některé drobnosti jsme pro lepší uchopení přímo záměrně zamlčeli. Cílem článku nebylo podat vyčerpávající informace a už vůbec ne poskytnout návod, jak si to vše v SharePointu „naklikat“. Šlo spíše o další dílek do představy o konceptech, na kterých SharePoint stojí. Jejich pochopení je nutné k tomu, abychom používali SharePoint pro správu dokumentů optimálně tak, jak byl navržen. Není nutné vždy využít všech nabízených možností, ale pokud to chceme dělat „po svém“, musí to být informované rozhodnutí. K takovému vám může pomoci tento článek a samozřejmě pak konkrétní rozprava o konkrétních potřebách vaší společnosti.

Aleš KlenkaMarap