Currently we cannot rely on univentionObjectType, for example if an LDAP object was created externally. Back then it was only implemented for performance improvements. The wish is that we can rely on the attribute, e.g. for search filters. The idea is that there is a diagnostic module that finds the objects and adds the univentionObjectType with a button 'Fix Problem'.
(Btw: A listener module could do this "live".) The question is mainly what the criteria are, for an LDAP object to be considered of a certain univentionObjectType.
I don't think we should change this. Why do you want to rely on univentionObjectType. This is currently forbidden. If you want to identify an object then you have to use the filter defined by that object type. I think UDM should work without the univentionObjectType attribute. Maybe one day we even can get rid of it completely.
*** This bug has been marked as a duplicate of bug 47844 ***
Yes duplicate. (In reply to Florian Best from comment #2) > I don't think we should change this. Why do you want to rely on > univentionObjectType. This is not for UDM, but rather for 3rd parties that want a convenient and reliable LDAP filter.
It's also *much* faster than complex filters, like the one for users/user.
(In reply to Stefan Gohmann from Bug #38075 comment #2) > univentionObjectType is only for performance optimization. This is the reason for my opinion back then: (In reply to Florian Best from comment #2) > I don't think we should change this. Why do you want to rely on > univentionObjectType. This is currently forbidden. If you want to identify > an object then you have to use the filter defined by that object type. I > think UDM should work without the univentionObjectType attribute. Maybe one > day we even can get rid of it completely. But I think the situation changed. We should make univentionObjectType a MUST attribute in the schema. There are still so many systems not having it set. But new developers tend to think they can just use it. The diagnostic module from Bug #47844 helps, but doesn't find all entries. The only object where it's ensured to have it is users/user.