Il giorno 24/set/2012, alle ore 12.35, Francesco Chicchiriccò ha scritto:
> On 24/09/2012 12:21, Colm O hEigeartaigh wrote: >> Hi all, >> >> Here are some more questions I have about propagation/synchronization (all >> using 1.1.0-SNAPSHOT) >> >> 1) I have a H2 backend that I can propagate and synchronize successfully >> to/from in Syncope. However, when I create a new user in Syncope and >> propagate to the backend, the password shows up as "null" in the table, even >> though my Resource has a mapping for the password. Is this expected or is >> there something obviously wrong I'm doing here? > > Which cipher algorithm did you configure for your Database Table Connector? > [1] Which version of the Database Table Connector are you using? Hi Colm, please be sure to specify the password column into the connector configuration instance. Regards,. F. >> 2) What is the expected behaviour when the primary key / username of a user >> changes in the backend? For my Apache DS backend, nothing happens in >> Syncope. For my H2 backend, a new user appears with the changed username in >> Syncope, but the old username remains in the user list. > > When you manually change some field - mapped as 'AccountId' in Syncope - on > an external resource, Syncope does not have anymore an handle to understand > that the remote user object is linked to an internal user. > H2 behavior looks normal the but ApacheDS' does not sound: have you tried to > look at connid log during the further synchronization from ApacheDS? > >> 3) What is the expected behaviour when importing a user from multiple >> resources? So let's say I import a user from a ldap backend, and now I want >> to import a user with the same name from an sql backend. Is there any way to >> "merge" the two backends into a single Syncope user? > > Provided that "importing" == "synchronizing with full reconciliation", you > must be sure first of all to flag 'Update matched identities' in the > Synchronization task definition. Generally speaking, the match between an > external user object during synchronization and an internal Syncope user is > done through the 'AccountId' schema mapping of the synchronizing external > resource. > If you want to implement any custom matching, you need to provide your own > "Actions class" [2]'s beforeUpdate() implementation. > > Regards. > > [1] http://code.google.com/p/connid/wiki/DatabaseTable > [2] > https://cwiki.apache.org/confluence/display/SYNCOPE/SynchronizationActionsClass > > -- > Francesco Chicchiriccò > > ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member > http://people.apache.org/~ilgrosso/ >
