Wednesday 24 August 2011

Práce s číselníky, definice vazeb mezi metadaty

Pokud chceme v UCM (WebCenter Content) pracovat s číselníky, tj. omezenými seznamy, ze kterých se vybírá hodnota příslušného metadatového pole, máme několik možností.

Option List
Je-li hodnot jen několik a jsou-li v podstatě neměnné povahy, je možné využít tzv. Option Lists. Jak napovídá název, jedná se o objekt, který v sobě má na jednotlivých řádcích uvedeny hodnoty. Option List je možné vytvořit v Configuration Manageru.

Tree
Speciálním případem Option Listu je tzv. tree, strom, který umožní hodnoty v seznamu seřadit hierarchicky. Na dané úrovni jsou vždy vidět jen předci, přímí sourozenci a přímí potomci daného uzlu (seznam může být přehlednější).

Custom Tables, Views
V případě, že je třeba hodnoty v čase periodicky aktualizovat, je lepší použít tabulky a pohledy (views). Pokud se v Configuration Manageru vytvoří tabulka, znamená to fakticky, že se vytvoří nová tabulka v datovém modelu aplikace a přidá se její záznam mezi tabulky, které je možné v rámci definice metadat využívat.
Pohled umožňuje z tabulky vybrat některá data (sloupce i řádky). Na rozdíl od zvyklostí z databáze, obsahuje pohled, nikoliv tabulka, volbu Edit Values (Změň hodnoty), která umožní měnit hodnoty v tabulce uložené. Dalším důležitým polem je Visible Column, kterým umožní z pohledu vybrat jeden sloupec, jehož hodnoty je pak možné asociovat s vybraným metadatovým polem.

Představme si následující příklad:

Vytvoříme tedy 2 tabulky (Dodavatel, Dodavatel_detail) s příslušnými sloupci. Dále vytvoříme 3 pohledy (jeden nad tabulkou Dodavatel s viditelným sloupcem supplier_name a dva nad tabulkou Dodavatel_detail se sloupci country resp. city).

Pokud jsme tak ještě neučinili, vytvoříme příslušná metadatová pole. Dále pak můžeme asociovat pole s příslušným pohledem (v rámci Add/Edit Metadata Field vybereme Enable Option List a v rámci dalšího dialogu pak příslušný view).

Pokud bychom ponechali konfiguraci v tomto stavu, zobrazovaly by se pro country a city všechny 4 hodnoty z tabulky Dodavatel_detail.

Žádoucí je však, aby se nejprve vybral dodavatel (dle jména) a v detailních hodnotách se pak vybíralo jen mezi hodnotami příslušným tomuto dodavateli.

Relationship
Aby toto bylo možné, je třeba nejprve vytvořit další objekt, tzv. relationship (vztah). V řeči databáze se jedná o odkaz pomocí cizího klíče - opět v Configuration Manageru vytvoříme vztah mezi našimi dvěma tabulkami a sloupcem supplier_id jako cizím klíčem.

Relationship je pak třeba ještě použít v definici závislých metadatových položek (zaškrtne se Dependent Field a pak vybere Depends on Field - supplier_name při využití právě vytvořeného relationship)

Dvě upozornění:
  • pokud smažete tabulku vytvořenou v Configuration Manageru, zmizí ze seznamu, ale nebude odstraněna z databáze (musí se smazat administrátorskými prostředky databáze)
  • pokud v rámci definice tabulky nevyberete primární klíč, bude se automaticky brát jako primární klíč první sloupec

No comments:

Post a Comment