On 12/07/24 16:32, Feder, Stephan wrote:
Hello Lorenzo!
On Fri, Jul 12, 2024 at 03:13:42PM +0200, Lorenzo Di Cola wrote:
...
another thing, what I can see from your issue is also some "no standard"
use case with Syncope.
What I want to say trying to solve your issue is: are you sure that how the
design is made is the right approach to implement your real use case?
You should try to explain what you're trying to implement in order to see
if it can be developed in some "standard" Syncope way more easier than this
one.
You are correct in that my use case is a bit special:
Users cannot self-register, they are not created manually at all. Instead,
external processes provide data sets which are modelled as anyObjects in
syncope. Each data-set is linked to one user, and every user is linked to
arbitrarily many data-sets. Each data-set provides specific information for how
to link, and if there is no matching user yet, it has to be created.
That is the problem I am trying to solve.
Hi Stephan,
is it correct to assume that, anytime a data-set gets created, it might or
might not trigger the creation of a linked user?
If so, you might extend the AnyObject provisioning manager [1], by:
1. providing a reference to user's provisioning manager
2. override the create() method so that, once the any object create is
complete, in case no matching user is found, the user provisioning manager's
create() is triggered (and the payload contains a relationship between the user
being created and the any object just created)
The advantage of such approach is that there is less customization around, and
also processes remain separated.
WDYT?
Regards.
[1]
https://github.com/apache/syncope/blob/syncope-3.0.7/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/