Skip to main content

2021.2 to 2022.0

1. Removal of the ADITO Legacy Client

What changed

The ADITO legacy client has been completely removed in version 2022.0. Alongside this removal, the "classic"-Structure and legacy "application" content were also eliminated.

Why it matters

The legacy client is no longer supported, which means any dependencies on it or related components will no longer function. Systems using legacy structures must be updated to avoid compatibility issues.

  • Update any systems or projects that still rely on the legacy client or its components.
  • Review your application structure to ensure it complies with the new standards.

Example usage

Application_2022.0.0
Figure: Updated Application structure without legacy client


2. Upgrade Requirement for ASYS_USERS System Table

What changed

The ASYS_USERS system table requires an upgrade to function properly with ADITO 2022.0.

Why it matters

Without upgrading ASYS_USERS, the system may experience errors or malfunction due to incompatibility with the new version.

  • Right-click your database in the system and select "Upgrades".
  • This opens the "System Table Control Center".
  • Click the magic wand icon next to the "+" and "-" buttons.

ASYS_USERS_2022.0.0
Figure: Upgrading ASYS_USERS via System Table Control Center


3. Property mailRepositoryDistincterType Renamed to mailRepositoryPreventDuplicates

What changed

The property mailRepositoryDistincterType has been renamed to mailRepositoryPreventDuplicates. The new name reflects its binary choice options more clearly (yes/no).

Why it matters

This change improves clarity and prevents confusion regarding the property's purpose.

Example usage

mailRepositoryPreventDuplicates
Figure: Updated property name in configuration


4. Update to neon.openContextWithRecordsRecipe Method

What changed

The method neon.openContextWithRecordsRecipe now uses the includedIds property from RecordRecipe similarly to other methods.

Why it matters

This standardizes method behavior and provides more intuitive control over which records are opened.

  • When using neon.openContextWithRecordsRecipe, utilize the includedIds property according to these rules:
    • null means no restriction (all records included)
    • An array of IDs opens only those specific datasets
    • An empty array opens the context without any data

Example usage

// Open context with specific records
neon.openContextWithRecordsRecipe({ includedIds: [1, 2, 3] });

// Open context with no records
neon.openContextWithRecordsRecipe({ includedIds: [] });

// Open context without restrictions
neon.openContextWithRecordsRecipe({ includedIds: null });

5. Introduction of New JDito Editor Supporting ECMA Script 6

What changed

The ADITO 2022.0.0 Designer now integrates a new JDito editor compatible with the ECMA Script 6 standard. This includes support for arrow functions and a new syntax for importing JDito modules and libraries.

Why it matters

The new editor enhances developer experience by supporting modern JavaScript features and cleaner import syntax.

  • Familiarize yourself with the new import syntax using the import keyword followed by a JSON-like list of names and the JDito proxy class name @aditosoftware/jdito-types.
  • Use the built-in upgrader by right-clicking your project and selecting Upgrade All Models to migrate existing imports to the new syntax.

New_JDito_Editor
Figure: New JDito Editor interface

Upgrade_all_models
Figure: Using the upgrader to update all models


6. JDito Editor Code Completion Setup

What changed

Code completion in the new JDito editor requires specific configuration files and setup.

Why it matters

Without proper setup, code completion features will not function correctly, reducing developer productivity.

  • Place the following required files in the root of your project directory (these are available in the newest xRM 2022 or can be provided by ADITO):
    * .npmrc
    * package.json
    * jsconfig.json
  • Run npm install by right-clicking package.json in the project tree and selecting NodeJS -> npm install.

NodeJS_npm_install
Figure: Running npm install via context menu

note

The dot . at the start of .npmrc may be removed by Git when cloning the project. Ensure the filename begins with . to enable Node.js to recognize it and enable code completion.

  • Update your .gitignore file to exclude unnecessary files and folders related to Node.js and code completion to avoid committing them to your repository. Add the following entries:
/.aditoprj/cache
/.aditoprj/UUIDNameMap.txt
/.idea
/data
/others/db_changes/liqui_update.bat
/others/db_changes/liqui_reset.ps1
/others/jsdocOut
/userhelp
/system/dev_local
/modification

## NodeJS
node_modules/

## NodeJS / Cypress
cypress/videos
cypress/screenshots
cypress/reports

7. System Table ASYS_TIMERS Upgrade Required

What changed

A new column has been added to the system table ASYS_TIMERS.

Why it matters

Without upgrading this table, timed execution of server processes will fail and throw errors.

  • Open the system table control center by right-clicking the _____SYSTEM_ALIAS alias configuration within your system and selecting Organize.
  • Navigate to ASYS_TIMERS and use the magic wand button to run the upgrader.

SYS_Alias_Organize
Figure: Opening the system table control center

upgrade_asys_timers
Figure: Running the upgrade for ASYS_TIMERS