Skip to main content

2023.1.2 to 2023.2.0

1. JDK17 Compatibility: Required Changes to ADITOSERVER.vmproperties

What changed

For ADITO to work with JDK17, a number of JVM module access flags must be added to the ADITOSERVER.vmproperties file.

Why it matters

These settings are required for internal libraries such as Ignite Cache and ADITO Plugins. Missing them will result in runtime failures.

Append the following lines at the end of the ADITOSERVER.vmproperties file on your server if not already present. Do not remove any existing lines.

--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED
--add-opens=java.naming/javax.naming=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED

2. Swagger UI: Entity REST Webservices Available via Swagger

What changed

From version 2023.2.0, Swagger UI is available to explore ADITO's entity REST webservices.

Why it matters

Swagger UI provides a structured, interactive interface to inspect and test REST endpoints.

Use Basic Auth or Kerberos for authentication. Access the UI at:

http://<server-ip>:<port>/afs/swagger

Swagger UI Figure: Swagger UI interface for entity REST webservices


3. External Services: New Aliases Required for PDF, Text, and Content Analysis

What changed

Three services (Tika, IcePDF, Lucene) have been externalized and now require separate alias configuration.

Why it matters

These aliases are necessary for features like MIME type detection, PDF thumbnail preview, and text pattern scoring. Without them, these features will no longer function.

Add and configure the following aliases in your system. Each alias must include host, port, username, and password.

  • Tika – Determines MIME types (used for index search)
  • IcePDF – Generates thumbnails for PDF previews
  • Lucene – Analyzes and scores text content based on patterns

4. JDito calendars Constants: Key Values Updated

What changed

The calendars JDito module constants have changed.

Why it matters

Hardcoded keys will no longer work. Existing customizing referencing the old keys must be updated to use the new constants.

Update all uses of direct string keys to use symbolic constants. For example:

Example usage

Before:

var user = entry["h"];

Now:

var user = entry[calendars.USER];

Mappings overview

OldNew
"a"calendars.TYPE
"b"calendars.UID
"c"calendars.SUMMARY
"d"calendars.LOCATION
"e"calendars.DESCRIPTION
"f"calendars.DTSTART
"g"calendars.DTEND
"h"calendars.USER
"i"calendars.STATUS
"j"calendars.HASREMINDER
"k"calendars.REMINDER_DATE
"l"calendars.DUE
"m"calendars.LINKS
"n"calendars.PERCENT_COMPLETE
"o"calendars.PRIORITY
"p"calendars.CLASS
"q"calendars.AFFECTEDUSERS
"r"calendars.ORGANIZER
"s"calendars.CREATED
"t"calendars.LAST_MODIFIED
"u"calendars.CATEGORIES
"v"calendars.RECURRENCEID
"w"calendars.REMINDER_ACTION
"x"calendars.REMINDER_DURATION
"y"calendars.REMINDER_RELATED
"z"calendars.REMINDER_ABSOLUT
"aa"calendars.DURATION
"ab"calendars.REMINDER_LAST
"ac"calendars.TRANSP
"ad"calendars.DTSTAMP
"ae"calendars.COMMENT
"af"calendars.FREEBUSY
"ag"calendars.ATTENDEE
"ah"calendars.ORGANIZER2
"ai"calendars.USER2
"RRULE"calendars.RRULE
"RDATE"calendars.RDATE
"EXRULE"calendars.EXRULE
"EXDATE"calendars.EXDATE
warning

If you used hardcoded string values (e.g. "WEEKLY") for repeating settings or calendar logic, switch to using symbolic constants like calendars.WEEKLY. Otherwise, your customizing will break.