Thanks for the module! It implements the the todo list that I had planned for the Domain Administration Helper module :)
I think since these two modules have complementary functionality, we could combine these two modules to create a really great admin delegation suite!
One thing - to really granularize the permissions, I would split the 'administer own domain' permission into
'administer own domain settings'
'administer own domain configuration'
'administer own domain theme' (there are definitely use cases where people would want one and not the other)
Similarly, the the Domain Administration Helper module has lots of granular sub-permissions.
I think you have the better name :) so we can put the project here if you want. Let me know if this is a good idea and I can work up a patch that includes both our modules.
Comments
Comment #1
ergonlogicHello, nirbhasa.
I'm certainly open to the idea. Let me review your module to ensure it's a good fit.
Note that the way I've implemented the permissions is perhaps a little unusual, though it accomplishes the same as you suggest. The difference being that 'administer domains'/'administer own domains' determines the scope of the permission, whereas the 'administer domain settings', etc. determine the access to the individual tasks. Admittedly, your suggestion is probably clearer, but then it also entails twice the number of permissions. I'll give it some further thought.
Regards, C
Comment #2
nirbhasa commentedYes - and I also have a whole bunch of permissions in Domain Admin Helper :) There are usecases for more granular control, but also use cases where you just want to give your editors total domain rights and not want to bother with a whole bunch of checkboxes
Heres a suggestion thats easy to do - create a radio field in the Domain settings page that goes something like
- Create one 'administer own domain' permission
- Create multiple permissions to handle different domain administration tasks
This basically influences the permissions in hook_perm (we also may need to clear any existing domain_admin permissions).
Then for permissions we call a domain_admin_content_access($perm) function that says
Comment #3
brt commentedHi,
thanks for this module, it solves a major problem for me.
What I would like it to be (for a start):
Delegate the following permissions to domain-administrators:
- domain settings
- theme
- content
- users
- blocks
- taxonomy?
Provide intuitive navigation for these features
- maybe an admin-block, like "Domain Administration Helper" seems to have, or something equivalent that only shows up when you have "administer domain" rights. I would prefer standard functionality like "create content" to not be part of this navigation.
I'm testing this and will provide feedback soon.
Comment #4
ergonlogic@nirbhasa: Having reviewed your code and documentation, I'd be happy to join forces. I've granted you CVS access, which I believe is all that's required on my part to make you co-maintainer. If not, let me know. Also, I think your suggestion about more granular permissions is sound. Perhaps we can discuss (on IRC or something) our respective visions and TODOs, so as to avoid conflict and duplication.
@brt: Thanks for the suggestions and feedback. Keep 'em coming. I would, however, recommend creating a separate issue next time.
Comment #5
nirbhasa commentedThanks ergonlogic! Youre right, thats all thats required.
Ill keep an eye out for you on IRC, or you can send me a mail. I don't have enormous TODO plans (one or 2 ideas, perhaps :) ) so im happy to hear any ideas you had. I think the main thing is to get the merged module up and working.
Heres a suggestion - how about I commit a merged module to HEAD, then we can test it and if we're happy we can then tag a release
Comment #6
ergonlogicSounds like a plan, nirbhasa!
My principal TODO, at this point, is fixing a bug: #789670: Adding permissions causes bug in domain_view() that's been hanging around for awhile. I'd also like to #789698: Add ability to choose which themes are available to domain admins.
Down the road, I'd like to look for opportunities to integrate with Aegir and Registrar_API (this last for which I am also co-maintainer, BTW.)
Comment #7
nirbhasa commentedJust a quick note to say i havent forgotten this - I have a basic merge working locally and hope to commit something in the next week
Comment #8
nirbhasa commentedOk - a basic merge is now in HEAD. I have tested it and it seems pretty good so far, but I havent tagged it. I'll be putting it on a production site this week, so lots of non-technical domain users will have the chance to post issues.
So far:
Comment #9
nirbhasa commentedForgot to set status :)
Comment #10
ergonlogicThanks nirbhasa! From a quick look at the code, this looks great! I'll test it out over the next couple days, and provide feedback. Assuming all goes well, I think a new release will be in order.
So, does the current code require said patch, or is that still in your private dev version? I'd prefer not to have any dependencies on patches to other modules, but we could create a new branch for experimenting with such "advanced" features.
Comment #11
ergonlogicfixing version
Comment #12
nirbhasa commentedThat Book Page Access code requires the aforementioned patch. If they don't commit the patch soon, im entirely ok with stripping the integration code out. I can probably implement the integration i need in a custom module. Ill wait until the weekend, and if nothing happens, then I'll wield my scalpel :)
Comment #13
ergonlogicApart from a couple minor bugs, this appears to work as advertised. I've created a new release to mark the occasion.
Comment #14
nirbhasa commentedGreat stuff! I changed module page to reflect new functionality (please feel free to change), and am working on adding a README file
Comment #15
nirbhasa commentedAnother thing - could I say at the end of the module page Module developed by Ergon Logic Enterprises and Vasudeva Server? A few people on our team worked on the Domain Admin Helper module, so I'd like to give some credit where credit is due :)
Comment #16
nirbhasa commentedOk - added README to HEAD and updated link to documentation on domain homepage.
Comment #17
ergonlogicSure, great suggestions.
Comment #18
nirbhasa commented