MidPoint is primarily synchronous system. Its major processes like reconciliation, live synchronization or regular provisioning work in synchronous mode. However, recent releases have brought a possibility of asynchronous communication (e.g. based on messaging) with both source and target resources. These are asynchronous updates in version 4.0 and asynchronous provisioning in version 4.3. When to Use Read more about Asynchronous Resources With ActiveMQ Webinar Summary[…]
In its current version, midPoint can easily handle applications falling into “Internet of Things” category. In the forthcoming series of blog posts we will show how. Today let’s go through a brief introduction.
In version 3.4 midPoint has got a really nice GUI. It is well suited for operational tasks. However, it lacks some features to support development and maintenance of really complex midPoint deployments. Main pain points are perhaps missing integration with git (or other version control systems) and limited support for editing complex XML objects. Because of this we’ve recently created a prototype of MidPoint Development Tools for Eclipse.
At many places in midPoint we can (and sometimes have to) specify queries in order to find one or more objects in the system. We do this e.g. when we want to restrict objects (like users, roles, resources or services) shown on the screen, when selecting objects that are to be included within a report, when specifying objects that are to be processed by a background task, when account owner is to be determined, or when assignment target is to be found. All of this is done via midPoint query language – abstract XML-based language that is designed to specify constraints on objects, and optionally paging and sorting instructions. This language is very powerful. The negative side of that power is complexity: it is quite hard to write (correct) queries by hand. Because of this, we’ve recently added a simple, yet helpful feature to midPoint: query playground.
Life of a midPoint developer is a colorful one. There are enjoyable periods of building things when you have a luxury of undisturbed raising smaller or larger pieces of code. But sometimes there comes an interrupt: you break something in such a way that you are not able to find what is wrong – for hours or even for days, occasionally. Also regularly, after “feature freeze” points, there arrive periods of intensive and merciless hunting of remaining bugs. Besides this, often a colleague, customer, partner or a friend on the mailing list comes with a problem he or she urgently needs to help with.
The core of midPoint – IdM Model Subsystem – is an extremely powerful and flexible computation engine. It can be configured to implement almost all policies one could imagine. But with such flexibility comes potential (and sometimes very real) complexity: for more advanced configurations it is very easy to make a mistake that, with a bit of bad luck, manifests itself in a quite unexpected way.
An IDM deployment is not always a straightforward process. It perhaps bears a similarity to the development of a software product, which is far from a linear process as well. So, from time to time, it is necessary to modify or repair the data already present in midPoint system. For simple actions, like setting a Read more about Fixing Data with Bulk Actions and XSLT[…]
MidPoint development of is full of interesting software problems – be it management of long-running tasks, integration of third-party workflow engine, devising a flexible authorization mechanism, creating a GUI that adapts to the customizable data model, or many others. However, the following one in particular reminded me of my happy student years at the faculty Read more about Transitive closure and matrix multiplication in identity management[…]
Here I would like to say a few words about my use of IntelliJ IDEA while working on Evolveum midPoint project. I am a quite conservative man. So that although my colleagues had been positively talking about IntelliJ IDEA for some time, I used Eclipse and didn’t think about switching over. At that time, I Read more about My experiences with IntelliJ IDEA[…]