After trying to work with OG to get it the way I need it, I just thought that adding a few permissions for subscriptions managing would be helpful.
At the moment, drupal's basic permissions allow for creating and editing of groups, but lacks permissions on the subscription end.
I think adding a few permissions would help with who can subscribe and stay subscribed.
My permission ideas would be:
1. A "join organic groups" permission (basically adding OG Join Role into OG core). I personally like my idea below, but I could use this. I realize that I could simply use OG Join Role, but I think people feel better when this functionality is within core and will be maintained in the future.
2. A more fine grained method instead of above, would be to add permissions based on how many group home pages are selected. If I create "group" and "course" content types, then select them both as group home pages, two permissions should be added to access control. They would be called "subscribe to group" and "subscribe to course". This way you can create two sets of groups for your site, say a "generic" and "premium" groups. Just think of the added functionality!
3. This takes care of subscriptions to get into the group, but lacks any revoking of rights after subscription. One method I thought of was an "enforce role" permission or option within Drupal ACL or OG. A simple option:
Enforce role to use OG?:
Yes | No
Roles checkboxes (anon, auth, moderator, etc....)
If a user is in in the correct role(s) they can use OG, but if an admin removes the role from the user, it should force the to unsubscribe from all groups.
I think these options added to core, would tremendously add to the value of OG. I hope that a lot of other OG users would like this functionality. I know I would.
In an effort to convince the maintainers of OG to implement this, maybe we can discuss funding for adding these options (options 2 and 3 above). I would be willing to donate my time testing this and reporting bugs and errors and if funding as appropriate or agreed upon, donate some money to the cause.
Comments
Comment #1
moshe weitzman commentedThis is a nice specification. Thanks.
Yes, some sponsorship would certainly help me get to this. Otherwise, anyone is welcome to take specmav's offer and produce a helper module for OG that I would add to the OG project itself once it is ready.
Comment #2
bsherwood commentedIf I had the ability to code, I would do it. But alas, I can't.
Moshe,
Thanks for your appreciation of my idea, I really do think this would add a lot of functionality to OG and hopefully be useful to a lot of users. I also think this should be in core as opposed to a "helper module". At least an "official add-on" would work. Basically as long as the core team is supporting this, I am all for it.
What amount of sponsorship would you require to implement this within say the next version or two (5.x and 6.x)? How many hours of coding would someone have to do in order to get this functionality (into core)? Basically I am just seeing how much time and effort it would take to start funding this.
Could you offer some infomation about how much time, effort and money it would be required on your end to start this? Basically I am asking for a dollar amount so I can help the funding process.
Please note, that I will aggressively try and get funding for you, if you are serious about implementing this idea.
Comment #3
bsherwood commented*bump*
Would anyone else like to see this functionality in OG?
Comment #4
bsherwood commentedMan, I wish I could code this, but alas not at my skill level.
Could this be added into the 6.x port?
I actually have one more idea similar to the permissions theme of this issue.
Allow admins to set a global max subscribers for a group home page. So if I follow the first example: two content types as group home pages (group and course), allow admins to set a "hard" limit on the amount of subscribers. Then allow group owners to limit it even further per their owned groups.
Admin sets hard limit to 10 subscibers, group admin sets to 12, return error. Group admin sets to 7, max subscribers is 7.
What do you think?
Comment #5
moshe weitzman commenteda great idea, but not happenning in the immediate term unless funding comes along. if anyone ants to fund this, please contact me.
Comment #6
bsherwood commentedHow much would something like this cost? I am actually drafting up a specification for a module I would like to have created and I am wondering what the rate would be to implement this idea. So maybe I can get a rough idea about how much developing drupal modules cost. Like how many hours X rate would it take to create OG from start to finish?
Moshe,
Personally, I would love to have you create my module(s), but I looked at your post at drupal services and your out of my budget range.
I don't plan on having my modules developed anytime soon (trying for around 6 months) but if I use OG as a part of it, I will consider funding this, if it goes into core and depending on cost. But this funding wouldn't be for a while. I doubt I wouldn't be able to help with this until 6.x has most of the 5.x modules updated (maybe around 6.5 or so).
Thanks!
Comment #7
metareason commentedIf there is still interest in this module we would co-sponsor $500.
Comment #8
bsherwood commentedWow! Awesome. I thought I was the only one.
I am not sure how much money moshe is looking for to implement this? Unfortunately I am not in a position to help co-sponsor with you. I would love to but money is tight at the moment and I don't see it getting better in the next month or so. Maybe sometime in August? One can only hope.
I really love this specification though. It allows users to enter and exit via cron checking there role. I would allow me to create a site where users can be allowed to join if they purchased that role from eC or Ubercart, then removed from the group when it is revoked.
I am not a programmer, so i am not sure the amount of hours it would take to code this. All I know is according to the Drupal Services pages, moshe is rather expensive.
Moshe has expressed interest in adding this to OG core, you may want to get another programmer to code this module and submit it as a patch for moshe and others to see. This way the drupal community can offer there ideas and suggestions or better offer more functionality. Plus Drupalers seem to get more involved when there is code backing it up as opposed to people writing feature requests (like me).
The best I can do is offer testing of it.
Comment #9
bsherwood commentedMoshe,
Any chance this could be added to OG 6.x? Maybe when your going over the code, you might be able to find a way to do it without any major work or commitment. I think this could be a great feature to add to Drupal's next major release.