Synopsis: In short, I am looking for a means for any user to come to my site, and create and manage a group, which is about their subgroups, which they also create and manage under their top group. In the subgroups they will have various content types and content, and members they can manage and some content and content types I will manage globally.
It should be easy for them. And, it should not involve me as site master having to do much, actually preferably anything for them to do this, other than just routine maintenance. Or at least as little as possible.
I have studied a number of possibilities from Sugroups to OG+taxonomies(I guess) (I suppose just taxonomies is possible) to CiviCRM, and others but there are issues and questions I don’t have the experience to find answers for. See full version for these. I don’t really have coding skills. What is the right direction? I appreciate it. Thanks.
This is a side suggestion from a beginner's perspective for whoever wants to know. I would like to see comparisons tables for Drupal issues like these which might have several solutions, so beginners can make reasonable choices, with say with a Beginner to Advanced scale on top and then various methods or choices like mine listed on the left with pro and con issues and alternatives to consider in the middle. It would sure make it easier and faster for beginners to get through the learning curve, than to have to read through so many posts and guides. There are so many choice possibilities, some relevant and some not, that it seems logical to have a way to help guide people through them.
=================================
===================================
Full Version of Post:
I found several possible ways to create sub groups in Organic Groups, with and without using the Sub-Groups Module, but I haven’t decided which way to go. I am not sure which choice is best, being an inexperienced amateur would-be web site builder, learning Drupal 7, currently reading the Definitive Guide to Drupal 7 and Drupal site posts for answers.
My site requirements are at the bottom but here are the choices of methods and my decision issues:
Choice Method 1) The first possible choice is by using the Sub-Groups module.
The Decision Issues: Method 1 (Using the Sub-Groups Module)
- Has bells and whistles
- I hear people saying there is not enough documentation.
- Also, my main concern is that I noticed the newest release 7.x-2.0-alpha1 is an alpha release and I read that these are still be pretty buggy. This subgroup thing is critical to my site mission and I'm too new at this to deal with bugs. Though, eventually it will be beta and then a regular release. Am I being too paranoid about an alpha release?
Here is an example of some of the reviews I find. Although this one is fairly old, D6, it seems typical of comments about it, and as a beginner, I liked that they said it should be in the core, as that would solve my problem. http://drupalmodules.com/module/subgroups-for-organic-groups
” In need of a new life - Echoing a previous review - this is an essential function to have in OG's - we need sub-groups. Whilst OG pledge to be ready for D7 this module is still in beta on D6.14 - The only activity that appears to happen is a debate about how to implement a hierarchy. Until there is a reliable and active means of implementing subgroups, and preferably one that is core to OG - we'll continue to use taxonomy access control.
The low ratings reflect the level of readiness in D6 - if using D5 the ratings would be high - it really is needed. Review by thetechnaddict [info] on October 14, 2009 - 12:18 "
I wonder if I could go without the module first and add it when it is out of alpha and beta release?
Or is that asking for big trouble?
Choice Method 2) I found was on this post.
I'll call it the (Two Content Types Method without the Sub-Group Module)
http://drupal.stackexchange.com/questions/40835/need-groups-within-a-group
Need groups within a group
" I need to create a website with a single group, and create groups within that group. Is this possible in Organic Groups? asked Aug 26 '12 at 1:42 by EGHDK"
Response by Pontius Nilsson:
"I did this by having two content types. Let's call the first content type country and the second city.
Country was set to be a group type but not group content. City was set to be both a group type and group content.
In Panels / Views it was easy to show cities within the country (by having the country as contextual filter) etc.
In my case this way was enough to build an hierarchy of groups. I haven't checkout out the Subgroups module. Hope this gives you another angle to attack the problem."
----------------------------------------------------------------
That was helpful.
The Decision Issues: Method 2 (Two Content Types Method without the Sub-Group Module)
- It seems easy, and since it is OG and not an alpha release module it seems much more stable.
- But maybe it does not offer the bells and whistles of using the Sub-Groups Module.
- I've seen this hinted at in The Definitive Guide and elsewhere but they don’t say what to do or how to continue or proceed afterwards.
- How would user visitors use this to create their group and a layer of subgroups they can manage underneath, which is what I am looking for?
Then, I also ran across a couple of other possible choices in a Drupal rewrite discussion group, which was interesting but to tell the truth was mostly over my head, and was in 2008 so it is pretty old.
Subgroups for Organic Groups Rewrite https://groups.drupal.org/node/10070
Choice Method 3) Using Taxonomy to create hierarchies and sub groups.
I keep reading about taxonomy and I know "Taxonomies are groups of terms/tags that can be used to organize categories of content." but … as of yet … I am not doing well with getting a good grasp of using it.
How would users create their own groups with Taxonomies?
It is absolutely critical that visitors easily create their own group/pages and then add content and I will add some content type globally, but it would be nice if they could turn some on or off. Is this an option?
Choice Method 4) I also read a lot about CiviCRM from their web site book, http://book.civicrm.org/user/current/organising-your-data/groups-and-tags/, which is very intriguing. Except, it seems to me it is more for a single organization, and its groups are more about its constituents or constituent groups. And, I don’t get the sense that these groups are meant to be managed by the visitors, which is what I need, but are for the benefit of the organization, that owns the particular CiviCRM site or installation. The groups are set up for needs of the website owners, and what I want, which is that a user visitor could set up a group and then have sub groups that they manage. It might be too powerful and confusing for my needs anyway.
They did point out my problem though saying… "Groups and tags are two key methods of organising data in CiviCRM. When used properly, both allow for powerful segmentation and searching of your database.
Since both groups and tags are methods of categorization, it can be difficult to determine whether a tag or a group is more appropriate in a given situation. Identifying the differences in their functionality will help you to decide which to use. … "
Choice Method 5) I also read about Hierarchical Select Module at http://wimleers.com/demo/hierarchical-select but they said it isn't good till it is part of core.
Choice Method 6) I also read about someone mention the use of Books nodes which is part of the Drupal Core. But there wasn't much on it. I think maybe version 6 used it somehow?
Choice Method 7) Is there some other way?
=========================================
My Site Case:
For myself, I want to make a site with this scenario:
[(many many groups, top levels, People) with each of those groups having (several sub groups within, and hold other content types, some content managed by group manager/admin and some by myself as site wide manager) ]
Example: Groups could be A B C D E F G … with sub groups A1 A2 A3 A4 A5 A6… B7 B8… C9,C10,C11,C12,C13… D14 E15, E16 … and so on indefinitely. Each subgroup could have 5 o6 six pieces of content types or page views.
Each sub group is independent of the others like separate mini sites managed by the creator. I think two levels of hierarchy is fine, but maybe the possibility of more wouldn’t hurt and might be useful, if I thought about it.
I want each casual visitor user, to be able to easily sign up to the site and create their own particular group, as group manger or admin for their group/page, of the (many many groups, top level) variety, and then, again, to be able to easily, create, set up, administer and manage their own sub groups/pages/permissions/content from inside their top group.
Then, other users can register on these subgroups to be members of the sub groups pages. (as well as on the site at large.) They could also be a member of the top group page. I'd have to think about how many places they have to register and permissions.
I also want top group admins/ group managers to be able to add some group manager content types, like articles, or maybe manage an open forum for their members, and a method or two to have private conversations between the sub group admin and their authenticated visitors (to their groups), which these group managers can administer.
Then I also want, myself personally, as the whole site admin, to be able to add content types which only I can administer and manage, perhaps like advertisements or site wide content and content types.
Question? "Easy" is critical for the users. I don’t have a clue how to make it easy for my casual visitors to set up their own group and subgroups with either method. Will they essentially have to do the same thing I have to do to create these groups? I think I might have seen something somewhere that said this is taken care of, by O G, but I probably just need more research. Is this correct?
Final decision?
I thank you in advance, but, given my requirements and concerns, what would be the best way to go, and what other related advice might you offer?
Comments
Subgroups in Organic Groups
@hkfletch: Things have improved these years, and now the Organic Groups module natively includes subgroup functionality since its Drupal 7 version.
As I explained on the issue D7 How to create a subgroup?, only one content type is needed for groups and subgroups. You can create it for plain OG, but if you already have a "Group" content type, just modify it to optionally have a parent, as follows:
Administration > Structure > Content types > Group > Edit > Organic Groups
We check "Group content", in addition to "Group", so that a new "Groups audience" field for optional parent group is automatically created.
And we create our tree of groups:
Administration > Content > + Add content
Now all groups in the tree have the same full feature set.
And this is it for Organic Groups.
Using Taxonomy and Groups to Make Site Searchable
Using Taxonomy and Groups to Make Site Searchable
Thanks so much Juan,
That helps so much. I have been trying to understand how Drupal can fit my mental picture of what my first site should look like for several years, but could never see it, until now. I think I can finally build it. I've studied so much stuff I didn't understand, it is wonderful to have a nearly clear vision.
Your response looks like my Choice Method 2. Your help, helped me make the decision to do this. I do have a few related questions about it though if you can.
Here is my site set up (Or this section of it anyway):
There will be an unknown number of User created groups, and which they will also name, of course. This is basically their home page.
(1st User Created and Named Group) --- (2nd User Created and Named Group) --- (3rd User Created and Named Group)
1st Group Subgroup 1 - A,B,C,D,E,F --- 2nd Group Subgroup 1 - A,B,C,D,E,F --- 3rd Group Subgroup 1 - A,B,C,D,E,F
1st Group Subgroup 2 - A,B,C,D,E, F --- 2nd Group Subgroup 2 - A,B,C,D,E,F --- 3rd Group Subgroup 2 - A,B,C,D,E,F
1st Group Subgroup 3 - A,B,C,D,E, F --- 2nd Group Subgroup 3 - A,B,C,D,E,F
1st Group Subgroup 4 - A,B,C,D,E, F
1st Group Subgroup 5 - A,B,C,D,E,F
More Subgroups for 1st Group
An unknown number of Visitors come and register to become Group Managers, where they create and name their own Group, and Subgroups inside that Group, and manage some of their own content and some permissions. I will manage some global content across all groups, and manage the basic structure, which will generally be the same across all groups.
Important! I believe I want to use taxonomy vocabularies so people can find these groups. It is the only, and best way, I suppose to structure these groups. But the unknown names and unknown number of groups issues makes this a problem I do not know how to solve.
A,B,C,D,E,F are pages that are inside, or below the Subgroups, in hierarchy and contain various content types. Managers can manage some content, as on the group pages, and visitors can leave some comments, and I will also manage some content globally across all groups.
1) Related Questions to Using this Organic Groups method
a) I assume that I should make a general vocabulary for each of these (User Created and Named Group) and for (Subgroup) and for pages A,B,C,D,E and F. Correct?
I am also reading on, Working with content types and fields (Drupal 7 and later) in the Structure Guide at https://www.drupal.org/documentation/modules/field-ui, that "Fields on user accounts - Fields on user accounts are defined on a site-wide basis on the Manage fields tab of the Account settings page. When you define a field for user accounts, each user account will have that field added to it. For example, you could add a long text field to allow users to include a biography."
Is this a better way to give users a way to search for groups?
b) I also assume, that I can not make predetermined vocabulary terms as the Group Managers will name their own Groups and Subgroups when they create them, and also because there will be an undetermined number of Groups and Subgroups. Correct? So I need another way to make them searchable by Group.
c) Users need to search for these groups. So can I use the Group names and Subgroup names, which the user creates, as free tagging terms? Or maybe I need to say "Use names entered into free tag fields as the names for these individual group pages? Is this possible, easy, or a good idea? Is there a better way?
d) Note: I may use the Book Content type for these pages, A,B,C,D,E,F, because there are steps I want the visitors to take, and I like the printer friendly feature, and the hierarchy Book provides seems useful. So, I may use the Book Content type, and add articles blogs, forums etc to the separate pages. I can't remember if there are drawbacks or reasons why I wouldn't want to use the Books Content type. Are there problems? Can I do the same thing with Article Content types?
2) I heard that Subgroup has some features that might be useful though I'd have to research it. But it is not ready for use now. If I go ahead and use this method now, will I be able to use Subgroups later? I don't know if it simply adapt and adjust to what I have already created or not? That is, can I download it, configure it, and use it, or is it the case that since I created site without it I can no longer use it.
Anyway, thank you for all your help. I believe, that now that I know how to match Drupal with what it looks like in my head, after several years of searching, and giving up, I can finally, make and draw out my final wireframes and plans for my first site.
Thank you so much.
hkfletch
My group layout didn't show as previewed. Sorry.
My group layout didn't show as previewed. Sorry.
A,B,C,D,E,F are pages in the Subgroups. Probably from the core Books content type as I like the hierarchy outline capability. I believe I can add other content types in them, like a forum or blog, articles, etc.
(1st User Created Group)
-----Subgroup 1 - A,B,C,D,E,F
-----Subgroup 2 - A,B,C,D,E, F
-----Subgroup 3 - A,B,C,D,E, F
-----Subgroup 4 - A,B,C,D,E, F
-----Subgroup 5 - A,B,C,D,E,F
-----More Subgroups for 1st Group
(2nd User Created Group)
-----Subgroup 1 - A,B,C,D,E,F
-----Subgroup 2 - A,B,C,D,E,F
-----Subgroup 3 - A,B,C,D,E,F
(3rd User Created Group)
-----Subgroup 1 - A,B,C,D,E,F
Some Drupal possibilities, and a B plan
Some Drupal possibilities:
- In Drupal, we often need to experiment to get something right. That's how I found the mentioned procedure for subgroup creation, because of the lack of documentation on this point. I'm not sure about your specific site features, but probably you are also needing to experiment.
- A Drupal site to quickly experiment with modules is simplytest.me , or better your own VPS or local testing installation.
- Apache Solr Organic Groups Integration is a module that could help with search.
- Although plain OG already includes subgroups, the Subgroups for Organic Groups module adds optional content and membership propagation.
- Other modules that can help are Crumbs, for subgroups in breadcrumbs, Views Tree, etc.
- Since subgroups are OG groups, all Organic Groups related projects apply also to them.
- The most well-known OG site is groups.drupal.org. See the modules used by them in groups.drupal.org/about .
Just in case, it's good to have some B plan:
- As you know, Drupal is an advanced system that can do almost anything, good for very complex sites. But if some site is taking too much time, maybe for that site it's advisable to remember that perfect is the enemy of done, and try an easier open source system, not so advanced but with reasonable features -increasing year by year- and a much quicker development for normal sites. Naturally, in this case I would recommend WordPress, another of the open source projects leading the CMS field together with Drupal. The WP plugins to try would be BuddyPress (social networking with groups) and BP Group Hierarchy (for subgroups).
- After having a working website in this way, in any case you could import the site into Drupal with the WordPress Migrate module, if later you really need a more powerful system. That is, the right open source tool for each job.
Yes, it is time to experiment with Organic Groups and Taxonomy.
Thanks again Juan,
You are a helpful person. I thank you.
I do think I need some serious experimenting time. I agree. I'm just going to jump in.
I do have it installed and having gotten that far, I decided I would read everything I could find, as I do not have a website or coding background, (I'm just a typical MS word processor/ excel / Face book kind of user.) and then just get the best plan/ informational site architecture I could figure out, and then go at it.
But I have a few days off and don’t want to waste it just trying to decide on something I may not be able to figure out yet. So I am just going to start tomorrow with the plan you helped me choose. Thanks again.
My site's primarily functioning is with Organic Groups after all. And later, if I can do this part, then I'll try to incorporate other modules and sections. I figure I can add them later.
I am wondering if I should create a section for other sections now in anticipation. I think I would do that with taxonomy? I don’t know if people use OG for sections, although that seems like what a group is, kind of. Would OG work for that? Here I go again.
I think I will stick with Drupal for awhile and experiment. It is the one I wanted to learn as it is the most powerful. I figure that it will get easier to learn and more powerful, and if I just keep pluggin , eventually I will get a handle on it and what I have learned won’t go to waste. I do plan to create a virtual site platform to test. I'm reading a book called Multi-sites that talks about Virtual Box and Vagrant and Ubuntu.
That is very interesting that I can "migrate " Word press into Drupal. It is good to know and I did not know that. I will keep that in mind too. If I decide eventually, it is over my head, I'll try Wordpress later.
Thanks for giving me good advice on options. Happy pluggin away to you, Juan. You have a great day.
Much apprectiated,
hkfletch
Drupal Commons, groups, and subgroups
A last detail, you can take a look at Drupal Commons, the well-known distribution that uses Organic Groups, to either use it ot to just experiment with it to get ideas for groups, etc. (as said, on the simplytest.me site, or on your own VPS or local testing environment).
DC is a complex system that uses Views, etc. extensively, but is also somewhat the Drupal equivalent to the easier WordPress' BuddyPress.
Drupal Commons 2.x (for Drupal 6) supported subgroups. Drupal Commons 3.x (for D7) not officially, and it's not ready for subgroups out of the box, but it could be done with some effort, since it uses OG.
Another Drupal distribution that uses Organic Groups is Open Atrium.
You can also take ideas from Organic Groups sites such as the already mentioned groups.drupal.org (this one with groups but without subgroups), etc.
Thanks again Juan
Several good options there. I did visit that Group discussion a bit and found other interesting things to think about. So much to think about. I need to just start doing things and experimenting as suggested. Soon. I think I will head off to find that simplytest.me site to get a feel for it. Appreciated. hkfletch
Subgroup creation
Yet another detail. In the procedure for subgroup creation, I forgot to mention that the Organic Groups UI module should be enabled.
I've just added it to Drupal Answers (Need groups within a group), where possibly you can find more help during your tests. Best of luck with your site.
Thanks Juan
Decided to set up my development environment starting with Ubuntu. Going to pick up The Official Ubuntu Book today. Yeay! Thanks.
hkfletch