Bug 21608 - Verbesserung der Infrastruktur für UDM-Module
Verbesserung der Infrastruktur für UDM-Module
Status: CLOSED DUPLICATE of bug 41580
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 3.0
Other Linux
: P5 enhancement (vote)
: ---
Assigned To: Florian Best
Philipp Hahn
http://wiki.univention.de/index.php?t...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-02-18 10:41 CET by Philipp Hahn
Modified: 2017-01-09 15:14 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Design
Max CVSS v3 score:


Attachments
Remove objectClass from object. (5.81 KB, text/plain)
2012-07-23 14:24 CEST, Philipp Hahn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2011-02-18 10:41:28 CET
Am UDM-Beispiel-Modul (Bug #17915) und auch an anderen Modules ist aufgefallen, daß die Handhabung von "UDM-Optionen" teilweise seht mühsam und fehleranfällig ist. Oft wirkt sich eine UDM-Option auf die LDAP-ObjectClasses aus, die in Objekt hat.

1. Wird eine UDM-Option deaktiviert, wird sehr häufig auch probiert, die ObjectClass zu entfernen. Das gelingt aber nur dann, wenn auch am Objekt alle Attribute entfernt werden, die NUR von dieser ObjectClass bereitgestellt werden. (Prinzipiell kann es mehrere Auxiliary-ObjectClasses geben, deren Attributmengen sich überschneiden.)
Etwaige LDAP-Modify-Operation zum Entfernen der dann nicht mehr erlaubten Attribute müssen derzeit immer selber per Hand implementiert werden.
Schöner wäre ein force_attribute_remove() und ein force_option_remove(), daß diese Funktionalität für alle Implementierungen zentral zur Verfügung stellt.

2. Beim öffnen eines Objekts, das bereits im LDAP existiert, implementieren viele Module eine Logik, die anhand der ObjectClasses die UDM-Optionen aktiviert. Auch das sollte nach Möglichkeit zentral implementiert sein.
Comment 1 Philipp Hahn univentionstaff 2012-07-23 14:24:57 CEST
Created attachment 4552 [details]
Remove objectClass from object.

Für einen Kunden ist ein Skript "univention-ldap-oc-drop" entstanden, daß es erlaubt, beliebige ObjectClasses inklusive der Attribute zu entfernen, die zwingend an die ObjectClass gebunden sind (d.h. es bleiben die Attribute bestehen, die durch die verbleibenden ObjectClasses weiterhin erlaubt sind.)

Das kann als Grundlage für den 1. Punkt dienen.
Comment 2 Florian Best univentionstaff 2016-07-26 16:21:17 CEST
(In reply to Philipp Hahn from comment #0)
> Am UDM-Beispiel-Modul (Bug #17915) und auch an anderen Modules ist
> aufgefallen, daß die Handhabung von "UDM-Optionen" teilweise seht mühsam und
> fehleranfällig ist. Oft wirkt sich eine UDM-Option auf die
> LDAP-ObjectClasses aus, die in Objekt hat.
> 
> 1. Wird eine UDM-Option deaktiviert, wird sehr häufig auch probiert, die
> ObjectClass zu entfernen. Das gelingt aber nur dann, wenn auch am Objekt
> alle Attribute entfernt werden, die NUR von dieser ObjectClass
> bereitgestellt werden. (Prinzipiell kann es mehrere Auxiliary-ObjectClasses
> geben, deren Attributmengen sich überschneiden.)
> Etwaige LDAP-Modify-Operation zum Entfernen der dann nicht mehr erlaubten
> Attribute müssen derzeit immer selber per Hand implementiert werden.
> Schöner wäre ein force_attribute_remove() und ein force_option_remove(), daß
> diese Funktionalität für alle Implementierungen zentral zur Verfügung stellt.
We currently don't have a force_attribute_remove/force_option_remove. But we have code which removes object classes which aren't required anymore.

> 2. Beim öffnen eines Objekts, das bereits im LDAP existiert, implementieren
> viele Module eine Logik, die anhand der ObjectClasses die UDM-Optionen
> aktiviert. Auch das sollte nach Möglichkeit zentral implementiert sein.
This is done in simpleLDAP.__init__() now.

*** This bug has been marked as a duplicate of bug 41580 ***
Comment 3 Florian Best univentionstaff 2017-01-09 15:14:26 CET
<http://errata.software-univention.de/ucs/4.1/208.html>