Marklogic 11

Overview

Since November 2022, we have spent over 120 hours combing through the details of MarkLogic 11. This includes testing almost every feature for usability and regression. In addition, where possible, we have also gone through the source code line-by-line to get insights on how the new and updated libraries fit into the existing codebase. We've also reviewed all documentation as it has become available.

All of this detailed insight and experience with the release has been wrapped up into multiple sets of feedback to the engineering team at MarkLogic throughout the weeks up-to and following the release of MarkLogic 11. Needless to say, we are impressed with the outcome. This release is a well-balanced release covering some new features as well as some long-awaited small features and improvements and a good dose of bugfixes and performance improvements.

It is by design that we have held off on our blog series until now. First, we wanted to let the final round of feedback have time to be processed by MarkLogic. In addition, we wanted to also let the release "settle" and be fully GA including availability in the cloud services and Docker Image. Now it's time to roll up our sleeves and dive in!

Over the next few weeks, we will posting a series of blogs about our experience test-driving MarkLogic 11 of MarkLogic 11. Since the material is quite dense, we will switch between larger and smaller topics.

1) New Look and Feel

The cleanliness of the UI and collapsible side-bar is a welcome change. What we noticed is that under-the-hood, most calls to the back-end appear to be the same. One item of interest: With previous release of MarkLogic 10, there appeared to be a switch in libraries used for Query Console. With MarkLogic 11, some of the nuances around the changed libraries appeared to have been refined and addressed. We have provided feedback on further improvements in user experience in the future.

2) GraphQL

Much of this feature builds off of the Optic API under the hood. The way it was implemented allows for some level of traction OOTB. However, much more power and flexibility is achieved by further configuration. We'll start off this blog series with the first article around GraphQL and some quick wins and dive deeper in an upcoming article.

3) New CTS and XDMP functions

Throughout the entire set of feature releases, there are additional libraries available. With the exception of the ones added for the Optic API, we have chosen to group these changes together in our review.

4) Optic Update

Optic Update is in a preview stage right now. It is usable. However, it is clear that further feedback from the field will help shape this into a powerful feature.

We have referred to the source code to further understand what is possible now and where we may suggest additional enhancements in the future. Even though this is a preview release, what is delivered already have great value and may already allow some wins in code simplicity by allowing one to stay within the Optic API. Some of the new Optic functions also help add value to this feature. One very important note upfront - this feature appears to be Javascript only.

5) Optic Geospatial

This is a big item to cover. This functionality is a perfect example of MarkLogic's continued pattern of building on foundational features that are already trusted to work. There are index changes, library changes and an entire new Optic Geospatial library that is used like the ofn, oxdmp and other libraries wrapping existing functionality.

6) Additional Optic Changes

In addition to the Optic API for Geospatial (covered elsewhere), there are some changes to Optic that are notable.

7) Other Items

This release was not only about new features. It was also packed with enhancements, changes and over 60 tickets closed from the bugtracker system. It would be practical for us to test every item. However, those that could be easily tested were.