Background

midPoint is roughly based on OpenIDM version 1. When compared to OpenIDM v1, 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 2011:

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.

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

Refactoring of vital components: IDM Model, provisioning and repository were significantly refactored for a better code structure and improved readability.

Improved GUI: The GUI has been improved for usability.

Error reporting: Errors are displayed more sophisticated composite result GUI.

Logging: Logging subsystem was switched to logback, has support for MDC-based subsystem marking, the log messages were cleaned up.

Resource Schema: Resource schema is automatically generated.

Connector and Connector Host: Connectors are described by repository objects, including generated connector schema. Connector hosts are supported.

Relative change model

Auditing

RBAC

RDB repository: Support for efficient identity repository based on relational database

change configuration in config.xml in midpoint.home<encryptionKeyAlias>default</encryptionKeyAlias> change 'default' to <SOME_ALIAS>

add/edit <xmlCipher></xmlCipher> in <keystore> element. You can use smaller cipher key size for encryption. For:
AES_128 use "http://www.w3.org/2001/04/xmlenc#aes128-cbc"
AES_256 use "http://www.w3.org/2001/04/xmlenc#aes256-cbc"
AES_192 use "http://www.w3.org/2001/04/xmlenc#aes192-cbc"
without quotation. This element is optional, if it doesn't exist AES_128 is used.

From now every encryption operation uses new key, for decryption old key is used.