Propagating changes to all groups
shuriken - March 17, 2007 - 12:59
| Project: | Content Type Administration by Organic Group |
| Version: | 5.x-1.x-dev |
| Component: | Code |
| Category: | feature request |
| Priority: | normal |
| Assigned: | rconstantine |
| Status: | closed |
Jump to:
Description
I think it would be nice to have a method of setting one, some or all ALLOW/REQUIRE for a certain content type, to all the groups created on the site.
As of now, if I have 1000 groups and add a content-type, I have to modify all the groups to allow or require it via Admin->OG Content Type.
Maybe a new category (beside site-wide and default) called "all groups" should do the trick, or a (maybe ajax-powered) button or checkmark beside each node type in the "default" category to propagate the change to all already-created groups.
Thank you for your work. This module is exactly what I was looking for. :)

#1
If you REQUIRE a content type in "default", that is supposed to REQUIRE it in all of your groups, both new and old. Are you saying that it isn't working? The code is supposed to check, when a group is visited, whether you've created a separate content type list for that particular group. If not, it should restrict the content types available according to the "default" settings. So to have another category called "all groups" would duplicate what "default" is supposed to do. Perhaps I just need to add an explanation next to the "default" label.
There is one use case I can think of where a portion of your suggestion has merit, and that is the case where you've already setup many groups to have their own content types, or you've allowed the group owners to vary from the "default". Then, any changes to "default" won't affect them. So in that case, I could see a use to putting a new button next to each content type on the "default" settings page that says something like "propagate to all groups".
I'll put that on my TODO list. Meanwhile, if you've setup your "default" settings before adding other groups to the list, they should all be set okay. Let me know if that isn't working because that is a bug if it's not.
#2
Sorry for not being totally clear.
This is the workflow:
- Admin (the site administrator) installs OG and related modules, and base content-types, ALLOW all content-types but blog in "default" and REQUIRE blog in "site-wide" (I don't think this is important, but I mention it for completeness)
- User (a site user) creates a Group, enables some content-types in the group (say: page and forum topic, leaving story and book page not selected)
- Admin creates a new custom content-type, enables User to use it (via Administer->User management->Access Control) and then ALLOW or REQUIRE it in "default" in OG Content Types
- User doesn't see it in Manage Group's Content Types, so he can't enable it. Even if REQUIREd, the content type doesn't appear in the Group Box as "Create custom content-type".
- User creates a new group, and in this group he sees both "create custom content-type" and the option in Manage Group's Content Type, as per "default" settings.
Sorry for the mess. English is not my mother tongue... :/
#3
Okay, I think I see where you're going with that. When the owner of the group selected page and forum to activate, what happened behind the scenes was that his group was added to the monitoring list since it now deviates from the default. Is the group showing up in the group list (admin/og/og_content_types)? In other words, after you ACTIVATE page and forum, does your monitoring list consist of "site-wide", "default", and the group? If so, can you ALLOW the new content type in the group as well as in "default"? You should be able to go to admin/og/og_content_types/admin, instead of each individual group's list.
If that works and you simply don't want to have to go into each group's content type list, then I think my proposed button "propagate to all groups" is exactly what you need. I did intend the "default" settings to be for the creation of new groups only. Part of that assumption is that when a site is designed, all of the content types will be designed as well, before the first group is created. I also assumed that once groups are created and added to the monitoring list, that admins might not want to propagate changes to all existing groups. Perhaps I can add a checkbox to each group's listing exempting it from the propagation button's influence. You see, in the use case I created this module for, I don't want to propagate new content types to all groups. But I see that in your situation, it is useful.
So as soon as I get a chance, I will go ahead and add the "Exempt from propagation" checkbox to each group listing, and I will add buttons labeled "Propagate to all groups" next to the content type listings in the "default" listing. How does that sound?
By the way, your English seems fine to me. I wouldn't have known is was a second language for you.
#4
I've decided to make the following changes:
To the 'default' group, I'll add two buttons next to each content type: one for 'allow in all groups' and another for 'activate in all groups'.
I have already made it so that allowing a content type in 'default' also activates it so that those groups without separate monitoring will have all allowed types active. I'll upload this change tonight. I'll make the other changes hopefully next week or sooner.
#5
Will be done with this tonight. Look for a new dev version sometime tomorrow.
#6