Create a New Resource in Resource Wizard

Last modified 15 Apr 2025 17:35 +02:00

Every system you to connect to midPoint is represented as a resource in midPoint. To connect a system, you need to create a resource for it first.

This guide shows you how to create a new resource in midPoint via the web GUI and configure it to access the resource.

See Resource Configuration for advanced configuration options and in-depth explanations.

Before you continue, you may want to have a look at Resource and Object Type Inheritance to learn about template configuration.

1. Select Starting Point and Connector

The first thing to do when creating a new resource using the wizard is to decide whether you want to create it from scratch, use a template, or copy the configuration from a pre-existing resource.

  1. In  Resources, select  New Resource.

  2. Select  From Scratch.
    See the note below for explanation of the options here.

  3. Select a connector.
    For example, to read a CSV file, use the CsvConnector.

Now, you’ll configure the resource on several screens.

A closer look at the starting points:
  • Inherit Template – the new resource will be based on a pre-existing resource template. The new resource will inherit the configuration.

  • From Scratch – you will need to configure all aspects of the resource

  • Copy From Template – the new resource will be based on a pre-existing resource template. The new resource will be created as a copy of that template.

A resource template is marked as such by setting the template property to true. See Resource and Object Type Inheritance for more information.

Select whether to start with a blank slate or base the resource on a template
See the following pages for more information on connectors:

2. Basic Information

  1. Type Name and Description of the resource.
    For example,

    • Name: HRIS

    • Description: CSV exports from the HR system

  2. Keep the Lifecycle state as Proposed until you finish and test the configuration of the resource.

  3. Click Next: Configuration.

Lifecycle State is a new property since midPoint 4.8. It gives you the option to create preliminary resource configuration that’s not active, but you can use it for simulations. The default value is Proposed.

See Object Lifecycle to understand the concept in more depth.

3. Establish a Connection

Now, you need to provide information on how to connect to the resource.

In the case of the CSV connector, the only configuration required is the path to the source CSV file. The exact path depends on your midPoint instance configuration.

If you use Docker, have a look at working with file paths in Docker containers.

Set path to a CSV file in the CSV connector
A potential issue with CSV files

If you’re using the CSV connector and the wizard fails in this step with an error Connector initialization failed. Configuration error: Configuration error: Header in the CSV file doesn’t contain a unique attribute name as defined in the configuration, it may be caused by presence of UTF-8 BOM characters in the file. See more in the related bug report.
To resolve the issue, remove the leading UTF-8 BOM characters from the CSV file and start the wizard again. You can do this, for example, by copying the file contents to a new file in a text editor.

Contents of this screen vastly depend on the resource type and on what the connector supports. For remote resources such as LDAP servers, the configuration is more complex. Refer to the documentation of the particular connector you’re using. See List of Identity Connectors to find more information on supported connectors.

When you’re done, click Next: Discovery.

MidPoint validates the configuration before you can get to the next step. If midPoint can’t connect to the resource, it’ll tell you so and won’t let you continue.

4. MidPoint Discovery

Use this screen to tell midPoint about your data structure. Refer to the information tooltip icons to learn about the purpose of each field.

Importantly and regardless of the resource type, you need to select a unique attribute, i.e., an attribute that uniquely identifies each entry in your database.

When you’re done, click Next: Schema.

Discovered fields selector
Figure 1. Conveniently, midPoint suggests the field names so that you don’t need to type them manually. Here, they’re columns found in a CSV file.

5. Schema of Object Types

In the final screen, select the schema of the object types that are in the resource.

If you’re connecting a resource with only one type of objects, such as users, use the pre-selected AccountObjectClass schema.

In more advanced configurations, you may want to refer to Resource Schema and Kind, Intent and ObjectClass.

Click Create Resource to finish the configuration.

Resource object type schema configuration

6. Next Steps

The final screen provides options for your next steps.

The best first action after creating a resource is to preview its data to confirm that midPoint is retrieving data from the resource correctly. Click  Preview Resource Data to inspect the objects that midPoint sees on the resource.

Use the Back button beneath the object listing to get back to the last wizard screen.

After reviewing the resource objects, you can return to the resource wizard and adjust the resource configuration as needed using the  Go To Resource tile.

Signpost screen for next steps at the end of the resource wizard

If you need to access the resource configuration later:

  1. In  Resources > All resources, select the resource.

  2. In the left-side resource navigation, these are the sections you’ll use the most in the beginning:
    Basic, Connector configuration, and Resource objects.

With the resource created and configured, continue with the configuration further:

How to Use Lifecycle States

You can use different lifecycle states for resources, object types, attributes, mappings, synchronization situations, and other aspects of resource configuration. You can use the lifecycle state property for simulations. Resources are created in the Proposed lifecycle state by default, and don’t work in normal deployment before switching the state to Active.

You can use the Proposed lifecycle state to test (simulate) the configuration without causing any damage to your target system data. When the simulation results are satisfactory, you can switch the lifecycle state to Active.

You can set different lifecycle states for various configuration items, which lets you put specific parts of configuration to production incrementally.

For example, after you switch your resource to the Active lifecycle state, you can add new mappings in Proposed lifecycle state first. You can simulate the new mapping safely and switch it to Active when it’s ready.

See also:

Was this page helpful?
YES NO
Thanks for your feedback