Hlavní změny a zaniklé funkce ve verzi 5.19

Co se při upgradu z 5.17 na 5.19 mění v konfiguraci zákazníka: šablony, proměnné, workflow, kalkulace, tisky a crony. Určeno TAS konzultantům, kteří upgrade připravují se zákazníkem a ověřují ho po nasazení.

Toto je 2. ze dvou článků. Infrastrukturu, env proměnné, databázové migrace, postup nasazení a rollback řeší článek Upgrade TAS 5.17 na 5.19 – DevOps část.

Kde vstupuje konzultant

Fáze

Co dělá konzultant

Před upgradem

Audit šablon proti novým validacím, oprava legacy hodnot v datech, dohledání odstraněných konstrukcí

Během upgradu

K dispozici pro rozhodnutí nad nálezy z migračního logu (normalizace parametrů cronů, konfigurace smazaných EWS cronů)

Po upgradu

Ověření workflow, kalkulací a tisků včetně kontroly JSX; přenos EWS cronů na MS Graph; komunikace změn zákazníkovi; nabídka nových funkcí

Audit šablon dělejte před upgradem, ne po něm. Několik migrací spadne na legacy datech a upgrade se zastaví uprostřed odstávky.

Audit šablon před upgradem

Odstraněné konstrukce v šablonách

Co zmizelo

Co s tím

Typ proměnné BIG (B)

Pouze na hodně starých instancích jdoucích z TAS 2. Dohledat napříč šablonami a přemigrovat na jiný typ. Rozhodnutí o cílovém typu je na vás – závisí na tom, co se do proměnné reálně ukládá.

Typ úkolu „pozvánka“

Dohledat v grafech procesů. Endpoint POST /tasks/invitation/:itaskId i tabulky INSTANCE_TASK_INVITATIONS / TEMPLATE_TASK_INVITATIONS jsou zrušené – workflow, které na pozvánkách stálo, je nutné přestavět.

sys.scheduledTasks() v konzoli

Odstraněno. sys.scheduledEvents() zůstává.

Funkce Guides

Zrušena včetně dat. Pokud zákazník guides používal pro onboarding, informujte ho předem.

Graf procesu

Graf procesu již není instanční, je dopočítáván dynamicky a zobrazuje mnohem více informací než dříve.

Retranspilace kalkulací (jen z verzí pod 5.17.7)

V 5.19 se filter, find, some, every, reduce a sort s async callbackem nově přepisují na sekvenční smyčky; lodash metody se nechávají být.

Pokud jdete z 5.17.x nižší než 5.17.7, spusťte po upgradu:

validation.checkAsyncAwaitRetranspilationNeeded(tProcId?)

sys.retranspileCalculationsByProcessId(...)
sys.retranspileCalculationsByTaskId(...)
sys.retranspileGlobalScripts()

Pluginy

Nově přibyly pluginy docx-generator (1.0.2) a helpDocs (1.0.5). Ostatní pluginy mají v 5.19 nové verze a staré se tiše nenačtou – ověřte po upgradu, že je zákazník má všechny.

Změny ve workflow a grafu procesu

Změny v kalkulacích a skriptech

docxGenerator.generate() – změněný kontrakt

Funkce vrací seznam [{name, id}] místo jednoho DMSF_ID. Přibyla volba saveAsPdf.

// 5.17
const dmsfId = docxGenerator.generate(...);

// 5.19
const result = docxGenerator.generate(...);
const dmsfId = result[0].id;
Každá kalkulace, která výsledek použije jako prosté id, přestane fungovat. Dohledejte všechna volání docxGenerator.generate napříč šablonami i globálními skripty.

Nové mapování skriptů (volitelná optimalizace)

Přibyly sloupce TEMPLATE_PRINT.PRNT_APPEND_SCRIPTS a TEMPLATE_TASKS.TTASK_APPEND_SCRIPTS. Tisky a dynamické podmínky tak mohou načítat jen podmnožinu CO skriptů místo všech.

Zpětně kompatibilní – prázdné mapování znamená, že se načte vše, jako dosud. Je to výkonnostní optimalizace, kterou můžete zákazníkovi nabídnout u šablon s velkým množstvím globálních skriptů.

Nové kalkulační funkce k nabídnutí

Funkce

K čemu

lib.getUsers, lib.getRoles, lib.getOrgUnits

Strukturované dotazy nad uživateli, rolemi a org. jednotkami s filtry, řazením a stránkováním. Nahrazují ruční skládání dotazů.

storage.moveDmsFilesToCase, storage.moveDmsFilesFromCase

Přesun dokumentů mezi případy bez kopírování.

sys.msGraphListAllMailboxesFolderInfo()

Nově přijímá parametry – použitelné pro diagnostiku mailových integrací.

Nastavení povinné linky je zrušeno

TTASKLINK_IS_MANDATORY je zrušen end-to-end. Link označený jako povinný už sám o sobě neblokuje aktivaci úkolu – aktivace je nově čistě Petri-net based.

Toto řešení bylo používáno historicky.

Babel 8 – zpřísněná kontrola JSX v Case Overview a tiscích

Od verze 5.19 transpiluje TAS frontend skripty pomocí Babelu 8. Změna zpřísňuje kontrolu syntaxe v JSX a může způsobit, že se dosud funkční skripty Case Overview a tisků nepodaří uložit. Následující část popisuje, jak zasažené skripty poznat a opravit.

Jde o breaking change. Již uložené skripty běží dál beze změny – chyba se objeví až při prvním uložení skriptu po upgradu. Zasažené skripty proto nemusíte odhalit hned po nasazení nové verze.

Čeho se změna týká

Pouze React skriptů transpilovaných na straně serveru při uložení:

  • Case Overview,
  • tisky (prints / PDF).

Backendových výpočtů, skriptů, cronů ani dynamických podmínek se změna netýká.

Příčina

V JSX může atribut obsahovat pouze jeden výraz. Pokud je v něm více hodnot oddělených čárkou, jde o sekvenční výraz. Babel 7 takový zápis tiše přijal a vyhodnotil jej na poslední operand – všechny předchozí hodnoty zahodil bez varování. Babel 8 z něj dělá tvrdou chybu překladu:

Sequence expressions cannot be directly nested inside JSX.
Did you mean to wrap it in parentheses (...)?
Zasažené skripty ve skutečnosti nikdy nefungovaly správně. Pod Babelem 7 se přeložily, ale příslušný prop dostal jen poslední hodnotu. Chyba se typicky projevovala jako „něco se v komponentě nezobrazuje“ bez jakéhokoli hlášení.

Jak poznat zasažený skript

Kdy

Projev

Před upgradem

Skript se uloží i spustí, ale část dat se v komponentě nezobrazuje. Žádná chyba v konzoli.

Po upgradu, běh

Beze změny – uložený skript běží dál v původní podobě.

Po upgradu, uložení

Uložení skončí chybou Sequence expressions cannot be directly nested inside JSX s číslem řádku a sloupce.

Postup opravy

  1. Otevřete skript a najděte řádek uvedený v chybové hlášce.
  2. Zkontrolujte atribut, ve kterém jsou hodnoty oddělené čárkou.
  3. Sloučte je do jednoho pole nebo objektu.
  4. Uložte skript a ověřte chování komponenty – po opravě se poprvé projeví i dříve zahazované hodnoty.

Chybný zápis:

additionalVariables={
[{taskName: 'Confirm the delivery'}],
[{taskName: 'Change the billing status'}]
}

Správný zápis:

additionalVariables={[
{taskName: 'Confirm the delivery'},
{taskName: 'Change the billing status'}
]}

Na co si dát pozor

  • Oprava mění chování. Po sloučení do pole začne komponenta pracovat i s hodnotami, které dosud zahazovala. Ověřte, že je výsledek skutečně žádoucí – nejde o čistě kosmetickou úpravu.
  • Vzor bývá zkopírovaný. Netýká se jen jednoho atributu. Projděte na prostředí všechny Case Overview a tisky a hledejte jakýkoli prop zapsaný jako seznam hodnot oddělených čárkou.
  • Chyba se hlásí ze serveru. Ačkoli jde o frontend kód, transpilace probíhá při uložení na backendu. Hlášku proto uvidíte jako chybu uložení, ne v konzoli prohlížeče.

Crony z pohledu konzultanta

Crony prošly kompletní přestavbou. Většina je DevOps práce, ale tři věci jsou na vás.

EWS mail crony se smažou

Migrace staré EWS mail crony odstraní. Jejich konfiguraci vypíše do update logu pod tagem [tas-3432] – domluvte si s DevOps, že vám ji uloží stranou. Bez toho ji po upgradu nedohledáte.

Konfiguraci pak přeneste do MS Graph cronů. Nové možnosti, které při tom využijete:

  • clientSecret může být odkaz na Vault secret ve tvaru {{vault:name}},
  • tlačítko Discover folders vypíše dostupné složky schránky,
  • duplikace schránky pro rychlé založení dalšího cronu.
Nově zakládané crony „Create Processes from MS Graph mails“ mají useEmailObjectInDataHolder = false, aby fungoval field mapping. Stávající crony si drží svoje uložené parametry.

Změny chování, které zákazník pozná

Změna

Co to znamená

Historie běhů cronů se ztratí

CRON_RUNS je dropnutá, nová historie jde do Elasticsearche. Stará data se nepřenášejí.

Klonované crony zanikly

Alias se přemigroval do uživatelského názvu. Pokud zákazník používal klony pro různé parametrizace téhož cronu, projděte s ním, jestli výsledek odpovídá.

Per-cron timeout zanikl

Stejně jako akce „zabít běh“. Zůstává crash recovery přes stale heartbeat a indikátor „běží mnohem déle než obvykle“.

„Tovární nastavení“ na detailu cronu

Resetuje bezpodmínečně: timing, popis, parametry i aktivní stav. Uživatelský název zůstává. Upozorněte administrátory zákazníka.

Cron help zaniklo

Dokumentace parametrů je teď v parametersSchema a renderuje se přes JsonForms přímo u pole.

Validace parametrů

Cron s parametry neodpovídajícími schématu už nelze uložit (400 INVALID_CRON_PARAMETERS).

Nové crony

Existující instance mají tabulku CRONS naplněnou, takže seed defaultních cronů je no-op. Nové crony je nutné založit ručně přes Administrace → Crony → „+“ a jsou defaultně neaktivní:

  • DatabaseHealthReportCron,
  • DatabaseIndexRebuildCron.

Zvažte se zákazníkem, jestli je aktivovat. Zároveň nastavte application.crons.consecutiveFailureThreshold (default 5) – po N po sobě jdoucích selháních odejde notifikační e-mail na chybové adresy cronu.

Co komunikovat zákazníkovi předem

Změny, které uživatelé uvidí nebo pocítí, a které nejdou vrátit zpět.

Změna

Dopad na uživatele

Historie běhů cronů

Ztrácí se úplně. Nová se sbírá až od upgradu.

Funkce Guides

Zrušena včetně dat.

Stránka Appstatus

Nahrazena Administrace → System Health s probami pro aplikaci, databázi, Elasticsearch, Redis, Tiku, LibreOffice, e-mail, Firebase, crony, host resources a business KPI. Přibyl dashboard widget (jen pro adminy).

Typ úkolu „pozvánka“

Zrušen. Pokud ho zákazník používal, musí se dotčené workflow přestavět.

Novinky k nabídnutí zákazníkovi

  • Plugin docx-generator – generování DOCX se přesunulo z jádra do pluginu, přibyla volba saveAsPdf.
  • Plugin helpDocs – dokumentace přímo v aplikaci.
  • Plugin Store – Administrace → Pluginy → záložka Plugin Store (jen když je nastaveno TAS_PLUGIN_STORE_URL). Instalace a odinstalace pluginů rovnou z GUI.
  • MCP endpointPOST /mcp/:scenario? zpřístupní TAS externím AI klientům (Claude Desktop, Claude Code) ve scénářích case-creation, case-editing, case-lookup, knowledge, account, administration. Jen přes API token, každé volání se auditovává.
  • E-mail přes MS Graph – nový transport msgraph (app-only / Client Credentials) vedle basic, oauth2 a sendmail.
  • Vlastní X-hlavičky v notifikacích – s podporou placeholderů a allowlistem.
  • System Health – fleet-aware monitoring všech instancí s 48h historií, Database Activity nad běžícími dotazy.
  • Konfigurace pluginů v GUI – Administrace → Konfigurace → záložka Plugins.
U MCP pozor: write tooly, které v chatu vyžadují potvrzení, se přes MCP provedou okamžitě. Protokol server-side human-in-the-loop nevynutí. Zohledněte to při volbě scénáře a rozsahu API tokenu.

Konzultantský checklist po upgradu

Crony a integrace
  • EWS crony přenesené na MS Graph, konfigurace z logu použita
  • Ruční spuštění klíčových cronů (Run manually) proběhne bez chyby
  • Seznam cronů odpovídá stavu před upgradem – aktivní i timing
  • Odeslání e-mailu funguje: notifikace i report
  • Upload do DMS, fulltext a náhledy fungují
  • AD/LDAP synchronizace (AdSyncCron – v 5.19 opravena, dřív tiše nesynchronizovala nikoho)
Pluginy
  • Všechny očekávané pluginy jsou v Administrace → Pluginy načtené (nekompatibilní se tiše přeskočí

Frantisek Brych Updated by Frantisek Brych

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)