WebToDate/Referenční/URL stránek: Porovnání verzí

Z WebToDate
Skočit na navigaciSkočit na vyhledávání
m Nahrazení textu „[[Category:WebToDate 4.1“ textem „[[Category:WebToDate“
Řádek 63: Řádek 63:
=== Odkaz nadpisu využívající ID zprávy ===
=== Odkaz nadpisu využívající ID zprávy ===


URL stránek se zprávami lze změnit pomocí modulu www serveru Apache ''mod_rewrite'' (podobný ISAPI modul existuje i pro Microsoft IIS). URL pak mohou mít místo tvaru ''/scripts/detail.php?id=xxx'' např. tvar ''/dokumentxxx.htm'', ale i např. ''/zpravy/zahranicni/KLDR-a-USA-zahajily-rozhovory-o-krocich-k-normalizaci-vztahu-54253''/,'' což je vhodnější tvar např. pro vyhledávací stroje.
URL stránek se zprávami lze změnit pomocí modulu www serveru Apache ''mod_rewrite'' (podobné ISAPI moduly třetích stran existují i pro Microsoft IIS, resp. jej firma Microsoft dodává pro IIS 7). URL pak mohou mít místo tvaru ''/scripts/detail.php?id=xxx'' např. tvar ''/dokumentxxx.htm'', ale i např. ''/zpravy/zahranicni/KLDR-a-USA-zahajily-rozhovory-o-krocich-k-normalizaci-vztahu-54253''/,'' což je vhodnější tvar např. pro vyhledávací stroje.


Princip této funkce je následující:
Princip této funkce je následující:
Řádek 217: Řádek 217:
  <nowiki>define( 'URL_CONVERT_CASE', 'LOWER' );</nowiki>
  <nowiki>define( 'URL_CONVERT_CASE', 'LOWER' );</nowiki>
</code>
</code>
Pokud se do nadpisu vloží nějaký znak, který není v cílové znakové sadě serveru, převede se na číselnou HTML entitu, která se pak objeví ve vygenerovaném URL zprávy, což zpravidla není příliš žádoucí. Aby byla možnost zamezit přenosu těchto entit do URL, jsou k dispozici následující nastavení:
<code>
<nowiki>$url_convert_entities_map = array(</nowiki>
<nowiki>'&amp;#187;' => '-',</nowiki>
<nowiki>'&amp;#51;' => '3'</nowiki>
<nowiki>);</nowiki>
<nowiki>define( 'URL_CONVERT_OTHER_ENTITIES', true );</nowiki>
<nowiki>define( 'URL_CONVERT_ENTITIES_CHAR', '' );</nowiki>
</code>
Nejprve se nahrazují entity podle pole ''$url_convert_entities_map''. V druhém kroku se všechny zbylé numerické entity nahradí za znak URL_CONVERT_ENTITIES_CHAR (může být i prázdný znak), ale jen v případě, že je nastaveno URL_CONVERT_OTHER_ENTITIES = true.


Postup převodu znaků z&nbsp;nadpisu zprávy do URL je tedy následující:
Postup převodu znaků z&nbsp;nadpisu zprávy do URL je tedy následující:


# Nahrazují se HTML entity
# Nahrazují se HTML entity a numerické entity
# Znaky uvedené v&nbsp;konstantě URL_CONVERT_FIND se nahrazují za znaky v URL_CONVERT_REPLACE a znaky uvedené v URL_CONVERT_NOCHAR se nahrazují prázdným znakem
# Znaky uvedené v&nbsp;konstantě URL_CONVERT_FIND se nahrazují za znaky v URL_CONVERT_REPLACE a znaky uvedené v URL_CONVERT_NOCHAR se nahrazují prázdným znakem
# Takto vzniklý řetězec se převádí na spodních 128 znaků ASCII tabulky (tedy znak č na c apod.)
# Takto vzniklý řetězec se převádí na spodních 128 znaků ASCII tabulky (tedy znak č na c apod.)

Verze z 20. 10. 2009, 14:32

Jaká URL WebToDate používá a vytváří

Tato kapitola obsahuje shrnutí toho, jak se tvoří URL veřejných www stránek v systému WebToDate. Tato informace je nutná v případech, kdy je třeba vytvořit nabídku odkazů či použít v těle zprávy odkaz na jinou stránku apod.

URL stránek

URL stránek definovaných v systému a zobrazovaných ve stromu stránek je zpravidla totožné s URL zadaném v poli URL stránky ve formuláři pro definici stránky. Výjimkou jsou stránky obsahující seznam nebo zprávu přiřazené dynamicky nebo stránky v privátní zóně, v tom případě je třeba použít URL ve tvaru

/scripts/detail.php?pgid=ID_stránky.

URL zpráv

URL zpráv je ve výchozí konfiguraci ve tvaru

/scripts/detail.php?id=ID_zprávy

Kromě parametru id lze ovšem použít ještě několik dalších parametrů:

  • abbrev – tento parametr slouží k zadání zkratky zprávy, hodnota musí korespondovat s obsahem pole Zkratka ve formuláři pro úpravu zpráv. Pokud píšete manuálně často odkaz na určitou zprávu, zadejte zkratku v poli Zkratka a použijte odkaz /scripts/detail.php?abbrev=zkratka, toto URL se lépe pamatuje než číslo zprávy přidělené systémem
  • tmplid – ID předlohy, jež se má použít pro zobrazení; toto id vynucené z URL má přednost před zadáním předlohy v definici zpráv. Tuto vlastnost lze s výhodou využít pro oblíbenou funkci Verze pro tisk, či pro zobrazení stejných zpráv různě v různém kontextu (z jiné rubriky, z jiného virtuálního serveru apod.). Volání má pak tvar /scripts/detail.php?id=ID_zprávy&tmplid=ID_předlohy

URL zdrojů

Pro URL zdrojů (tj. stránek používaných pro zobrazení jednoho souboru ve zdroji v HTML kódu s popisky apod., tedy typicky pro obrázek ve fotogalerii) platí to samé co pro zprávy, navíc se dají použít parametry:

  • newsid - parametrem se předává ID zprávy, ve které se zobrazuje daná fotogalerie
  • listid - parametrem se předává ID seznamu, ve kterém se fotogalerie zobrazuje
  • returnurl - parametrem lze předat návratovou adresu, která se použije pro návrat zpět na fotogalerii

URL souborů

Pokud se soubor nachází ve veřejné zóně, je jeho URL statické a definované ve vlastnostech souboru ve zdroji. Při vložení souboru do zdroje může dojít k jeho přejmenování, které má za cíl, aby na serveru nebyly uloženy soubory, pro které by odkazy na ně vytvářely nevalidní URL. Standardně se při tomto přejmenování postupuje následovně:

  1. Písmena v názvu se převádí na spodní polovinu ASCII tabulky (tedy znak č na c apod.)
  2. Provádí se náhrada znaků definovaných v konfiguračních konstantách URL_CONVERT_FIND, URL_CONVERT_REPLACE, URL_CONVERT_NOCHAR (viz další kapitola o možnostech generování URL zpráv)
  3. Znaky se volitelně převádějí na malá nebo velká písmena dle konfigurační konstanty ASSETS_FILENAME_CONVERT_CASE
  4. Pokud ve výsledku v názvu souboru zbudou nějaké znaky, které nejsou v URL přípustné, nahradí se znakem definovaným v konstantě ASSETS_AUTOREPAIR_FILENAMES.

V konfiguraci WebToDate lze ale zvolit i jiný přístup k eventuálnímu přejmenování souborů, viz např. konfigurační konstanta ASSETS_SET_SIMPLE_FILENAMES.


Pokud se soubor nachází v privátní zóně, je jeho URL dynamické ve tvaru /scripts/file.php?id=ID_souboru.

Dalším parametrem skriptu file.php může být parametr down. Pokud má hodnotu yes, vyznačuje se tím žádost o stažení souboru. Pokud tedy uvedeme ve stylu odkaz typu

<a href="/scripts/file.php?id=<!--WTD_ASSET(FILEID)-->&down=yes"><!--WTD_ASSET(TITLE)--></a>

klepnutím na tento odkaz se místo pokusu o zobrazení souboru v prohlížeči vyvolá dialog pro uložení souboru na disk.

Poznámka: tato funkce pracuje s vložením dodatečných parametrů do http hlavičky (Content-Disposition apod.). Záleží na prohlížeči, zda tyto druhy hlaviček podporuje, funkčnost ve všech existujících www prohlížečích není zaručena. Pokud daný prohlížeč tyto hlavičky ignoruje, dojde ke standardnímu zobrazení souboru v prohlížeči.

Pokud parametr down není uveden nebo má jakoukoli jinou hodnotu než yes, dodatečné parametry do http hlavičky se nevkládají a soubor je odesílán do prohlížeče tak, jak je.

URL stránek modulů

Většina modulů WebToDate obsahuje svoje prezentační skripty. Např. URL stránky pro vyhledávání v databázi zpráv modulu Fulltext má tvar /scripts/modules/fulltext/fulltxt.php. Konkrétní seznamy prezentačních skriptů a jejich parametrů naleznete v příručkách k jednotlivým modulům.

Možnosti změn ve tvaru URL stránek

Odkaz nadpisu využívající ID zprávy

URL stránek se zprávami lze změnit pomocí modulu www serveru Apache mod_rewrite (podobné ISAPI moduly třetích stran existují i pro Microsoft IIS, resp. jej firma Microsoft dodává pro IIS 7). URL pak mohou mít místo tvaru /scripts/detail.php?id=xxx např. tvar /dokumentxxx.htm, ale i např. /zpravy/zahranicni/KLDR-a-USA-zahajily-rozhovory-o-krocich-k-normalizaci-vztahu-54253/, což je vhodnější tvar např. pro vyhledávací stroje.

Princip této funkce je následující:

  • WebToDate připouští dva možné "fyzické" tvary URL zprávy - /scripts/detail.php?id=xxx (ID zprávy je automaticky přidělované celé číslo) nebo /scripts/detail.php?abbrev=yyy (parametr abbrev je obsah textového pole Zkratka ve vstupním formuláři pro zprávy, které může být definováno ručně nebo generováno automaticky, musí být unikátní v rámci celé databáze zpráv.
  • Pomocí sady konfiguračních konstant se definuje, v jakém tvaru se generuje obsah pole Odkaz nadpisu nebo eventuálně Zkratka, kdy se automaticky tento obsah při uložení zprávy obnovuje a další potřebné vlastnosti, což umožňuje, aby URL zpráv byla optimální z hlediska SEO.
  • Pomocí mod_rewrite se nadefinuje vhodné pravidlo, které převádí vygenerovaná URL na "fyzická" URL zpráv. Přitom pokud se ve výsledném URL může vyskytovat ID zprávy, převádí příslušné pravidlo URL na tvar /scripts/detail.php?id=xxx, pokud je požadováno, aby se číselné ID v URL nevyskytovalo a URL mělo čistě textový tvar, využívá se obsah pole Zkratka a pravidle mod_rewrite převod na tvar /scripts/detail.php?abbrev=yyy.

Z hlediska konfigurace WebToDate je pro tuto funkci primární nastavení tvaru přidělovaného URL. Jedná se o konstantu

define( 'DETAILURL', '/scripts/detail.php?id=<!--WTD_F(ID)-->' );

Pokud tuto konstantu přepíšete na

define( 'DETAILURL', '/dokument<!--WTD_F(ID)-->.htm' );

budou automaticky přidělovaná URL pro nově vkládané zprávy (v poli Odkaz nadpisu) v tvaru podle předchozího příkladu. Lze zde ovšem použít výběr z následujících výrazů:

  • <!--WTD_F(ID)--> - ID zprávy
  • <!--WTD_F(ABBREV)--> - zkratka zprávy
  • <!--WTD_CONVERT(TITLE)--> - konvertovaný nadpis (konverze ošetřuje to, aby v URL nebyly znaky s diakritikou a další nežádoucí znaky)
  • <!--WTD_F(CATEGORYPATH)--> - cesta daná stromem kategorií (dle výchozí kategorie zprávy), tedy např. /zahranicni/evropa/
  • <!--WTD_F(LANGUAGEABBREV)--> - zkratka jazyka zprávy převedená na malá písmena
  • <!--WTD_F(CALENDARFOLDERS)--> - část cesty podle data zprávy, tedy např. /2007/08/22/.

Druhá konfigurační konstanta NEWSABBREV_AUTOFILL definuje tvar obsahu pole Zkratka.

define( 'NEWSABBREV_AUTOFILL', '<!--WTD_F(ID)-->');


V definici této konstanty lze použít výrazy:

  • <!--WTD_F(ID)--> - ID zprávy
  • <!--WTD_CONVERT(TITLE)--> - konvertovaný nadpis

Následující tabulka uvádí různé možnosti konfigurace těchto dvou základních konstant - cílové tvary URL a způsob jejich nastavení.

URL (Odkaz nadpisu) /domaci/lidovci-a-zeleni-zuzili-vyber-kandidatu-77628/
Zkratka Prázdná hodnota
Předpis pro vyplňování - Odkaz nadpisu <!--WTD_F(CATEGORYPATH)--><!--WTD_CONVERT(TITLE)-->-<!--WTD_F(ID)-->/
Předpis pro vyplňování - Zkratka Prázdná hodnota
URL (Odkaz nadpisu) /2007/09/07/lidovci-a-zeleni-zuzili-vyber-kandidatu-77628/
Zkratka Prázdná hodnota
Předpis pro vyplňování - Odkaz nadpisu <!--WTD_F(CALENDARFOLDERS)--><!--WTD_CONVERT(TITLE)-->-<!--WTD_F(ID)-->/
Předpis pro vyplňování - Zkratka Prázdná hodnota
URL (Odkaz nadpisu) /domaci/2007/09/07/lidovci-a-zeleni-zuzili-vyber-kandidatu-77628/
Zkratka Prázdná hodnota
Předpis pro vyplňování - Odkaz nadpisu <!--WTD_F(CATEGORYPATH)--><!--WTD_F(CALENDARFOLDERS)--><!--WTD_CONVERT(TITLE)-->-<!--WTD_F(ID)-->/
Předpis pro vyplňování - Zkratka Prázdná hodnota
URL (Odkaz nadpisu) /clanky/lidovci-a-zeleni-zuzili-vyber-kandidatu/
Zkratka lidovci-a-zeleni-zuzili-vyber-kandidatu
Předpis pro vyplňování - Odkaz nadpisu /clanky/<!--WTD_F(ABBREV)-->/
Předpis pro vyplňování - Zkratka <!--WTD_CONVERT(TITLE)-->
URL (Odkaz nadpisu) /domaci/clanky/lidovci-a-zeleni-zuzili-vyber-kandidatu/
Zkratka lidovci-a-zeleni-zuzili-vyber-kandidatu
Předpis pro vyplňování - Odkaz nadpisu <!--WTD_F(CATEGORYPATH)-->clanky/<!--WTD_F(ABBREV)-->/
Předpis pro vyplňování - Zkratka <!--WTD_CONVERT(TITLE)-->

Kromě základních konfiguračních konstant DETAILURL a NEWSABBREV_AUTOFILL je ovšem k dispozici sada dalších nastavení, pomocí kterých se definuje:

  • Způsob případné konverze pole Nadpis do URL
  • Omezení maximálních délek pro URL a zkratky
  • Způsob řešení toho, jak se automaticky řeší případ, kdy by algoritmus vygeneroval zkratku, která již v databázi existuje (pro případ, že by byl např. stejný nadpis několika různých zpráv)
  • Kdy se URL či zkratka automaticky generuje či mění
  • Jak mohou uživatelé WebToDate do procesu generování URL či zkratek zasahovat

Následující čtyři konstanty definují převod znaků do URL (při konverzi nadpisu zpráv do pole Zkratka a Odkaz nadpisu). První dvě konstanty definují mapování jednotlivých znaků (tj. obě musí obsahovat stejný počet znaků), třetí konstanta definuje, které znaky se nahrazují za prázdný řetězec. Čtvrtá konstanta pak definuje, zda se provádí převod znaků na malá nebo velká písmena nebo zůstává rozlišení malých a velkých písmen jako v nadpisu zprávy.

define( 'URL_CONVERT_FIND', ',. \\/&' );
define( 'URL_CONVERT_REPLACE', '------' );
define( 'URL_CONVERT_NOCHAR', '\'"#$%()+@?!' );
define( 'URL_CONVERT_CASE', 'LOWER' );

Pokud se do nadpisu vloží nějaký znak, který není v cílové znakové sadě serveru, převede se na číselnou HTML entitu, která se pak objeví ve vygenerovaném URL zprávy, což zpravidla není příliš žádoucí. Aby byla možnost zamezit přenosu těchto entit do URL, jsou k dispozici následující nastavení:

$url_convert_entities_map = array(

'&#187;' => '-',

'&#51;' => '3'

);

define( 'URL_CONVERT_OTHER_ENTITIES', true );

define( 'URL_CONVERT_ENTITIES_CHAR', '' );

Nejprve se nahrazují entity podle pole $url_convert_entities_map. V druhém kroku se všechny zbylé numerické entity nahradí za znak URL_CONVERT_ENTITIES_CHAR (může být i prázdný znak), ale jen v případě, že je nastaveno URL_CONVERT_OTHER_ENTITIES = true.


Postup převodu znaků z nadpisu zprávy do URL je tedy následující:

  1. Nahrazují se HTML entity a numerické entity
  2. Znaky uvedené v konstantě URL_CONVERT_FIND se nahrazují za znaky v URL_CONVERT_REPLACE a znaky uvedené v URL_CONVERT_NOCHAR se nahrazují prázdným znakem
  3. Takto vzniklý řetězec se převádí na spodních 128 znaků ASCII tabulky (tedy znak č na c apod.)
  4. Podle nastavení konstanty URL_CONVERT_CASE se provádí případný převod na malá nebo velká písmena.

Je nutné omezit maximální délku zkratky a URL - vzhledem k volitelnému nastavení tvaru zkratky či URL je možný případ, kdy by vygenerovaný řetězec byl delší než maximální počet znaků pro tato pole v databázi. K tomu jsou určeny konstanty:

define( 'NEWSURL_MAXLENGTH', 255);


NEWSURL_MAXLENGTH definuje maximální délku obsahu pole Odkaz nadpisu. Pokud je sestavený řetězec delší, ořízne se zprava na tuto hodnotu.

define( 'NEWSURL_CONVERT_MAXLENGTH', 150);

NEWSURL_CONVERT_MAXLENGTH definuje maximální délku té části URL, která vzniká konverzí s využitím výrazu <!--WTD_CONVERT(TITLE)-->. Pokud je tedy výsledek konverze nadpisu delší než zadaná konstanta, ořízne se zprava.

define( 'NEWSABBREV_MAXLENGTH', 150);

NEWSABBREV_MAXLENGTH definuje maximální celkovou délku zkratky, význam je stejný jako u NEWSURL_MAXLENGTH, pouze se aplikuje na obsah pole Zkratka.

define( 'NEWSABBREV_CONVERT_MAXLENGTH', 150);

Význam konstanty NEWSABBREV_CONVERT_MAXLENGTH je stejný jako NEWSURL_CONVERT_MAXLENGTH, pouze se aplikuje na obsah pole Zkratka.

U zkratky se musí počítat s tím, že může v případě konverze nadpisu do zkratky dojít k vytvoření zkratky, která není unikátní, unikátnost zkratky je ale nutným předpokladem fungování URL založených na zkratkách. Proto je zde konstanta

define ('NEWSABBREV_UNIQUE_DELIMITER', '_');

V případě vygenerování zkratky, která již existuje, se postupuje tak, že se unikátní hodnoty pole Zkratka vytvářejí pomocí oddělovače plus čísla na konci; konstanta NEWSABBREV_UNIQUE_DELIMITER definuje tento oddělovač. Nedochází k efektu dvou oddělovačů za sebou, tj. pokud již existuje zpráva ze zkratkou např. abc_2, nová zpráva má zkratku abc_3 a nikoli abc_2_1.

Konstanta NEWSURL_AUTOUPDATE definuje režim automatických změn obsahu polí Odkaz nadpisu a Zkratka.

define( 'NEWSURL_AUTOUPDATE', 0);

Možné hodnoty jsou:

  • 0 - zkratka se automaticky nevyplňuje, URL se přidělí podle konstanty DETAILURL při prvním uložení zprávy a už se nikdy automaticky nemění
  • 1 - zkratka se automaticky vyplňuje pokud je konstanta NEWSABBREV_AUTOFILL neprázdná. Jak zkratka tak URL se vyplní při prvním uložení zprávy a už se automaticky nemění
  • 2 - zkratka a URL se může automaticky změnit při uložení, pokud se změnily údaje, podle kterých se tvoří (seznam údajů je daný konstantami NEWSABBREV_AUTOFILL resp. DETAILURL) a pokud zpráva není ve stavu Publikováno či Archivováno.
  • 3 - stejné jako předchozí případ, ale změna zkratky i URL je povolena i v případě, že zpráva je ve stavu Publikováno či Archivováno.

Konstanta NEWSURL_AUTOUPDATE tedy v zásadě definuje úroveň možnosti změnit URL zprávy v průběhu zpracování a změn. Hodnota 0 znamená nejjednodušší stav, kdy se zkratka nepoužívá a URL se na začátku vytvoří a již se pak nemění, čím vyšší číslo, tím méně je zaručeno, že zpráva si zachová původní URL, ale na druhou stranu se tím více URL přizpůsobuje (z hlediska tvaru pro SEO) aktualizaci metadat zprávy (změně nadpisu, změně kategorie apod.).

Algoritmus automatického sestavování URL a zkratky popisuje následující diagram.

V rámci verzování zpráv lze chování URL nastavit pomocí konfigurační konstanty ABBREV_AUTOFILL_ON_PUBLISH.

define('ABBREV_AUTOFILL_ON_PUBLISH', false);

Hodnota true znamená, že je požadováno zachování URL mezi různými verzemi zpráv (tj. při publikaci nové verze se přebírá zkratka a URL předchozí publikované verze), hodnota false znamená, že URL různých verzí zprávy spolu nesouvisejí a chovají se z tohoto hlediska jako samostatné zprávy. Tato možnost zachovávání URL je popsána v následující kapitole.

Konstanta NEWSABBREV_LOCK definuje, zda uživatelé mohou ručně měnit zkratku.

define('NEWSABBREV_LOCK', false);

Hodnota false znamená, že pole je možné běžným způsobem editovat. Hodnota true znamená, že uživatelé s výjimkou členů týmu Administrátoři nemají možnost hodnotu tohoto pole měnit.

Pro zdroje lze určit, zda se systém uživatelsky definovatelných URL a zkratek používá i pro ně (myšleno pro pole Odkaz nadpisu ve zdroji).

define('ASSETS_FRIENDLY_URL', false);

Pokud je konstanta ASSETS_FRIENDLY_URL nastavena na hodnotu true, generují se zkratky a URL pro zdroje stejně jako pro zprávy, v opačném případě se zkratky negenerují a URL se vytvářejí v systémovém tvaru.


Další pravidla lze v mod_rewrite definovat i pro vybrané stránky jiného typu. Pokud chcete, aby taková stránka byla např. výchozí stránka nějaké kategorie (na kterou se odkazují navigace), která je zobrazovaná dynamicky, označte ji jako výchozí stránku a zároveň do pole URL ve vlastnostech kategorie zadejte URL tak jak je definováno v mod_rewrite.

Zkratky a zachování URL verzí zpráv

Jak je uvedeno výše, zprávy lze zobrazovat i s využitím pole Zkratka. Výchozí tvar URL je pak /scripts/detail.php?abbrev=zkratka, samozřejmě pak lze pomocí mod_rewrite nadefinovat jiný tvar URL využívající zkratku. Není-li pole v konfiguraci uzamčeno pro editaci, je obsah pole Zkratka je volně upravovatelný. V případě využívání této možnosti je třeba si uvědomit následující skutečnosti:

  • Nekontroluje se vyplnění tohoto pole, pole může být i prázdné
  • Když je pole vyplněno a v předpisu pro URL zprávy se zkratka využívá, může se změnit URL zprávy v poli Odkaz nadpisu.

Pokud je nastavena konfigurační konstanta ABBREV_AUTOFILL_ON_PUBLISH na hodnotu false, znamená to, že není požadováno zachování URL mezi verzemi a jednotlivé verze zpráv se v tomto smyslu chovají jako samostatné zprávy.

Pokud je nastavena konstanta ABBREV_AUTOFILL_ON_PUBLISH na hodnotu true, znamená to, že se při publikaci zprávy spouští funkce na převzetí URL a zkratky z předchozí publikované verze. Vyhodnocení toho, co je předchozí verze nezáleží na pořadovém číslu verze, hledá se jiná publikovaná verze zprávy.

Funkce pro převzetí URL z předchozí verze pracuje následovně:

  1. publikovaná zpráva přebírá zkratku i URL předchozí verze
  2. pro předchozí verzi se spouští algoritmus vygenerování zkratky a URL dle konfiguračních konstant. To znamená, že předchozí verze přecházející do jiného stavu dostane URL a zkratku v podstatě jako kdyby tato zpráva byla nově založena.

To pak má následující efekt:

  • Pokud se postupně publikují nové verze stejné zprávy, URL se nemění pro aktuální verzi zprávy.
  • Mění se URL pro zprávy, které nejsou ve "viditelném" stavu (toto URL se nikdy v prezentační vrstvě nepoužije) a případně pro zprávy ve stavu Archivováno, tj. pokud je zpráva nahrazena novou verzí a stará přechází do stavu Archivováno, nová verze má převzaté URL a archivovaná má jiné URL, než původně měla.

Pokud je tedy požadováno zachovávání URL mezi různými verzemi zpráv, nejdůležitější zásadou je, že je třeba nakonfigurovat automatické vyplňování pole Zkratka. S využitím pouze ID zprávy nelze funkčnost zachování URL mezi verzemi zpráv implementovat. Potřebné pravidlo pro mod_rewrite pak musí využívat tvar URL zpráv WebToDate s uvedením obsahu pole zkratka.

Možné nastavení konfiguračních konstant podporujících zachování URL mezi verzemi zpráv je např.:

define( 'DETAILURL', '/dokument<!--WTD_F(ID)-->.html' );
define( 'NEWSABBREV_AUTOFILL', '<!--WTD_F(ID)-->');
define( 'NEWSURL_AUTOUPDATE', 2);
define( 'ABBREV_AUTOFILL_ON_PUBLISH', true);
define( 'NEWSABBREV_LOCK', true);