Bug 49760 - appcenter IDM notifications (Push) missing "old" data
appcenter IDM notifications (Push) missing "old" data
Status: REOPENED
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.4
Other Linux
: P5 normal (vote)
: ---
Assigned To: App Center maintainers
Daniel Tröder
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2019-06-28 15:51 CEST by Daniel Tröder
Modified: 2020-11-16 10:18 CET (History)
5 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.057
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Tröder univentionstaff 2019-06-28 15:51:59 CEST
When a user is deleted from LDAP, the apps listener script dumps a JSON file into the container that does not contain the data from the "old" dictionary. It has only:

{
    "dn": "uid=un2,cn=users,dc=uni,dc=dtr", 
    "id": "4d1ce39c-2df0-1039-903f-23c4e2dbff04", 
    "object": null, 
    "options": null, 
    "udm_object_type": "users/user"
}

There are scenarios where that is not enough. For example if the ID of/in a foreign system is stored in the user object, connecting to it won't be possible, because the data is missing in the JSON file.
Comment 2 Felix Botner univentionstaff 2019-07-22 12:29:36 CEST
The id of the object is  

"id": "4d1ce39c-2df0-1039-903f-23c4e2dbff04", 

please store this on the foreign system, to identify deleted objects.

We omitted "old data" on purpose.
Comment 3 Daniel Tröder univentionstaff 2019-07-22 13:43:36 CEST
Yes, doing it.
If you want, you can close this with wontfix.
Comment 4 Daniel Tröder univentionstaff 2020-09-29 09:50:18 CEST
For various apps it has become a necessity to keep various other data (not just the ID) of the previous state of an LDAP object in a database, because the 'old' data is not passed.

This is an unnecessary burden for the app development and produces a duplication of code in each app (loading and storing data in a database).

For example, the ucsschool-id-connector app requires:
* for its group "listener":
    users: List[str]
* for its user "listener":
    schools: List[str]
    record_uid: str
    source_uid: str
Comment 5 Daniel Tröder univentionstaff 2020-09-29 09:51:37 CEST
That data is not (only) required for the "delete" operation, but more often for the "modify" and "move" operations.