Řešení problémů při kompletaci

Upravit obsah stránky

Vzhledem k tomu, že flexideo replikátor ve fázi kompletace provádí úplnou kontrolu syntaxe, návaznosti jmen a odkazů, obecnou a věcnou kontrolu všech zadaných vlastnotí a jejich návazností tam, kde to má smysl, může snadno dojít k tomu, že dojde k zastavení procesu s hlášenímproblému. Některé sporné momenty, kdy se má chod zastavit, tj. vyhodnotit, že je v XDS něco špatně, je možné ovlivnit pomocí aplikačních nastavení v části D-1. Tato nastavení jsou iniciována při založení aplikace naoptimální nastavení a ve většině případů příliš nepomohou. Je zkrátka nutné tvořit návrh XDS správně!. Ke správně tvorbě značně napomůže k tomu určený XDS designer.

I přesveškerou snahu však při návrhu snadno uděláme chybu. Chyby samozřejmě mohou být koncepčního charakteru, tj. že navržená struktura neodpovídá potřebě. S koncepčními chybami replikátor samozřejmě nepomůže, ty jsou v režii návrháře. Tato situace je o to těžší, o co silnější nástroj návrhář drží vruce. Nicméně druhý okruh chyb, které můžeme nazvat technické, je možné (i díky celé koncepci definice) replikátorem podchytit.

Pakliže se tak stane, replikátor chod kompletace zastaví (není-li určeno v aplikačních nastaveních jinak) a ohlásí problém. Tento problém jezároveň také zapsán do XML logu, jež eviduje všechny chyby generované v rámci verze. Každá chyba má jednak uveden popis, který je pro její odstranění klíčový a obsahuje i odkaz na segment či uzel, kterého se týká a jednak má také typové číslo a název procedury a třídy, která ji generuje. Tytoidentifikační údaje jsou k dispozici zejména pro účely komunikace při odstraňování chyb, které se nedaří běžnými prostředky řešit. Náhled na tyto zápisy chyb je k dispozici jednak přímo v replikátoru a jednak také na nástrojové liště XDS designeru pod položkou Err pro snadnějšípřístup. V tomto výpisu je možné chyby dále filtrovat dle data nebo čísla.

Často se nedostatek či chyba v zápisu definice neprojeví přímo, ale jako nemožnost dokončit kompletaci, zejména kvůli odkazu na neexistující část apod. Algoritmus kompletace totiž předpokládá,že odkaz není špatně, ale odkazuje na dosud nedoplňenou část. Pokud k tomuto dojde, zobrazí replikátor odpovídající chybovou hlášku. Mimo jiné i pro tento druh potíží je k dispozici nástroj pro zobrazení nekompletních segmentů:

none-complete-ref

Zde je možné nahlížet na různé sestavy. Nejvyužívanější a také tedy výchozí sestavou je "přehled stop-reason u nekompletních". Pojem "stop-reason" je ve skutečnosti atribut, kterýmreplikátor označí v kompletované definici všechny segmenty, kde nemohl z jakéhokoli důvodu kompletaci dokončit, ale nejednalo se o vyloženou, např. syntaktickou, chybu. Tento přehled vám pak umožní nahlédnout na všechny segmenty s tímto atributem, které se nepodařilo dokompletovat ani v dalšíchcyklech a jsou tak příčinou neshopnosti dokončit kompletaci jako celek. V atributech stop-reason je uváděn důvod, proč nebylo možné kompletaci dokončit a nástroj k tomuto důvodu doplní odkaz na takto označený segment, aby jej bylo možné dohledat a příčinu odstranit.

Doplňování segmentů

Princip XDS díky možnosti použít šablony prvků a zejména šablony oblastí pomocí vlastnosti based-on nebo použití služeb pomocí vlastnosti source velmi usnadňuje návrh definice a šetří čas jejímu návrháři. Je to všakmince o dvou stranách. Při kompletaci dochází samozřejmě k tomu, že na místo odkazů na šablony a služby jsou doplňovány struktury a nekdy i v řetězené návaznosti (díky použití vlastnosti inherit-structure). Když pak dojde k tomu, že replikátor zjistí, že něco nesedí, doplní i odkaz, kde to nesedí. Tento odkaz je však již na segment nebo jeho část, které mohly být již doplněny a vevýchozí návhrářské definici se nevyskytuje přímo, ale v šabloně či zdroji, přímém či vzdáleném.

Z těchto důvodů není možné odkaz poskytuntý replikátorem přímo použít pro dohledání problému. V těchto složitějších případech je třeba projít celou cestu přes šablony azdroje až k příčině problému. Pomoci vám může nástroj pro přechod k šabloně či zdroji v oblasti vlastností v XDS designeru. Pro samotné zjištění toho, k jaké podobě kompletované XDS replikátor dospěl je možné použítnástroje pro prohlížení kompletního XDS, který v okamžiku nedokončené kompletace poskytuje náhled na její rozpracovanou podobu:

complete-ref

Zde mátemožnost vyhledávání pomocí XPath podmínek či možnost prostého procházení položek a nahlížení na jejich aktuální obsah. Podobně můžete otevřít complete.xds v XDS prohlížeči, který najdete mezi pomocnými prohlížeči na hlavní stránce flexideo replikátor. Z povahy aktuální podoby vlastností můžete taksnadněji usoudit na jádro problému a sjednat tak nápravu v tvořené vstupní definici.