Source Code Structure

Last modified 22 Apr 2021 17:31 +02:00

Following table describes the layout of midPoint source code. See the Git page for description how to get the source code.

gui/

GUI Subsystem

admin-gui/

Administration GUI implementation

model/

IDM Model Subsystem

model-api/

IDM Model Interface

model-impl/

Main IDM Model Subsystem implementation

model-client/

Model Web Service Client, stand-alone library that can be used to access midPoint functionality remotely.

model-common/

Library of common functions shared between Model Subsystem components. Contains, more complex expressions, mappings, function libraries, etc.

model-test/

Testing library for model components. Contains a code shared by several unit and integration tests.

model-intest/

Model subsystem integration tests

workflow-api/

Workflow component interface

workflow-impl/

Workflow implementation based on Activiti BPM engine

notifications-api/

Notification component interface

notifications-impl/

Notification component implementation (mail notifications)

report-api/

Reporting component interface

report-impl/

Reporting component implementation based on Jasper Reports

provisioning/

Provisioning Subsystem

provisioning-api/

Provisioning Service Interface

provisioning-impl/

Provisioning Subsystem implementation

ucf-api

Unified Connector Framework Interfaces

ucf-impl-connid

Implementation of Unified Connector Framework for the ConnId framework.

ucf-impl-builtin

Implementation of Unified Connector Framework with built-in connectors, such as manual connector.

repo/

Repository Subsystem

repo-api/

Identity Repository Interface

repo-sql-impl/

Repository implementation based on relational database

audit-api/

Audit interface

audit-impl/

Audit implementation (logfiles)

task-api/

Task Manager Interface

task-quartz-impl/

Task Manager implementation based on Quartz library

security-api

Security API. Interface for low-level security functions such as evaluation of authorizations.

security-impl

Security implementation.

repo-common

Common packages for use by components on top to repo subsystem, mostly provisioning and model.
This contains classes to support basic expressions, as those are needed in the provisioning.

infra/

Infrastructure Subsystem

common/

Common midPoint functions. See Infrastructure Subsystem. DEPRECATED. This component will be dissolved to other components.

prism/

Implementation of Prism Objects framework

schema/

Implementation of Data Model

util/

Generic utilities. See Infrastructure Subsystem

icf-connectors/

Dummy connectors used for midPoint internal testing. These are NOT the real connectors for production use.

tools/

Misc development and build tools such as JAXB (xjc) plugin, Test NG support code, misc scripts, etc.

dist/

Project for packaging midPoint distribution. The resulting binaries will be produced by this component.

samples/

Sample data. See Configuration Samples

config/

Various configuration such as SQL scripts and IDE configuration.

build-system/

Basic setup of othe build system. Maven parent project.

testing/

Integration, sanity and end-to-end tests

legal/

Legal stuff (such as copyright and licensing)

This table only shows the most important part of the source tree.