Bug 54708 - Kelvin plugin and derivates do not properly handle none values
Kelvin plugin and derivates do not properly handle none values
Status: NEW
Product: UCS@school
Classification: Unclassified
Component: ucsschool-id-connector
UCS@school 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS@school maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-05-03 15:23 CEST by Ole Schwiegert
Modified: 2022-05-11 12:31 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 4: Minor Usability: Impairs usability in secondary scenarios
Who will be affected by this bug?: 2: Will only affect a 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.091
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2022050321000557
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 Ole Schwiegert univentionstaff 2022-05-03 15:23:53 CEST
The ID Connector lets plugins decide how to handle None values in the changed data that is to be synced.

The Kelvin plugin handles none values like this:

    def _handle_none_value(self, key_here: str) -> Any:
        """`none` can be invalid, for example if a list is expected."""
        if key_here in ("birthday", "userexpiry"):
            return None
        raise SkipAttribute()

Meaning: birthday and userexpiry are synced with None as values, all others are skipped and not transmitted to target API.

The Kelvin plugin needs proper support for nullable school values as well as mapped udm properties!

We should just transmit all None values of udm properties that are incoming. For that we could check if a value is a school value (KELVIN_API_SCHOOL_ATTRIBUTES) or not.
Comment 1 Anne Hanekop univentionstaff 2022-05-03 16:28:45 CEST
Added additional information and set Waiting Support together with Dirk Schnick.