Hi all, as you know, in the previous months I worked on an early integration of Apache Camel in Syncope. The original purpose was to introduce a new component, the provisioning manager, that deals with user and role management. We decided to use Camel as base of the new component: we supposed that Camel routes could be used to express the provisioning logic.. and maybe we were right.
In these months I simplified both the user and the role controller: every operation that had to do with these two concepts (i.e. user creation),has been moved in the provisioning manager and now it's expressed using a route. This means that now we have a more accurate control on what's happening in the provisioning process and, using the right syntax, we can define complex behaviour. In the last part of the work, we decided to focus more on the Syncope Console: we decided to add a new REST service that allows to read the routes definitions, and possibly modify them. You can find this new service under the Configuration section. In this case, routes are expressed through Spring DSL. We decided to extend the Syncope Console for one main reason: Camel allows to add/remove routes at runtime, without stopping its context. In our case, since Camel routes represent part of Syncope provisioning logic, we are able to update some provisioning behaviour by changing the route content. In other word, if we want to change some provisioning logic, now we don't need to stop Syncope and create a new classes: we can do it directly in the console, without stopping Syncope. As a final result, I made a video [1] that shows how to work with the new component. In my case, I'm updating the user creation route at runtime: with this modification, every time a new user is added, an email is sent to system administrator. What do you think? It make sense to integrate this work in Syncope? Let me know! Thanks for your attention. [1]https://www.youtube.com/watch?v=H25BFqaI8qw -- Giacomo Lamonaco Tirasa - Open Source Excellence http://www.tirasa.net/