Project Start

midPoint project started in April 2011 by several key people that were working on OpenIDM project. Initial midPoint release was based on the unreleased version 1.7 of OpenIDM. There were several reasons for splitting up with OpenIDM:

The publicly visible development effort of OpenIDM by the ForgeRock team efficiently ceased in February 2011. ForgeRock haven't publicly announced any updated plan for OpenIDM.

The part of the team that was led by nLight had done most of the design and development work to date. That part of the team had a differing view on further development of OpenIDM than the ForgeRock team had. ForgeRock decided to take a development path different from the one that was originally envisioned for OpenIDM.

The "nLight part" of the team was confident that the original design needs just few adjustments and most of these adjustments were expected and accounted for in the design. Therefore it was decided that the existing OpenIDM code should not be wasted and the development should continue in the original spirit.

The people from nLight and few other companies joined forces and established a new company: Evolveum. Evolveum mission is to lead a pragmatic development of professional open-source projects. Short-term goal is to carry on the development of OpenIDM following the original approach. Product name was changed to midPoint. The members of Evolveum team are original authors of significant part of the code base, therefore it was decided to start a completely new project using the code that the Evolveum team "owns" and, in an open-source spirit, reuse some of the other parts of the OpenIDM code base.

ForgeRock announced plans for further OpenIDM development in June 2011. It was obvious that the two development branches are following very different approach:

The OpenIDM v2 development led by ForgeRock took an approach of a total rewrite of the complete system. OpenIDMv2 is based on popular but unproven and immature technologies.

The midPoint development led by Evolveum took an approach of gradual improvement. MidPoint is based on stable, proven and well understood technologies.

The Age of Titans

First ten midPoint releases were named after Titans from the greek mythology. It begins with Prometheus who brought fire to the men and continues with other Titans. This naming convention describes the overall motive of the era very well. There midPoint releases provided features that a traditional user provisioning system should have. The goal was to build a solid foundation and feature base. The goal was to bring a new project to the state where it can technologically match the competition.

There was always innovation in midPoint, even in this era. But it was mostly hidden inside. MidPoint versions from the era of the Titans feels and looks like an traditional identity management system.

Release 1.7 (Prometheus)

As the very first step 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:

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 form 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.

midPoint release 1.7 roughly corresponds to the features planned for OpenIDM snapshot 1.7. The state of release of 1.7 is technology preview. It is not intended for production use.

Release 2.2.1 (Crius Update 1)

The Age of Enlightenment

MidPoint 3.0 is a turning point. It starts a new age in midPoint development. The "Newton" as we call it is introducing features that are quite unique in the identity management field. It goes beyond traditional identity management. This midPoint version joins together provisioning-based identity management (IDM), privileged identity management (PIM) and organizational structure management into a single, unified model. MidPoint development is no longer trying to match the competition. MidPoint versions from the age of enlightenment are leading the way to discoveries.