- Where the consultant comes in
- Pre-upgrade template audit
- Changes in workflows and the process graph
- Changes in calculations and scripts
- Babel 8 – stricter JSX checks in Case Overview and prints
- Crons from the consultant's perspective
- What to communicate to the customer in advance
- New features to offer the customer
- Consultant's post-upgrade checklist
Upgrade to TAS 5.19 - Key Changes and Removed Features
- Where the consultant comes in
- Pre-upgrade template audit
- Changes in workflows and the process graph
- Changes in calculations and scripts
- Babel 8 – stricter JSX checks in Case Overview and prints
- Crons from the consultant's perspective
- What to communicate to the customer in advance
- New features to offer the customer
- Consultant's post-upgrade checklist
What changes in the customer's configuration when upgrading from 5.17 to 5.19: templates, variables, workflows, calculations, prints and crons. Intended for TAS consultants who prepare the upgrade together with the customer and verify it after deployment.
Where the consultant comes in
|
Phase |
What the consultant does |
|
Before the upgrade |
Audits templates against the new validations, fixes legacy values in the data, tracks down removed constructs |
|
During the upgrade |
Available to make decisions on findings from the migration log (normalization of cron parameters, configuration of deleted EWS crons) |
|
After the upgrade |
Verifies workflows, calculations and prints, including JSX checks; moves EWS crons to MS Graph; communicates the changes to the customer; offers new features |
Pre-upgrade template audit
Removed constructs in templates
|
What was removed |
What to do about it |
|
Variable type BIG ( |
Only found on very old instances originating from TAS 2. Find it across all templates and migrate it to a different type. The choice of the target type is up to you – it depends on what is actually stored in the variable. |
|
Task type "invitation" |
Look for it in process graphs. The endpoint |
|
|
Removed. |
|
Guides feature |
Removed, including its data. If the customer used guides for onboarding, inform them in advance. |
Process graph
The process graph is no longer instance-based – it is computed dynamically and shows much more information than before.
Retranspiling calculations (only when upgrading from versions below 5.17.7)
In 5.19, filter, find, some, every, reduce and sort with an async callback are now rewritten into sequential loops; lodash methods are left untouched.
If you are upgrading from 5.17.x lower than 5.17.7, run the following after the upgrade:
validation.checkAsyncAwaitRetranspilationNeeded(tProcId?)
sys.retranspileCalculationsByProcessId(...)
sys.retranspileCalculationsByTaskId(...)
sys.retranspileGlobalScripts()
Plugins
The new plugins docx-generator (1.0.2) and helpDocs (1.0.5) have been added. All other plugins have new versions in 5.19, and the old versions silently fail to load – after the upgrade, verify that the customer has all of them.
Changes in workflows and the process graph
Changes in calculations and scripts
docxGenerator.generate() – changed contract
The function now returns a list [{name, id}] instead of a single DMSF_ID. A new saveAsPdf option has been added.
// 5.17
const dmsfId = docxGenerator.generate(...);
// 5.19
const result = docxGenerator.generate(...);
const dmsfId = result[0].id;
docxGenerator.generate across templates and global scripts.New script mapping (optional optimization)
The columns TEMPLATE_PRINT.PRNT_APPEND_SCRIPTS and TEMPLATE_TASKS.TTASK_APPEND_SCRIPTS have been added. Prints and dynamic conditions can therefore load only a subset of CO scripts instead of all of them.
New calculation functions to offer
|
Function |
Purpose |
|
|
Structured queries over users, roles and org units with filtering, sorting and paging. They replace manually assembled queries. |
|
|
Move documents between cases without copying them. |
|
|
Now accepts parameters – useful for diagnosing mail integrations. |
The mandatory link setting has been removed
TTASKLINK_IS_MANDATORY has been removed end-to-end. A link marked as mandatory no longer blocks task activation on its own – activation is now purely Petri-net based.
This approach was used historically.
Babel 8 – stricter JSX checks in Case Overview and prints
Starting with version 5.19, TAS transpiles frontend scripts using Babel 8. This change tightens JSX syntax checking and may cause previously working Case Overview and print scripts to fail to save. The following section describes how to identify and fix affected scripts.
What the change affects
Only React scripts that are transpiled on the server side when saved:
- Case Overview,
- prints (prints / PDF).
Backend calculations, scripts, crons and dynamic conditions are not affected.
Cause
In JSX, an attribute may contain only one expression. If it contains multiple values separated by commas, it is a sequence expression. Babel 7 silently accepted this syntax and evaluated it to the last operand – discarding all preceding values without any warning. Babel 8 turns it into a hard compilation error:
Sequence expressions cannot be directly nested inside JSX.
Did you mean to wrap it in parentheses (...)?
How to identify an affected script
|
When |
Symptom |
|
Before the upgrade |
The script saves and runs, but part of the data is not displayed in the component. No error in the console. |
|
After the upgrade, at runtime |
No change – the saved script keeps running in its original form. |
|
After the upgrade, on save |
Saving fails with the error |
How to fix it
- Open the script and go to the line given in the error message.
- Find the attribute that contains comma-separated values.
- Merge them into a single array or object.
- Save the script and verify how the component behaves – after the fix, the previously discarded values take effect for the first time.
Incorrect:
additionalVariables={
[{taskName: 'Confirm the delivery'}],
[{taskName: 'Change the billing status'}]
}
Correct:
additionalVariables={[
{taskName: 'Confirm the delivery'},
{taskName: 'Change the billing status'}
]}
What to watch out for
- The fix changes behavior. Once the values are merged into an array, the component starts working with values it previously discarded. Verify that the result is actually what you want – this is not a purely cosmetic change.
- The pattern tends to be copy-pasted. It is rarely limited to a single attribute. Go through all Case Overview scripts and prints in the environment and look for any prop written as a comma-separated list of values.
- The error is reported by the server. Although this is frontend code, transpilation happens on the backend when the script is saved. You will therefore see the message as a save error, not in the browser console.
Crons from the consultant's perspective
Crons have been completely rebuilt. Most of the work falls to DevOps, but three things are up to you.
EWS mail crons will be deleted
[tas-3432] – arrange with DevOps to save it for you. Without it, you will not be able to retrieve it after the upgrade.Then transfer the configuration to MS Graph crons. New options you can take advantage of:
clientSecretcan be a reference to a Vault secret in the form{{vault:name}},- the Discover folders button lists the mailbox's available folders,
- mailbox duplication for quickly setting up another cron.
useEmailObjectInDataHolder = false so that field mapping works. Existing crons keep their saved parameters.Behavior changes the customer will notice
|
Change |
What it means |
|
Cron run history is lost |
|
|
Cloned crons no longer exist |
The alias has been migrated into the user-defined name. If the customer used clones for different parameterizations of the same cron, review with them whether the result is correct. |
|
Per-cron timeout has been removed |
So has the "kill run" action. Crash recovery via stale heartbeat and the "running much longer than usual" indicator remain. |
|
"Factory settings" on the cron detail |
Resets unconditionally: timing, description, parameters and active state. The user-defined name is kept. Warn the customer's administrators. |
|
Cron |
Parameter documentation now lives in |
|
Parameter validation |
A cron whose parameters do not match the schema can no longer be saved ( |
New crons
Existing instances already have the CRONS table populated, so seeding the default crons is a no-op. New crons must be created manually via Administration → Crons → "+", and they are inactive by default:
DatabaseHealthReportCron,DatabaseIndexRebuildCron.
Discuss with the customer whether to activate them. Also set application.crons.consecutiveFailureThreshold (default 5) – after N consecutive failures, a notification e-mail is sent to the cron's error addresses.
What to communicate to the customer in advance
Changes that users will see or feel and that cannot be reverted.
|
Change |
Impact on users |
|
Cron run history |
Lost completely. New history is collected only from the upgrade onwards. |
|
Guides feature |
Removed, including its data. |
|
Appstatus page |
Replaced by Administration → System Health with probes for the application, database, Elasticsearch, Redis, Tika, LibreOffice, e-mail, Firebase, crons, host resources and business KPIs. A dashboard widget has been added (admins only). |
|
"Invitation" task type |
Removed. If the customer used it, the affected workflows must be rebuilt. |
New features to offer the customer
- Plugin
docx-generator– DOCX generation has moved from the core into a plugin, and a newsaveAsPdfoption has been added. - Plugin
helpDocs– documentation directly in the application. - Plugin Store – Administration → Plugins → Plugin Store tab (only when
TAS_PLUGIN_STORE_URLis set). Install and uninstall plugins directly from the GUI. - MCP endpoint –
POST /mcp/:scenario?exposes TAS to external AI clients (Claude Desktop, Claude Code) in the scenarioscase-creation,case-editing,case-lookup,knowledge,accountandadministration. API token only; every call is audited. - E-mail via MS Graph – new
msgraphtransport (app-only / Client Credentials) alongsidebasic,oauth2andsendmail. - Custom X-headers in notifications – with placeholder support and an allowlist.
- System Health – fleet-aware monitoring of all instances with 48h history, plus Database Activity showing running queries.
- Plugin configuration in the GUI – Administration → Configuration → Plugins tab.
Consultant's post-upgrade checklist
Crons and integrations
- EWS crons moved to MS Graph, configuration from the log applied
- Manual run of key crons (Run manually) completes without errors
- The cron list matches the pre-upgrade state – active status and timing
- Sending e-mail works: notifications and reports
- DMS upload, fulltext and previews work
- AD/LDAP synchronization (
AdSyncCron– fixed in 5.19; previously it silently synchronized nobody)
Plugins
- All expected plugins are loaded in Administration → Plugins (incompatible ones are silently skipped)
Updated
by Frantisek Brych