MidPoint 1.7 "Prometheus"

Last modified 26 Oct 2021 10:24 +02:00

Release 1.7 is an initial midPoint release code-named Prometheus.

The goal of this release is to show the source code and open the development to the community. The code is of "technology preview" quality and it is not intended for direct production use.

Release date18 May 2011
Release type Production release


midPoint 1.7 provides following features:

  • Basic provisioning (create, read, update, delete)

  • Integration of Identity Connector Framework (ICF)

  • Identity repository based on MySQL

  • Synchronization functionality

  • Support for XPath version 2 expressions

  • Lightweight structure

  • Support for Apache Tomcat web container


midPoint is roughly based on OpenIDM project. Or more exactly it is mostly based on the code created by the OpenIDM team members that are now part of midPoint team. When compared to OpenIDM, midPoint code was made significantly "lighter", removing some of the "dead meat" that accumulated over the year of hectic OpenIDM development. The code was also stabilized, the tests were fixed and the complete development process was brought back to a reasonable shape. The most significant changes are with regard to OpenIDM trunk in early 2010:

  • Removed OpenESB: OpenESB is a dead project and the hope of reviving it is very low. OpenESB was slowing down OpenIDM development from the very beginning. This does not mean that midPoint cannot be used in "ESB" environment. Just the approach was changed to decouple these technologies. midPoint is provided in a for of simple Java web application (WAR) based on Spring.

  • Removed Glassfish dependency: midPoint is no longer dependent on a specific application server. The primary development and testing platform is now Apache Tomcat.

  • Simplified build: The build system was completely revamped. The new build system is much simpler and based on a "pure" maven without any hacks.

  • Fixing unit tests: The unit tests were reviewed, deprecated unit tests were removed and the tests that are still needed were fixed. The tests would deserve better cleanup, but they are all passing now. And that’s how it shall remain from this point on.

  • Architecture update: New wiki was created with an up-to-date information on current midPoint implementation and also the design. The UML models were updated as well, removing unnecessary components exactly as it happened in the code.

For the full project background see the midPoint History page.

midPoint release 1.7 roughly corresponds to the features planned for OpenIDM snapshot 1.7 except for password management (see below).

Known Issues

Synchronization reaction "addAccount" does not work (MID-103).

There is a JAXB issue that is causing problems if a content of an QName is not well qualified, e.g. if it does not have a proper namespace prefix. The sympotoms are that midPoint seems to think that a part of an object is not there although it is there. E.g. the problem may appear as following log message:
Account construction in user template (OID:c0c010c0-d34d-b33f-f00d-777111111111) must have resource or resourceRef defined.

The solution is to double-check that all QNames are valid. In this case the problem was caused by this:
<i:resourceRef oid="c0c010c0-d34d-b33f-f00d-333111111112" type="ResourceType"/>

which should correctly be defined with an "i" prefix as:
<i:resourceRef oid="c0c010c0-d34d-b33f-f00d-333111111112" type="i:ResourceType"/>

The problem was reported to the JAXB team (JAXB-833) but it was not yet resolved.

Password policy is not implemented. The password policy that was supposed to be part of OpenIDM version 1.7 is NOT fully supported in midPoint. The password management functionality is partially implemented, but not finished and not tested well enough for the release. It was moved out to a later release.

Was this page helpful?
Thanks for your feedback