We are currently on 3400.11.0. We use the SIS framework. I periodically run a series of queries against the DDA to validate my SIS data (e.g. ensure that everyone has the correct DSK, are owned by the correct integrations, etc).
In my experience, when a REFRESH (or a STORE with an explicit ROW_STATUS of disabled) is run, the integration drops ownership of the record. When validating my data, I see that this is true of our record types for Course and Course Membership. However when I run validation on my Person records I am seeing 32,000+ records which are all disabled, but are still owned by a specific integration. This seems to have started since moving into SaaS, but it may just be a coincidence.
My questions are:
- Is my typical experience of integrations dropping ownership of disabled records still accurate?
- Is anyone else experiencing this?
- Any idea on how to "remove" these records from being owned by their integration?
This is my query in case anyone wants to run it as well:
SELECT DATA_INTGR_ID_MAPPING.PK1, DATA_INTGR_ID_MAPPING.LEARN_OBJECT_TYPE, DATA_INTGR_ID_MAPPING.SIS_OBJECT_TYPE, DATA_INTGR_ID_MAPPING.BATCH_UID, DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1, DATA_INTGR.NAME, USERS.BATCH_UID||'|'||USERS.USER_ID||'|'||USERS.FIRSTNAME||'|'||USERS.LASTNAME||'|'||USERS.EMAIL||'|'||INSTITUTION_ROLES.ROLE_ID||'|'||USERS.BATCH_UID||'|'||CASE CAST(USERS.ROW_STATUS AS TEXT) WHEN '2' THEN 'disabled' WHEN '0' THEN 'enabled' ELSE CAST(USERS.ROW_STATUS AS TEXT) END||'|'||CAST(DATA_SOURCE.BATCH_UID AS TEXT)||'|'||CAST(DATA_SOURCE.BATCH_UID AS TEXT) AS sis_integration FROM USERS LEFT OUTER JOIN DATA_INTGR_ID_MAPPING ON USERS.BATCH_UID = DATA_INTGR_ID_MAPPING.BATCH_UID LEFT OUTER JOIN DATA_INTGR ON DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1 = DATA_INTGR.PK1 LEFT OUTER JOIN DATA_SOURCE ON USERS.DATA_SRC_PK1 = DATA_SOURCE.PK1 LEFT OUTER JOIN INSTITUTION_ROLES ON USERS.INSTITUTION_ROLES_PK1 = INSTITUTION_ROLES.PK1 WHERE DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1 NOT IN (68) AND USERS.DATA_SRC_PK1 NOT IN (2) ORDER BY sis_integration
DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1 of 68 is the PK1 for our "normal" SIS Users integration job. USERS.DATA_SRC_PK1 of 2 is the PK1 for the SYSTEM DSK. Basically, this looks for non-GUI-generated users who are not owned by the normal SIS integration. The 32,000+ results being found are all for a "Record Changes" integration which I use specifically for DSK and ROW_STATUS changes. These users were all moved to a different DSK and then disabled. But the "Record Changes" integration still "owns" these records.
I never run REFRESH jobs using "Record Changes" and they are all already disabled so I am not worried about accidentally disabling someone, but it is annoying because it is going against the expected results of my data validation queries.
If anyone has any insight, I am all ears.
Thanks in advance!