Giter VIP home page Giter VIP logo

midpoint-overlay-example's Introduction

midPoint Overlay Example

MidPoint overlays allow to heavily customize midPoint without the need to modify midPoint source code. This example serves two purposes:

  • to showcase simple GUI customization with a couple of new forms;

  • to be the canonical example for overlays, documenting the changes between versions, etc.

This example is described in this README below.

Following generic overlay points are documented in separate documents in this project:

Other overlay examples managed by Evolveum:

  • Custom SOAP service with contract-first (WSDL) approach and WS-Security authentication (based on CXF).

  • Custom SOAP service with code-first approach only using midPoint built-in basic authentication (based on CXF).

  • Custom REST service with CXF-based REST and (since 4.2) experimentally also simplified Spring MVC based REST endpoint.

Additional information about midPoint customizations with overlays are also available at this documentation page.

Recent overlay changes

Changes for midPoint 4.8:

  • Adding selfProfilePage to admin gui configuration of 900-role-superoperator.xml.

Changes for midPoint 4.7:

  • None.

Changes for midPoint 4.6:

  • Spring Boot version 2.7.3 is used.

  • Overlay was overhauled to support JAR packaging instead of WAR packaging, that is not available anymore.

  • See also Release notes for midPoint 4.6.

Changes for midPoint 4.5:

  • Scanning for GUI components is now more focused and overlays using custom GUI components (like those annotated @PanelType in this project) need to tell midPoint what other packages to scan. See Customizing classpath scanning in Admin GUI Configuration guide for more information.

  • For other changes see Release notes for midPoint 4.5.

Changes for midPoint 4.4.2:

  • More focused GUI component scanning was introduced in 4.4.2 as well, see the note in 4.5. This change was incorporated into support-4.4 branch of this overlay example.

Changes for midPoint 4.4:

  • Spring Boot version 2.5.2 is used.

  • Both Java 11 and 17 can be used for building and running midPoint and midPoint overlays.

  • Admin GUI configuration was changed significantly.

  • Spring Boot repackage now again uses custom layoutFactory based on midpoint-boot-layout (see the POM file). This encapsulates implementation details around setting the midpoint.home and loading custom libraries from ${midpoint.home}/lib.

  • See also Release notes for midPoint 4.4.

Since 4.6, JDK 17 is now used for overlays just as recommended for midPoint.

This overlay example

Building and running

To build this example use JDK 11 and run (in the root of the repository):

mvn clean package
java -jar target/midpoint.jar

Wait until the midPoint starts - you can check the progress in another terminal with:

tail -f ~/midpoint/log/midpoint.log

To run in an IDE choose com.evolveum.midpoint.web.boot.MidPointSpringApplication as the main class. Be sure to add "provided" scope to the classpath in the run configuration.

Customized GUI forms

To see the customized forms:

You will see the completely customized form (implemented in ExtendedFormFocusTabPanel):

custom form user

There is also the custom form for editing an organization (class ConfigurationTableTabPanel):

custom form org

Read Admin GUI Configuration guide for more information about GUI customization. Notice also src/main/resources/application-default.yml file that configures additional packages for GUI component scanning which is necessary since versions 4.5 (and 4.4.2 for LTS version). See Customizing classpath scanning in Admin GUI Configuration guide for more information.

Schema extension and initial objects

This overlay demonstrates usage of both custom schema extension and custom initial objects.

For details see the respective sections in Overlay development.

midpoint-overlay-example's People

Contributors

z14tk0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.