Organic Groups - Customising permissions for creating content?

gpk
gpk's picture
Joined: 03/25/2009
User offline. Last seen 1 year 4 weeks ago.

We've started implementing a new site for our parish, and plan to use organic groups for the many organisations/groups that already exist in the parish. So I was interested to see Rob's mention of OG on his videocast from Drupalcon DC, where he was using OG for "ministries".

One thing I've not got my head round is how to handle the creation of content within the groups. For "official" groups I'd only want the group manager or admins to post content. But other groups would be open for anyone to post content. We could handle this by moderating group membership requests, but ideally I'd like all groups to be completely open for membership - since if you join a group you get the convenient My recent/My unread/Recent posts pages at /group. But if they all have open membership and a user has permissions to create content of a type that can be posted into a group then she can post it into any group.

Is there an easy way round this? I've had a skim through the rather varied collection of OG modules but nothing jumped out at me - although to be fair once I got past page 10 of the modules I began to glaze over. Maybe it would it be easiest just to do a bit of hacking with hook_form_alter (and/or hook_menu_alter)?? Anyone found a solution for this?

Ta muchly!
Giles Kennedy

Kaerast
Kaerast's picture
Bump

Did you find a solution for this? I'm really struggling to get my head around OG permissions and need something very similar to you.

gpk
gpk's picture
Joined: 03/25/2009
User offline. Last seen 1 year 4 weeks ago.
No, this bit of the project

No, this bit of the project has gone a bit on the back burner, but happy to discuss further with you if you like. Having slept on it for a couple of months I'm hoping my ideas will have crystallized in my sleep a little! I'm in the UK (Wimbledon to be precise)...

That would be fantastic!

That would be fantastic! I've just made a post in the drupal forums about this. I'm also in the UK (Bradford to be precise) and can sometimes be found idling in irc as kaerast.

Basically we want something similar to you, anybody can create an issue that needs discussing, but the issues can only be posted to a group by the administrator(s) of that group. This will mean that anybody can create and debate unimportant issues amongst themselves, but larger more important issues can be promoted to a special interest group and therefore highlighted and debated more widely (when an issue is posted to a group, it will notify all the group members via email using the notification module)

gpk
gpk's picture
Joined: 03/25/2009
User offline. Last seen 1 year 4 weeks ago.
One approach I've been

One approach I've been thinking of is to use OG membership for what it was originally intended for, i.e. so that people can contribute new posts to the group. And to use Flag module and Views to enable people to "sign up" to a group. This gives us 3 levels of group membership (apart from none..!) - "followers", "contributors", and group administrators, plus of course the group Owner/manager.

Should avoid the need for hook_form_alter()-ations, hence improve site maintainability downstream.

OG is great but is a bit of a monolith module - fine if it exactly fits your use case. If not then the approach seems to be to disable/hide the bits you don't want and recreate them in other ways to your liking.

Does the video mentioned in the other thread help? There is this thing called OG User Roles that moshe kind of detests ;-) that looks cool but might be a bit hairy unless you are prepared to get completely into bed with it. (Have a look at its project page..!)

PS am now out all day today but may have a moment later in the week.

Yata!

OG Read Only seems to be the solution I'm looking for, I'll have a go with it this afternoon. Guess it'll then be my job to document it properly then...

The flag module sounds like it is either global or per-user, meaning you can't have a flag per-group. I may be wrong though.

I'm not surprised that moshe dislikes OG User Roles, it's a horrible module with unexplained tickboxes and poor documentation.

Thanks for your help.

gpk
gpk's picture
Joined: 03/25/2009
User offline. Last seen 1 year 4 weeks ago.
Yes that looks good, I must

Yes that looks good, I must have been overcome by the number of OG modules before I found it!!

The point of the flag module is it lets an individual user "flag" a piece of content. This could be to report a post as spam, to "sign up" for notifications on a piece of content, or the case I had in mind - to "sign up" to a group so that you can follow its content/activity (e.g. via notifications or a custom View). It is a very generic module limited only by your imagination and your skill with Views...! (end of sales pitch ..I've not used it!) It may still be the best approach for me since we want to be able to prevent users from posting to some (but not all) groups entirely.

Yeah I'm surprised I managed

Yeah I'm surprised I managed to miss it for so long too.

Ah, I understand what you are wanting to do with the flag module now. Flag groups on an individual level, and then have a view showing content from those groups which a user has flagged. My views and panels skills are limited, I've always relied on my colleague to save the day in terms of front-end stuff. But sure, it might just work.

gpk
gpk's picture
Joined: 03/25/2009
User offline. Last seen 1 year 4 weeks ago.
Panels isn't there yet for

Panels isn't there yet for D6, but Views 2.0 (Drupal 6.x) is sooooooo much easier to use.. than the old Views 1.0/Drupal 5.x :) The O'Reilly "Using Drupal" book has some good examples, and dives into arguments in about chapter 2 :-P

gpk
gpk's picture
Joined: 03/25/2009
User offline. Last seen 1 year 4 weeks ago.
Also, for reference, here is

Also, for reference, here is a thread about subscribing to a group without actually "joining" it in the OG sense...

http://drupal.org/node/494656.