Edee.one 10.17.8

Edee.one 10.17.8

Vydáno 19. 8. 2026

Zkopírovat odkaz na sekciVerze modulů

ModulVerze
edee10.17.8
cps10.17.5
adam15.4.1
monitoring8.3.0
cluster event3.1.0
url rewrite8.3.0
registration6.6.6
statistics1.0.2
rating adam2.1.1
importexport3.1.2

Zkopírovat odkaz na sekciZměny

Zkopírovat odkaz na sekci#2922 Přesun bloku přepíše obsah už publikované revize

Edee Oprava chyby

Přesun obsahového bloku v editoru stránky se ukládal do revize, ve které byl zdroj načten — už publikovaná revize tak zpětně změnila svůj obsah a porovnání revizí ukazovalo přesun o krok dříve, než skutečně nastal. Přerovnání bloků nyní zakládá vlastní revizi a publikovaná revize zůstává neměnným záznamem toho, co bylo zveřejněno. Změna stavu, která stav nemění (přerovnání rozpracované stránky), už kvůli tomu nezakládá prázdnou revizi.

Zkopírovat odkaz na sekci#2918 Chyba opravnění po přejmenování role v edee ui

Edee Oprava chyby

Přejmenování role tiše zneplatnilo všechna oprávnění udělená přes tuto roli — bezpečnostní subsystém vyhodnocuje práva podle jména role uloženého v relacích, které se při přejmenování neaktualizovalo. Chyba nebyla v administraci vidět, protože ta zobrazuje jméno přes vazbu na roli. Uložení role nyní jméno v relacích přepíše (a spraví i vazby poškozené dřívějším přejmenováním), už poškozená data opraví databázová migrace při aktualizaci; velikost dávky ladí edee.security.role.relationSyncPageSize (výchozí 999). Součástí je i oprava vyprazdňování bezpečnostních cache, které nově probíhá až po potvrzení transakce, aby paralelní požadavek nemohl dál pracovat se zastaralými oprávněními.

Servlet

Property session.cookieName přejmenuje jen odchozí hlavičku Set-Cookie, ale session dohledává servletový kontejner ještě před filtry — na Tomcat 9 tak vedle přejmenované cookie vznikala druhá, mrtvá JSESSIONID. Pro funkční per-instance jméno cookie je potřeba nastavit stejné jméno i na straně kontejneru, atributem sessionCookieName v konfiguraci Tomcat kontextu. Konfigurační dokumentace modulu nově popisuje celou sadu session.* properties, jejich výchozí hodnoty i tento předpoklad.

Zkopírovat odkaz na sekci#2916 Stránky s nedostupným prototypem (damaged) rozbíjejí strukturální operace a nejsou v adminu dohledatelné

Edee Nová vlastnost Oprava chyby

Stránka odkazující na prototyp, který v sitemapě projektu neexistuje (typicky obsah vytvořený na jiné vývojové větvi nebo po přejmenování prototypu), dosud tiše poškodila celý podstrom: přesun stránek kdekoli v něm padal, poškozenou stránku nešlo odklidit do koše a ve stromu ani v přehledu nebyla dohledatelná. Poškození se nyní propaguje na potomky, aniž by vznikaly rozbité prvky, a stránka se po doplnění prototypu za běhu sama uzdraví. Správce s právem ORGANIZE vidí poškozené stránky ve stromu (šedá ikona a příznak s příčinou), v přehledu stránek pod stavem Poškozeno a v detailu stránky má popis příčiny, nápovědu a akci Přesunout do koše; při startu se poškozené stránky ohlásí jedním souhrnným záznamem seskupeným podle příčiny.

Zkopírovat odkaz na sekci#2915 cluster_event: volitelná Kryo serializace a provozní statistiky propagovaných eventů

ClusterEvent Monitoring Nová vlastnost

Eventy propagované clusterem lze nově serializovat Kryem — volbou kryo u prvku eventSerialization v konfiguraci modulu (výchozí zůstává java). Na reprezentativním invalidačním eventu je payload přibližně třetinový a deserializace, která běží na každém nodu při každém pollu, asi šestkrát rychlejší. Formát se při čtení autodetekuje, takže cluster funguje i během rolling upgradu; zapínat až ve chvíli, kdy nový formát umí všechny nody. Objem uložených a znovu publikovaných eventů po třídách je vidět ve stavu modulu v administraci CPS a v detailu v nové probě /probes/clusterEvents; diagnostické proby jde nově povolit i mimo development globální property phobos.diagnostic.environments.

Zkopírovat odkaz na sekci#2913 Zombie scheduled tasky po reloadu modulu: duplicitní publish info a tichá ztráta cluster eventů

CPS ClusterEvent Oprava chyby

Plánované úlohy modulů se při zavření kontextu modulu nerušily, takže po každém reloadu běžela vedle nové instance i „zombie" instance z už zavřeného kontextu. V clusteru se to projevovalo opakovanou chybou unikátního klíče nad tabulkou publish info a falešnými chybovými notifikacemi, především ale tichou ztrátou cluster eventů (typicky invalidací cache) ve chvíli, kdy závod o doručení vyhrála zombie; starý kontext navíc zůstával držený v paměti. Oprava ruší plánované úlohy při zavření kontextu modulu, takže se týká všech modulů, které je používají, a duplicitní doručení eventu se nyní přeskočí místo chybové notifikace.

Zkopírovat odkaz na sekci#2912 Export uživatelů v administraci padá na NPE v alternatoru a chyba se propíše do stahovaného CSV

Oprava chyby Registration

Export registrovaných uživatelů v administraci stahoval soubor CSV, který místo dat obsahoval chybovou hlášku, a v administraci se přitom žádná chyba neukázala. Export nyní pracuje nad všemi uživateli domény, takže nepotřebuje webový kontext, který v administračním požadavku není k dispozici. Zápis souboru se navíc uzavírá i při selhání a chybové hlášení nese skutečnou příčinu a jméno metody, na které export spadl.

Zkopírovat odkaz na sekci#2909 Memory leak: záznamy SessionInformation v sessionRegistry modulu registration se nikdy neuvolňují

Oprava chyby Registration

Registr session v modulu registration se plnil při každém přihlášení, ale nikdy se nečistil — event o zániku session (timeout i odhlášení) se do izolovaného kontextu modulu nedostal. Produkční heapdump ukázal přibližně 29 tisíc osiřelých záznamů, tedy 455 MB za 42 hodin provozu. Nejrychleji roste spotřeba u nasazení s vysokým počtem přihlášení (mobilní aplikace bez držení session), postižené jsou ale všechny instalace s modulem registration. Po opravě se záznam uvolní se zánikem session — ověřeno měřením haldy, kdy registr po vypršení session padá na nulu.

Zkopírovat odkaz na sekci#2905 Edee pageTree kontrola pro prazdny retezec v systemId

Edee Oprava chyby

Systémové ID stránky šlo založit jako prázdný řetězec (patchem nebo přes REST API) a kontrola unikátnosti pak u každé další takové stránky hlásila falešnou duplicitu. Prázdná hodnota nyní na všech zápisových cestách i v kontrolách znamená „bez systémového ID", takže se nesrazí ani prázdné hodnoty, které už v databázi jsou.

Zkopírovat odkaz na sekci#2892 Systémové (NotFound) přesměrování nefunguje s URL parametry (uživatelské ano)

Oprava chyby Rewrite

Systémové (NotFound) přesměrování vracelo 404, jakmile URL nesla parametry (typicky UTM), přesto že uživatelské přesměrování se stejným nastavením fungovalo. Pravidlo se nyní po neúspěšném hledání dohledá i bez query stringu — pravidlo s vlastními parametry si drží přednost, takže žádná dosavadní shoda nezmizí; vypnout to lze property rewrite.notFoundRedirect.chopParametersForSearch. Chování parametrů UTM navíc považovalo za sledovací jen parametry obsahující utm_, takže gclid, fbclid a podobné zahazovalo a rozbíjelo tím atribuci kampaní; výchozí sada je nově sjednocená s headless frontendem, porovnává se prefixem a přenastavit ji lze property rewrite.redirect.trackingParameters a rewrite.redirect.trackingParameterPrefixes.

Zkopírovat odkaz na sekci#2874 Nemožnost propojit více stránek se stejným jazykem pomocí Jazykových verzí stránek

Edee Oprava chyby

Widget jazykových verzí stránek považoval za identitu jazykové varianty samotný kód jazyka. Na instalacích, kde více webů sdílí jeden jazyk, tak druhou stránku ve stejném jazyce nešlo najít našeptávačem ani vybrat výběrem stránek — ten nabízel jen jazykové varianty téhož webu. Se zapnutou volbou edee.feature.localizedPages.allowSameLang se nově vylučuje pouze právě editovaná jazyková varianta webu, takže ostatní weby zůstávají dostupné; bez této volby je chování nezměněné. Prázdný výběr webu navíc už nepoloží celou stránku administrace.

Zkopírovat odkaz na sekci#2463 Export dat u ratingu by měl zohledňovat zaškrtnuté položky

Rating

Export hodnocení stahoval vždy všechna data odpovídající filtru, takže u desetitisíců hodnocení prakticky nikdy nedojel. Nově se exportují řádky zaškrtnuté v přehledu a výběr se propíše až do databázového dotazu; pokud není zaškrtnuto nic, zůstává původní chování, tedy export všeho podle filtru.