Skip to main content

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.

  • Add an entity field named OWNER to the Appointment entity.
  • Extend the Appointment entity's content process in two areas:
    • Insert a conditional clause. 20201_AppointmentEntity_contentProcess1
    • Add the owner variable to the result directly below the organizer variable. 20201_AppointmentEntity_contentProcess2
  • Update the recordFieldMappings in the record container to include the OWNER field, placing it below ORGANIZER. 20201_AppointmentEntity_recordFieldMappings
  • Modify the AppointmentEdit_view:
    1. Open the AppointmentEdit_view datamodel.
    2. Select the special view template unique to Appointments.
    3. Set the property ownerField to the new OWNER entity field.
    4. Set the property uidField to the entity field UID. 20201_AppointmentEditView_owner
  • 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.

  • Delete the old index to allow the server to recreate it with the new schema.
  • If using embedded mode:
    1. Shut down the ADITO server.
    2. Delete the index directory located inside your ADITODATA directory.
    3. Restart the server.
  • Locate your ADITODATA directory path in the designer by:
    1. Single-clicking on the system.
    2. Checking the aditoDataPath property.

ADITODATA_Path 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.

  • Search all JDito scripts for .replace usage.
  • Replace instances of the deprecated syntax:
    name.replace("term","replacement","flags")
    with the new syntax using a RegExp object:
    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...

    FindOnProject

  • Configure the dialog:

    • Search pattern: .replace
    • Match: Literal
    • File name patterns: *.js

    FindDialog

  • Review the results and update the code accordingly.