Add support for managing plugins into the mapped objects. Examples are provided on how we can manage complex plugins, and have the ORM types able to effectively return them during get/list operations to the correct objects.
attachment 0001-Ticket-48911-Improve-plugin-support-based-on-new-map.patch
Relies on #48910
Thanks, William! Very good and useful patch! Looks good to me.
commit 2ef056e217dc076496d081e97a0a879dff98c918 Writing objects: 100% (26/26), 6.25 KiB | 0 bytes/s, done. Total 26 (delta 22), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/lib389.git bc5428a..2ef056e master -> master
Patch 2 with more fixes 0001-Ticket-48911-Plugin-improvements-for-lib389.patch
ack, but we should add common/global plugin tasks to the Plugin class:
- dependency getting/setting/checking - get/set plugin type - get/set Shared Config (SLAPI_PLUGIN_SHARED_CONFIG_AREA) - get/set attribute --> for generic/unknown plugins - nsslapd-pluginArg# support --> this is being phased out, but it's still commonly used
These should be pretty simple to add.
Replying to [comment:5 mreynolds]:
ack, but we should add common/global plugin tasks to the Plugin class: - dependency getting/setting/checking
- dependency getting/setting/checking
This would be only on the "advanced" plugin types IE Attribute Uniqueness, rather than the generic. But won't be hard to add.
- get/set plugin type - get/set Shared Config (SLAPI_PLUGIN_SHARED_CONFIG_AREA) - get/set attribute --> for generic/unknown plugins
Already there as a function of deriving DSLdapObject
- nsslapd-pluginArg# support --> this is being phased out, but it's still commonly used
If we are phasing it out, let's leave it out. We are the major consumer of lib389 now, so let's use it the "right way".
If we were to add support, I would want it to be to migrate pluginarg -> named config only.
commit c6aedf9bde75e945143d098b49f0d44ee0691860 Writing objects: 100% (6/6), 1.08 KiB | 0 bytes/s, done. Total 6 (delta 5), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/lib389.git 2ef056e..c6aedf9 master -> master
Hi William,
Instead of 'status' method, why not calling is 'enabled' as it returns the boolean value of nsslapd-pluginenabled==on ? otherwise it looks good to me.
I prefer to keep the function names separate in a linguistic sense. It's easy to mistype
{{{ enabled enable }}}
As well, at a glace, it is hard to see a difference.
So were I to change thing, it would be to something like "enabled_status", or something which is far more unique to the word.
Does that make sense?
I understand the point. The fix looks good to me. Ack
Metadata Update from @firstyear: - Issue assigned to firstyear - Issue set to the milestone: lib389 1.0.3
I've implemented a lot of stub classes now, and at this point, each plugin needs individual attention to improve it. I think I can close this and we work on issues as they arise.
Metadata Update from @firstyear: - Custom field reviewstatus adjusted to new - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Metadata Update from @mreynolds: - Custom field reviewstatus adjusted to None (was: new) - Issue set to the milestone: None (was: lib389 1.0.3)
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/1970
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: fixed)
Login to comment on this ticket.