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.
Recommended actions
- 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
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.
Recommended actions
- 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.
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
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.
Recommended actions
- When using
neon.openContextWithRecordsRecipe
, utilize theincludedIds
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.
Recommended actions
- 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.
Figure: New JDito Editor interface
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.
Recommended actions
- 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-clickingpackage.json
in the project tree and selectingNodeJS
->npm install
.
Figure: Running npm install via context menu
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.
Recommended actions
- Open the
system table control center
by right-clicking the_____SYSTEM_ALIAS
alias configuration within your system and selectingOrganize
. - Navigate to
ASYS_TIMERS
and use the magic wand button to run the upgrader.
Figure: Opening the system table control center
Figure: Running the upgrade for ASYS_TIMERS