Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • Basic Evolveum/midpoint-overlay-example serves couple of purposes:
    • It provides simple GUI customization example, see README for its description (also visible on the main repository page).
    • It documents midPoint overlay development in general, including points like schema extension and custom initial objects.
  • Evolveum/midpoint-custom-service with CXF-based SOAP web-service. This demonstrates overlay as a part of Maven multi-module project. README provides quick hints about using CXF for SOAP web-services on topics like WSDL vs code-first, WS-Security and how to use midPoint authorizations.
  • Finally there is REST example Evolveum/midpoint-custom-rest-service - this one will probably be changed in the future to use Spring MVC instead of CXF and is currently minimally documented.

Version compatibility

The example overlay project is located in the Evolveum/midpoint-overlay-example github repository:


Download the project and build it using the following maven command:

Code Block
mvn clean package

The resulting file is target/midpoint.war. This is the file that contains stock midPoint together with the customizations introduced by the overlay project. Simple deploy the WAR file in the usual way. Customized version of midPoint will start.

Log in as user operator (password: 5ecr3t) and try to edit any user. You will see completely customized form:

Image Removed

The code of this form is in the overlay project in the src/main/java/com/example/midpoint/gui/forms directory.

You might notice, that the midPoint deployment also added new objects to the repository and new schema file. These files are also located in the overlay in the src/main/resources directory.

Initial Objects

Stock midPoint installation has a set of objects that are deployed to midPoint repository when a fresh midPoint installation starts. This feature can also be used in the overlay projects. Just put your custom objects into the src/main/resources/initial-objects directory. Place each object in a separate XML file. The files have to be named following the 9xx-nnnnnnnn.xml convention, where xx is any number and nnnnnnnn is object name (see the sample project for an example). The files will be imported in the order given by the xx numbers. The prefix 9 is a convention to avoid collisions with stock initial objects.

Initial midPoint Home

The overlay project may also contain files that are copied to MidPoint Home Directory when midPoint starts. Just place these files in src/main/resources/initial-midpoint-home directory in the overlay project. This is a good tool how to bundle schema files that contain custom schema extensions.

Developer corner

Are you using the latest snapshot as your base for the overlay project? The snapshots are usually build once per day in the night. However, the best thing to do is to rely on local build of midPoint:


Overlay development

Development document is now part of the basic overlay example - see midPoint overlay development. It describes how to build and run the project (including IDE), how to develop against fresh snapshots, how the MidPoint Home Directory customizations and initial-objects customizations work.

The document also includes overlay upgrade notes (starting with upgrade to midPoint 4.1).

TODO Describe

  • bundling connectors