Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

There are many ways how to customize midPoint behavior. MidPoint is designed with practicality in mind and therefore the most frequent customizations can be done by configuration. But it is not possible to make everything configurable. Some customizations needs extension or even modification of midPoint code.

This page describes how to set up and maintain an overlay project that contains midPoint customizations.

How Overlay Works?

Overlay projects takes midPoint binary distribution (midpoint.war), extracts it, adds your customization to it and then repackages it again. The customizations may be configuration files, web resources (HTML, CSS, images) and even Java code. The overlay can also override stock midPoint files and classes and replace them with custom versions.

The overlay project is build using Apache Maven. As midPoint itself is built using Maven and midPoint development binaries are also distributed in Maven repositories this is a natural choice.

The overlay project contains only the customized files. There is no need to copy stock midPoint sources and even binaries. The Maven will download everything that it needs directly from Evolveum repositories.

Example Overlay Project

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:

mvn 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:

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.

  • No labels