Marco thanks!
I have 2 tasks to syncronize users data from different tables (both tables
share userid)
Task 1 use db.table connector with properties UPDATE,ASSIGN so new users
are added/modified. This is working.
Task 2 use sriptedSql connector and has properties UPDATE/IGNORE since all
records are supposed to match thats why no unmatchig action is taken. The
second table is also assigned to users.
So there are 2 tables assigned to users to syncronize different data.
The scripted connector has ONE_PHASE_UPDATE capability as well as sync and
search capabilities.
When I run this task my guess is that since there is a matching record it
should be updated. In fact associating an action class shows it is entering
beforeupdate() method.
Results are that no updates occur and only search script is activated. From
core-connid.log INFO Entering SEARCH Script Method: run is the only
meesage. Every script (See log output below)
Since search occurs for every record to be updated the process it is
reading hole table for each record.
Regards
13:36:06.204 DEBUG Search values into menu
13:36:06.204 DEBUG Perform connection to menu
13:36:06.209 DEBUG Enter: getObject(ObjectClass: __ACCOUNT__, Attribute:
{Name=__UID__, Value=[73]}, OperationOptions:
{ATTRS_TO_GET:[__UID__,menu,__NAME__,__ENABLE__]}) Method: getObject
13:36:06.212 DEBUG ObjectClass: __ACCOUNT__ Method:
createFilterTranslator
13:36:06.213 DEBUG ObjectClass: __ACCOUNT__ Method: executeQuery
13:36:06.215 INFO Entering SEARCH Script Method: run
13:36:06.306 DEBUG Search ok Method: executeQuery
13:36:06.307 DEBUG ConnectorObject is built Method: processResults
(lots of these)
13:36:06.400 DEBUG ConnectorObject is built Method: processResults
13:36:06.401 DEBUG ConnectorObject is built Method: processResults
13:36:06.403 DEBUG Return: {Name=Attribute: {Name=__NAME__, Value=[73]},
Attributes=[Attribute: {Name=menu, Value=[]}, Attribute: {Name=__UID__,
Value=[73]}, Attribute: {Name=__NAME__, Value=[73]}, Attribute:
{Name=__ENABLE__, Value=[true]}], ObjectClass=ObjectClass: __ACCOUNT__,
Uid=Attribute: {Name=__UID__, Value=[73]}} Method: getObject
13:36:06.403 DEBUG Retrieved values []
13:36:07.408 DEBUG Retrieve values for virtual attribute menu
(UserVirtualSchema)
13:36:07.408 DEBUG Values found in cache
org.apache.syncope.core.cache.VirAttrCacheValue@2dfc7b8
13:36:07.803 DEBUG Retrieve values for virtual attribute nombre
(UserVirtualSchema)
2015-03-12 5:59 GMT-03:00 Marco Di Sabatino Di Diodoro <
[email protected]>:
> Hi Manfredo,
>
> Il 11/03/2015 21:45, Manfredo Hopp ha scritto:
>
> Hello, from docs:
>
> Implementation of custom Groovy SQL scripts
>
> Every action script receives a set of parameters and an attribute map. The
> set of parameters varies for each action.
>
> - CreateScript.groovy
>
> <https://cwiki.apache.org/confluence/download/attachments/30754125/CreateScript.groovy?version=1&modificationDate=1361178783000&api=v2>
>
> CreateScript run if the SearchScript doesn't find the object on the
> resource.
>
>
> - UpdateScript.groovy
>
> <https://cwiki.apache.org/confluence/download/attachments/30754125/UpdateScript.groovy?version=1&modificationDate=1361178815000&api=v2>
>
> UpdateScript run if the SearchScript find the object on the resource.
>
>
> - DeleteScript.groovy
>
> <https://cwiki.apache.org/confluence/download/attachments/30754125/DeleteScript.groovy?version=1&modificationDate=1361178836000&api=v2>
>
> Delete an object.
>
>
> - SearchScript.groovy
>
> <https://cwiki.apache.org/confluence/download/attachments/30754125/SearchScript.groovy?version=1&modificationDate=1361178856000&api=v2>
>
> SearchScript run before and after all privisioning operation, search
> operation and full reconciliation.
>
>
> - SyncScript.groovy
>
> <https://cwiki.apache.org/confluence/download/attachments/30754125/SyncScript.groovy?version=1&modificationDate=1361178914000&api=v2>
>
> SyncScript take only the changes on the resource (incremental
> synchronization)
>
>
> -
>
>
> Question: When and how does each script run (i.e update script).
>
>
> When using scripted resource for an update Task, only search script is
> activated.
>
> I suggest you to check in the Connector configuration if the update
> capability is enabled (ONE_PHASE_UPDATE) and if your updateScript has no
> errors (core-connid.log). In addition, in the resource configuration tab
> check the propagation mode (set ONE_PHASE).
>
> Moreover, the update takes place only if there are changes on the
> attributes present in the mapping of the resource.
>
> Regards
> M
>
>
> Syncope version 1.2.2 sricptedSQL version 2.1.1
>
>
> Regards
>
>
>
>
>
>
>
>
>
>
>
>
> --
> Dott. Marco Di Sabatino Di Diodoro
> Tel. +39 3939065570
>
> Tirasa S.r.l.
> Viale D'Annunzio 267 - 65127 Pescara
> Tel +39 0859116307 / FAX +39 0859111173http://www.tirasa.net
>
> Apache Syncope PMC Memberhttp://people.apache.org/~mdisabatino/
>
>