[midPoint] DatabaseTable Multi-Value Fields

Carlos Ferreira carlos18619 at gmail.com
Sun Oct 9 01:54:27 CEST 2016


Hi,

Even when using SCRIPTEDSQL, following the instructions already posted in
the list, the result was the same (as shown by the last message I wrote).

In my opinion, what goes through the connector is not enough to customize
the groovy script so as to accomplish what I mean.

Am I wrong?


Carlos A. Ferreira

2016-10-08 10:29 GMT-03:00 Radovan Semancik <radovan.semancik at evolveum.com>:

> Hi,
>
> Once again, the DatabaseTable connector is a Sun legacy. As far as I know
> it does not support multivalue fields. But this time there are also deeper
> reasons. Multiple-value properties are typically stored in multiple tables.
> This is how relational data models usually work. It is not that easy to
> discover these tables from the tables definitions. The original connector
> was not built to do this. As most Sun connectors it is not using the schema
> very well. That is one of the reasons that we want to rewrite this
> connector. The ConnId framework evolved during the last 5 years after the
> fork from Sun Identity Connector Framework. But the old Sun connectors
> haven't. And that made these connectors quite obsolete. We have already
> rewritten LDAP connector from scratch. We are currently working on new
> CSVFile connector. But there is no funding for rewriting the DB table
> connector yet.
>
> I would suggest to use either Scripted SQL connector or to develop your
> own custom connector. It is not that difficult. The guide is here:
> https://wiki.evolveum.com/display/midPoint/Connector+Development+Guide
>
> --
> Radovan Semancik
> Software Architectevolveum.com
>
>
>
> On 10/07/2016 08:40 PM, Martin Marchese wrote:
>
> Hi All,
>
> Within our MidPoint implementation we have a DatabaseTable resource in
> order to create Users in MidPoint from a DB table.
>
> We have also, another table where we store User IDs (FK to the 1st table)
> and a multivalue attribute (say employeeType). So we'll have N records per
> user in this table (PK is formed by the 2 columns userid and employeeType)
> e.g.
>
> User1,Type1
> User1,Tyep2
> User2,Type1
> User2,Type2
> User2,Type3
> User3,Type3
>
> For this last table, we have another DatabaseTable resource and we are
> trying to achieve the following behavior:
>
> - Users are created in MidPoint from the 1st DB table, using the first
> resource.
> - EmployeeType attribute values are added to the user only, if it is
> already created, from the 2nd DB table, using the second resource. And also
> removing the employeeType values as they are removed from the 2nd table.
>
> So far we are able to create the users from the 1st table but as far as it
> concerns the employeeType addition, we are being able to set only one value
> (the last one the connector sees).
> As we could see in the traces, every time the connector reads a new line
> for a user, adds the new employeeType value but removes the previous one.
>
> We were wondering if this is the correct approach for our needs or if we
> are missing something.
>
> Thanks in advance
>
> *Ing. Martín Marchese*
> Identicum S.A.
> Jorge Newbery 3226
> Tel: +54 (11) 4552-3050
> mmarchese at identicum.com
> www.identicum.com
>
>
> _______________________________________________
> midPoint mailing listmidPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20161008/95e49135/attachment.htm>


More information about the midPoint mailing list