On 23/12/2013 16:59, Hadrian Zbarcea wrote:
[resent from my a.o account]

Hi,

As previously discussed, Giacomo started a proof of concept on github
[1] to investigate the feasibility of implementing a declarative and
more flexible processing of user lifecycle events using Camel routes.

The poc is progressing rather well and core to the idea is a new
ProvisioningManager interface that abstracts the event handling away
from the UserController. This has proven to work (see code on github),
but it led us the following proposal:

1. Make the ProvisioningManager interface Camel independent
2. Implement a DefaultProvisioningManager that keeps intact the current
(hardcoded) functionality.
3. Move the camel based functionality into a separate
CamelProvisioningManager.
4. Move the CamelProvisioningManager and all camel related functionality
into a separate module (jar).

The intent is to:
a. Keep the syncope core simple and not cluttered with unnecessary
functionality.
b. Make the provisioning pluggable.
c. Keep the core unit testing simple and isolated
d. Keep the camel related functionality separate (and easier to unit test)

The same approach would go for roles as well. Thoughts?

Hi Hadrian,
I've taken a look at implementation at [1] and it seems very interesting.

I also think that your proposal of encapsulating the provisioning logic into a separate, overridable, ProvisioningManager seems very good. Having a separate, camel-enabled, module is also wise and could be taken as starting point for some more refactoring of the core (by extracting Activiti-related stuff, for example).

Hence, my +1 to your whole proposal.

Regards.

[1] https://github.com/Tirasa/SyncopeCamel

--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/

Reply via email to