2020.0 to 2020.1
1. Appointment Context: Required Changes for Calendar Compatibility
What changed
The Appointment context requires modifications to function correctly in ADITO 2020.1. Notably, a new entity field named OWNER must be added to the Appointment entity.
Why it matters
Without these changes, the calendar functionality may not work as expected, potentially causing issues with appointment ownership and display.
Recommended actions
- Add an entity field named OWNER to the Appointment entity.
- Extend the Appointment entity's content process in two areas:
- Insert a conditional clause.
- Add the owner variable to the result directly below the organizer variable.
- Insert a conditional clause.
- Update the recordFieldMappings in the record container to include the OWNER field, placing it below ORGANIZER.
- Modify the AppointmentEdit_view:
- Open the AppointmentEdit_view datamodel.
- Select the special view template unique to Appointments.
- Set the property
ownerField
to the new OWNER entity field. - Set the property
uidField
to the entity field UID.
- Apply the same view updates to the AppointmentPreview_view.
2. Index Search: Index Schema Upgrade to Version 5
What changed
ADITO 2020.1 introduces a newer index schema (Version 5) for the index search functionality.
Why it matters
The existing index is incompatible with the new schema. Using the old index will cause search failures or inconsistencies.
Recommended actions
- Delete the old index to allow the server to recreate it with the new schema.
- If using embedded mode:
- Shut down the ADITO server.
- Delete the index directory located inside your ADITODATA directory.
- Restart the server.
- Locate your ADITODATA directory path in the designer by:
- Single-clicking on the system.
- Checking the
aditoDataPath
property.
Figure: Locating ADITODATA directory path
3. JDito Scripting: String.replace() Method Syntax Change
What changed
The JavaScript engine update in ADITO 2020.1 removed the deprecated variant of String.replace()
that accepted three string parameters (e.g., name.replace("term","replacement","flags")
).
Why it matters
Existing JDito scripts using the old String.replace()
syntax will break, causing runtime errors and potentially disrupting system functionality.
Recommended actions
- Search all JDito scripts for
.replace
usage. - Replace instances of the deprecated syntax:
with the new syntax using a RegExp object:
name.replace("term","replacement","flags")
name.replace(new RegExp("term","flags"), "replacement")
- Be aware that the first parameter of
RegExp()
is interpreted as a regex pattern, not a plain string. Escape special characters as needed.
Example usage
// Before (deprecated)
name.replace("Maier","Meyer","g");
// After (correct)
name.replace(new RegExp("Maier","g"), "Meyer");
How to find occurrences
-
Right-click the project and select Find...
-
Configure the dialog:
- Search pattern:
.replace
- Match: Literal
- File name patterns:
*.js
- Search pattern:
-
Review the results and update the code accordingly.