So many questions come up when reading your reply. I also done some troubleshooting.
1. Not a question, but a observation: set debug=true, still not helpful 2. Still open question from my last post, do I need the "change type modify, add: attributeTypes, add: objectClasses" inside my schema, is it doing something or should I remove it again? Side note: About your reply, I'm not a python dev and I absolutely don't know the application so best preconditions to probably do every mistake possible. Nevertheless, according to "instead of that, simply use add_missing_object_class()", the one you are talking about is a class, my plugins are not, different structure, so I can't say what's here important/ needed. 3. you mentioned my "usermod_precallback" function, what about the "useradd_precallback" above, there is an append too, should this be refactored as well with "add_missing_object_class"? 4. Speaking of "add_missing_object_class(ldap, u'ipacertmapobject', dn)" what's the u'... before the objectClass doing, meaning? 5. And what about the statements after the first useradd and second usermod callbacks: "user.user_add.register_pre_callback(useradd_precallback)" and "user.user_mod.register_pre_callback(usermod_precallback)", do they stay, after your proposed refactoring or do they have to be removed? Another observation: I've setup a VM where I installed freeIPA, so I don't have to deal with the read-only container and images. I started to create the files one by one. So created "postfixbook.js", "mailenabled.js" and "mailenabled.py", strangely no error, I could create a user, I could click on the Mail enabled checkbox and save successfully. Ldapsearch showed even that it was correctly set for that user. The only issue so far, the checkbox in the UI is always unchecked, so entering a user with checked mail enabled, when I check it, I can't save, FreeIpa sees that nothing has changed, then when I uncheck, now I can save. So simply on entering the details view, this checkbox element isn't set according to the stored value, it's simply always unchecked. This was done with the "old" unguarded appends, so it seems, this is working. I then added the second file pairs "mailalias.js" and "mailalias.py". Now I had this weird behaviour, couldn't create user anymore, couldn't save the mail alias. I then discovered that "mailenabled.py" had "entry["objectclass"].append("postfixbookmailaccount")" whereas "mailalias.py" had "entry["objectclass"].append("postfixbookMailaccount")" with a capital "M". BTW the same typo was in "mailsieverulesource". So how should I know when to use lowercase or camelCase? For example in the pdf: https://www.freeipa.org/images/5/5b/FreeIPA33-extending-freeipa.pdf "objectclasses" is sometimes written lowercased and sometimes camelCased "objectClasses". When I look into my schema, the objectClasses name is even written as "PostfixBookMailAccount". In the schema one attributeType is written as "mailEnabled", in the "mailenabled.js" and "mailenabled.py" files everywhere is "mailenabled" lowercased. In your (abbra freeIpa user status) repo the same with "inetuserstatus" in the .py and .js files whereas "inetUserStatus" in the schema. So I'm totally confused when to use what, it feels totally wrong, feels like a big mess. _______________________________________________ FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org To unsubscribe send an email to freeipa-users-le...@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/freeipa-users@lists.fedorahosted.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure