XPages JEE 2.14.0
Fri Oct 27 11:47:02 EDT 2023
- Dec 14 2021 - Updating The XPages JEE Support Project To Jakarta EE 9, A Travelogue
- Dec 20 2021 - JSP and MVC Support in the XPages JEE Project
- Jan 06 2022 - Migrating a Large XPages App to Jakarta EE 9
- Jan 11 2022 - XPages Jakarta EE Support 2.2.0
- Jan 13 2022 - DQL, QueryResultsProcessor, and JNoSQL
- Jan 25 2022 - Implementing a Basic JNoSQL Driver for Domino
- Feb 07 2022 - Video Series On The XPages Jakarta EE Project
- Feb 11 2022 - JSF in the XPages Jakarta EE Support Project
- Apr 28 2022 - So Why Jakarta?
- May 25 2022 - XPages Jakarta EE 2.5.0 And The Looming Java-Version Wall
- Jul 11 2022 - Adding Concurrency to the XPages Jakarta EE Support Project
- Jul 20 2022 - Adding Transactions to the XPages Jakarta EE Support Project
- Nov 22 2022 - XPages Jakarta EE 2.9.0 and Next Steps
- Apr 20 2023 - XPages JEE 2.11.0 and the Javadoc Provider
- May 04 2023 - The Loose Roadmap for XPages Jakarta EE Support
- May 25 2023 - XPages JEE 2.12.0: JNoSQL Views and PrimeFaces Support
- Jul 21 2023 - XPages JEE 2.13.0
- Oct 27 2023 - XPages JEE 2.14.0
- Feb 16 2024 - XPages JEE 2.15.0 and Plans for JEE 10 and 11
Today, I released version 2.14.0 of the XPages Jakarta EE Support project. As with the last few releases, this is primarily about bug fixes and compatibility as I prepare for the big switch in 3.0, but there are some notable, if small, feature additions.
To begin with, I improved handling of reading JSON in NoSQL entities when reading from a view. This applies to the @ItemStorage(type=ItemStorage.Type.JSON)
annotation on entity properties, which causes the value to be loaded and stored as JSON, useful for storing custom class types in a document. Now, such values can be read from view entries - previously, this processing was skipped for those. Of note when using this: normally, storing as JSON will automatically set the item's summary flag to false, to avoid overflowing the summary limit. However, you can add @ItemFlags(summary=true)
to the property to override this behavior so that the values can show up in views.
Additionally, I added the ability to use JAXRSClassContributor
s inside the NSF. These were originally an internal mechanism for the project to dynamically add REST endpoints and extensions, like those used by MVC and OpenAPI. Now, though, I've made it so that such classes can be registered via a file named "META-INF/services/org.openntf.xsp.jaxrs.JAXRSClassContributor" in the NSF, and also added the ability to specify configuration properties. The latter is important because, though all xsp.properties values were already inserted into the JAX-RS configuration, there was no way to provide non-string values. This came up in the context of MVC, which has a CSRF configuration property that must be an enum value.
For the final feature, I improved support for JAX-RS's status-indicating exceptions, such as NotSupportedException
and BadRequestException
. Previously, the project supported translating NotFoundException
to a 404, but now it will also translate these other standard exceptions to their corresponding HTTP statuses.
The release is otherwise rounded out by a number of bug fixes to fix problems encountered in the wild. Additionally, I added a workaround for some classpath pollution in the latest Domino 14 beta - I hope that the trouble will be gone for GA, but this project should handle it either way.