Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.0, Roman Horváth, © 2015, powered by Rheia

Obsah stránky sa číta, prosím čakajte…

 TWS – Manuál k RS Rheia 1.0 – Obsah | Formátovanie toku textu | Karty  « Karty druhej úrovne  |  Odkazy kariet » 

Súčasne s navigáciou pomocou kariet na stránke, by sa mal návštevníkovi automaticky aktualizovať URL otvárané v novom okne
(obvykle ide o externý odkaz) odkaz (webová adresa v adresnom poli prehliadača) tak, aby vždy smeroval na aktuálnu časť webu (aktuálnu kartu prvej alebo druhej úrovne). Výnimku môžu tvoriť neaktuálne verzie prehliadačov. Štandardne sú karty označované poradovým číslom a odkazy na nich sú vytvorené v tomto tvare: «adresa stránky»#karta­‑«číslo karty», napríklad:

http://pdf.truni.sk/o-fakulte?senat#karta-1
http://pdf.truni.sk/veda-vyskum?e-kniznica#karta-2
http://pdf.truni.sk/student?rozvrhy#karta-1-2

Takýto odkaz presmeruje návštevníka priamo na niektorú z kariet prvej alebo druhej úrovne. Pre obidve úrovne kariet je možné definovať alias slúžiaci na vytvorenie čitateľnejších odkazov.

 

Po zaradení jednej z nasledujúcich direktív za direktívu #Karta alebo #Podkarta:

#Alias karty: «alias na vytvorenie odkazu»
#Alias podkarty: «alias na vytvorenie odkazu»

budú pre návštevníkov automaticky sprístupnené omnoho čitateľnejšie tvary odkazov.

 

Predpokladajme, že by sme chceli definovať čitateľné tvary vyššie uvedených adries (ktoré návštevník stránky videl v adresnom poli po zvolení karty s prislúchajúco definovaným aliasom).

Išlo by samozrejme o definície umiestnené v rôznych súboroch zdrojových textov (keďže každý zdrojový súbor korešponduje s určitou časťou webového sídla). Nasledujúci príklad ukazuje, ako by mohli vyzerať definície aliasov súvisiacich predchádzajúcimi príkladmi adries:

; V súbore senat.txh (prípadne článok s identifikátorom senat
; v súbore o-fakulte.txa):

#Karta: Zoznam členov
#Alias karty: Členovia


; V súbore e-kniznica.txh (prípadne článok s identifikátorom
; e-kniznica v súbore veda-vyskum.txa):

#Karta: Zborníky z konferencií
#Alias karty: Zborníky


; V súbore rozvrhy.txh (prípadne článok s identifikátorom
; rozvrhy v súbore student.txa):

#Podkarta: Letný semester
#Alias podkarty: Denné (leto)

Návštevník by získal prístup k adresám v tomto tvare (ktoré by zároveň Rheia začala automaticky používať pri navigácii):

http://pdf.truni.sk/o-fakulte?senat#clenovia
http://pdf.truni.sk/veda-vyskum?e-kniznica#zborniky
http://pdf.truni.sk/student?rozvrhy#denne-leto
Poznámka: Na zachovanie symetrie syntaxe kariet prvej a druhej úrovne je k direktíve #Alias karty do páru definovaná aj direktíva #Alias podkarty. Obe direktívy sú však z pohľadu systému Rheia rovnocenné.

 

Môžete si všimnúť, že tvary aliasov (Členovia, Zborníky, Denné (leto)) sa presne nezhodujú s tvarmi uvedenými v adresách (…#clenovia, …#zborniky, …#denne-leto). RS Rheia vždy vykoná v definícii aliasu nevyhnutné zmeny, aby z neho mohla byť vytvorená funkčná webová adresa. Ide o nahradenie všetkých nepísmenových znakov (vrátane medzier) spojovníkom a odstránenie diakritiky. Nazvime takto upravený tvar aliasu jeho technicky upraveným tvarom.

Poznámka: Aj po zadefinovaní aliasov zostávajú funkčné i pôvodné („menej čitateľné“) tvary odkazov. To jest tie, ktoré obsahujú číslované označenia kariet: …#karta­‑1, …#karta­‑2, …#karta­‑1­‑2 atď.

 

Odporúčanie: Za každou direktívou definujúcou novú kartu (prvej alebo druhej úrovne) vždy uveďte prislúchajúcu direktívu definujúcu jej alias.

 

Príklad:

#Karta: 1. ročník
#Alias karty: 1-rocnik
Informácie pre 1. ročník.

#Podkarta: Bc.
#Alias podkarty: 1-rocnik-bc
Informácie pre 1. ročník, Bc.

#Podkarta: Mgr.
#Alias podkarty: 1-rocnik-mgr
Informácie pre 1. ročník, Mgr.

#Karta: 2. ročník
#Alias karty: 2-rocnik
Informácie pre 2. ročník.

#Podkarta: Bc.
#Alias podkarty: 2-rocnik-bc
Informácie pre 2. ročník, Bc.

#Podkarta: Mgr.
#Alias podkarty: 2-rocnik-mgr
Informácie pre 2. ročník, Mgr.

Výsledok:

Informácie pre 1. ročník.

Informácie pre 1. ročník, Bc.

Informácie pre 1. ročník, Mgr.

Informácie pre 2. ročník.

Informácie pre 2. ročník, Bc.

Informácie pre 2. ročník, Mgr.

 

Konflikty aliasov

Rheia pri práci s kartami prehľadáva aliasy v prevrátenom poradí (od posledného definovaného po prvý). Dôvodom je minimalizácia rizika vzniku konfliktov. Ak by Rheia prehľadávala aliasy v tom poradí, v akom boli definované, tak by príklad vyššie z implementačných dôvodov nefungoval, pretože alias 1­‑rocnik je súčasťou aliasov 1­‑rocnik­‑bc1­‑rocnik­‑mgr a alias 2­‑rocnik je zase súčasťou aliasov 2­‑rocnik­‑bc2­‑rocnik­‑mgr, čo by tvorilo konflikt.

Z uvedeného vyplýva, že konflikt môže stále nastať, no v inej situácii. Je nevyhnutné sa pridržiavať nasledujúceho pravidla: Každý technicky upravený tvar (pozri vyššie) aliasu musí byť unikátnyžiadny technicky upravený tvar neskoršie definovaného aliasu nesmie byť časťou technicky upraveného tvaru skôr definovaného aliasu. Inak nastanú konflikty, ktoré môžu v rôznej miere obmedziť funkčnosť sústavy kariet.

Príklad konfliktnej situácie:

  1. Predstavme si situáciu, v ktorej by sme definovali dve karty prvej úrovne, ktorých technicky upravené tvary aliasov by boli: jedendva.
  2. Prvá hlavná karta (karta prvej úrovne) by obsahovala definované dve karty druhej úrovne, ktorých technicky upravené tvary aliasov by boli: jedenastdvanast.
  3. Druhá hlavná karta by tiež obsahovala definované dve karty druhej úrovne a ich technicky upravené tvary aliasov by boli: dvadsatjedendvadsatdva.
jeden 
jedenast dvanast
    dva 
dvadsatjeden dvadsatdva

Aliasy dvanastdva by boli v konflikte! Takáto definícia by totiž bola v rozpore s vyššie uvedeným pravidlom. Alias druhej hlavnej karty (dva), ktorý by bol definovaný neskôr, by tvoril súčasť aliasu druhej zo skoršie definovaných kariet druhej úrovne (dvanast – tá bola definovaná pod prvou hlavnou kartou).

Konfliktom sa s istotou vyhnete, ak budete definovať také aliasy, ktoré sú za každých okolností unikátne a ani ich časti sa vzájomne neprekrývajú. Konfliktom by ste sa mali vyhnúť vtedy, keď budú mať aliasy určitú rozvíjajúcu sa hierarchiu (podobne ako vo funkčnom príklade v tejto kapitole), v ktorej sú aliasy usporiadané tak, aby žiadny nasledujúci nebol časťou toho predchádzajúceho.

 


Otázky a úlohy:

  1. Čo je to alias karty?
  2. Ako definujete alias karty prvej alebo druhej úrovne?
  3. Aké konflikty môžu nastať pri definícii aliasov kariet?