Future of midPoint (4.3 and 4.4)

We are getting really close to midPoint 4.3 “Faraday” release, which also marks start of development of midPoint 4.4 LTS “Tesla” release. This is perhaps the right time to talk about our plans, as there are several important changes in both 4.3 and 4.4.
We have decided to drop support for MySQL and MariaDB in midPoint 4.3. MySQL/MariaDB support had been deprecated for some time. Although we originally had planned to keep MySQL/MariaDB supported in midPoint 4.4, we have decided to drop the support earlier. Keeping MySQL/MariaDB supported in 4.4 would mean that we have to support the databases at least for next three years, as midPoint 4.4 is LTS. The midScale survey indicated no showstoppers in dropping MySQL/MariaDB support, therefore we have decided to go for it and rather spend time and energy on more popular database engines.

Speaking about databases, new “native” PostgreSQL repository implementation is taking shape nicely. It is huge undertaking, and there will be only a very rough prototype in midPoint 4.3. But we are fully committed to make it all work perfectly in midPoint 4.4. We would like to thank the NGI for providing funding for this essential improvement.

I have updated our documentation to reflect our current plans with the database support: Repository Database Support

Support for production deployments of midPoint in Windows environment is deprecated in midPoint 4.3, and it will be dropped in 4.4. However, do no worry if your desktop runs on Windows. MidPoint will still run on Windows (and macOS), and these environments will be available for evaluation, demos, development and experiments. Our own developers are using a diverse set of operating systems, including Windows. Therefore midPoint has to run on all of them, otherwise we wouldn’t be able to work. However, we have decided it is not worth supporting all the operating systems for production deployments. Production support means that we need to maintain extra tooling (such as run control scripts), spend time on extra testing and so on. The midScale survey indicated that there is almost no need for production-quality Windows support, therefore we have decided that it would be wise to rather spend the effort on things that are needed, such as better Docker support.

One of the things that were brewing (or rather rotting) under the surface is support for Jasper-based reports. We were not happy with the way how Jasper deals with reports. It is mostly aimed at rendering printable reports. However, our experience tells us that we rather need “structured” reports, something that can be imported into spreadsheet and further processed. This was also confirmed by 2019 midPoint survey. We have been working on replacing the Jasper functionality with a native midPoint functionality. And in midPoint 4.3 we think we are ready. Therefore we will be dropping Jasper support in midPoint 4.4, to avoid the need to support it for the next 3+ years. If you still have any Jasper-based reports, it is perhaps the right time to migrate them.

There were also removals of smaller deprecated functionality, such as support for HQL audit queries, support for Internet Explorer and so on. The details are in midPoint 4.3 release notes, that are now fully prepared for the release.

This may seem like a lot of feature removals. However, midPoint is a big system. We have to remove old stuff to make room for new stuff. Otherwise the system would become an unmaintainable mess.

On the plus side there is MidPoint Studio. With the 4.3 release, the Studio becomes fully supported companion to midPoint. Support for Studio becomes a part of all midPoint subscriptions. There are also user interface improvements, the most notable are perhaps the improvements to password management user interface. There are numerous diagnostic improvements as well.

There is also quite a rich set of new experimental functionality in midPoint 4.3. Perhaps the most notable piece is a support for new, human-friendly query language (a.k.a. “Axiom query language”). Please, have a look at this experimental functionality. Most of the functionality will become a regular supported functionality in midPoint 4.4. Having a look at this functionality in midPoint 4.3 and providing feedback may help to improve them before they take their final form. The community feedback is also the reason for having these features experimental in the first place – we want to have the freedom to fix the features in case you tell us that we have got it wrong.

Almost all of these decisions were based on input from the community. We have considered your input in 2019 midPoint survey as well as the recent midScale survey. We have taken inspiration from discussions with you and posts in the midPoint mailing list. You have the power to shape the future of midPoint – and this is the right time to use that power. If we have got something wrong in midPoint 4.3, there may still be time to improve it before midPoint 4.4 is released. MidPoint 4.3 will be released in few days. Therefore go ahead, try it and provide a feedback. MidPoint mailing list is an ideal place to discuss the future of midPoint. We will listen.

Leave a Reply

Your email address will not be published.