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.