Hi,
The issue SYNCOPE-1944 report fixing derived attribute management for
memberships in 4.0.4 version.
My test with version 4.0.4-SNAPSHOT won't validate the fix.
- the derived attribute [1]
- the usage of the derived attribute in resource admin2 [2]
- the log [4] of the creation of an account adm-toto with appAdmin2's membership
- the user adm-toto after the propagation [3]
[1] {
"_class": "org.apache.syncope.common.lib.to.DerSchemaTO",
"key": "accountName",
"expression": "'adm-'+personId" // personId come from USER
}
[2] {
"intAttrName": "groups[appAdmin2].accountName",
"extAttrName": "login",
"connObjectKey": false,
"password": false,
"mandatoryCondition": "false",
"purpose": "PROPAGATION",
"propagationJEXLTransformer": null,
"pullJEXLTransformer": null,
"transformers": []
},
[3] {
"_class": "org.apache.syncope.common.lib.to.UserTO",
"key": "019c068c-ba88-727d-8182-4e36314e3085",
"type": "USER",
"realm": "/",
"username": "adm-toto",
.....
"status": "active",
"auxClasses": [],
"plainAttrs": [
{
"schema": "nom",
"values": [
"TO"
]
},
{
"schema": "personId",
"values": [
"toto"
]
},
{
"schema": "prenom",
"values": [
"to"
]
}
],
"derAttrs": [],
"resources": [
"admin2"
],
.....
"memberships": [
{
"groupKey": "019c068c-2644-76db-b110-6f31bec3c2d9",
"groupName": "appAdmin2",
"plainAttrs": [
{
"schema": "appName",
"values": [
"appli2"
]
},
{
"schema": "login",
"values": [
"usr-tonton"
]
},
{
"schema": "projects",
"values": [
"pj1",
"pj2"
]
}
],
"derAttrs": [
{
"schema": "accountName",
"values": [
"adm-"
]
}
]
}
],
....
}
[4] 2026-01-28 21:41:39.838 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Create
script loaded Method: init
2026-01-28 21:41:39.911 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Update
script loaded Method: init
2026-01-28 21:41:39.955 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Delete
script loaded Method: init
2026-01-28 21:41:40.072 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Search
script loaded Method: init
2026-01-28 21:41:40.167 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Sync
script loaded Method: init
2026-01-28 21:41:40.281 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Schema
script loaded Method: init
2026-01-28 21:41:40.316 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Test
script loaded Method: init
2026-01-28 21:41:40.317 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
Connector net.tirasa.connid.bundles.rest.RESTConnector successfully
inited Method: init
2026-01-28 21:41:40.317 DEBUG [eExecutor-5]
org.identityconnectors.framework.spi.operations.CreateOp :
instance='RestAdmin2' Enter: create(ObjectClass: __ACCOUNT__,
[Attribute: {Name=projects, Value=[pj1, pj2]}, Attribute:
{Name=appName, Value=[appli2]}, Attribute: {Name=login, Value=[adm-]},
Attribute: {Name=__NAME__,
Value=[019c068c-ba88-727d-8182-4e36314e3085]}], OperationOptions: {})
Method: create
2026-01-28 21:41:40.317 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Object
class: __ACCOUNT__ Method: create
2026-01-28 21:41:40.324 INFO [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
Entering CREATE Script Method: invoke
2026-01-28 21:41:40.350 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Sending
POST to http://admins2:48080/admins/adda with payload
{"login":"adm-","key":"019c068c-ba88-727d-8182-4e36314e3085","appName":"appli2","projects":["pj1","pj2"]}
Method: invoke
2026-01-28 21:41:40.372 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Create
response: 200 {Content-Length=[147], content-type=[application/json],
date=[Wed, 28 Jan 2026 21:41:40 GMT], Content-Type=[application/json]}
Method: invoke
2026-01-28 21:41:40.374 DEBUG [eExecutor-5]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
019c068c-ba88-727d-8182-4e36314e3085 created Method: create
2026-01-28 21:41:40.375 DEBUG [eExecutor-5]
org.identityconnectors.framework.spi.operations.CreateOp :
instance='RestAdmin2' Return: Attribute: {Name=__UID__,
Value=[019c068c-ba88-727d-8182-4e36314e3085]} Method: create
2026-01-28 21:41:40.376 DEBUG [eExecutor-5]
org.identityconnectors.framework.api.operations.CreateApiOp : Return:
Attribute: {Name=__UID__,
Value=[019c068c-ba88-727d-8182-4e36314e3085]}M