Organic Groups: Social Networking for Drupal

tutuploadsmedia_1334102126879.png

[UPDATE] We now have a detailed video class covering all the important aspects of using Organic Groups.

Organic Groups (OG) is the social networking solution for Drupal. It forms the basis of http://groups.drupal.org and also powers Drupal Commons, the widely used social networking distribution.

OG allows users to create and manage their own groups. Other members can then join those groups and share content either privately or publicly.

Two notes of caution before we start:

  1. OG is a powerful solution but not for the faint of heart. To use it, you will need a good understanding of Drupal, plus Views and Panels as well.
  2. There are some major differences between the Drupal 6 version and the new Drupal version.

Here’s an introduction to OG for Drupal 7. Click here for our tutorial on Organic Groups for Drupal 6.

Step 1: Install the Modules

tutuploadsmedia_1334102126879.png

You’ll need to download and install these four modules:

Organic Groups won’t work without those modules, but to make use of OG you’ll certainly need these modules too:

When you visit the modules page to enable modules, make sure to enable all of the Organic group submodules.

After enabling the modules, you’ll see a message saying “The content access permissions need to be rebuilt.” Click “Rebuild permissions” and follow through the steps until the process is finished.

tutuploadsmedia_1334102622307.png

Step 2: Creating the Content

Here’s the key thing to understand about Organic Groups: they are entirely based on Drupal’s nodes.

The groups themselves are nodes and the content shared inside the groups are nodes. When you set up a new content type, you can decide whether nodes in that content type become groups or content within groups.

In this example we’re going to build a social networking site for a school. We’re going to allow parents and helpers to organize into groups.

  • Go to Structure > Content types > Add content type.
  • We’re going to create a type of group called a “Volunteer Team”.

tutuploadsmedia_1334344639581.png
  • Each node created using this content type will be a new group because we selected “Group type” in the options at the bottom of the page.
  • We also decided that this is “not a group content type”.

tutuploadsmedia_1334103131628.png
  • Now let’s create a group. Go to Add content > Volunteer team and create a new node.
  • Make sure to check the box Group to ensure that this node will form the basis of a new group.

tutuploadsmedia_1334102799545.png
  • The resulting node will look just like a normal content item. The one exception will be the Group tab.

tutuploadsmedia_1334102820180.png
  • Click the Group tab and you’ll see a pop-up window. This allows you to control the members of the group.

tutuploadsmedia_1334102858912.png

Now let’s create some content for our groups.

  • Go to Structure > Content types > Add content type.
  • We’re going to create a type of content called “Events for Volunteer Teams”.

tutuploadsmedia_1334103104481.png
  • Select “Not a group type”.
  • Select “Group content type”.

tutuploadsmedia_1334103158227.png
  • Save your new content type.
  • Go to Add content and select Events for Volunteer Teams.
  • Create a specific new event for one your volunteer team.

tutuploadsmedia_1334103214655.png
  • As before, your event will look like a normal content item. The only slight difference is that your asssociated group will be listed.

tutuploadsmedia_1334103769409.png

Step 3: Views

Currently we have no real information or layout for any of our group pages. We need to use Views and then Panels before our social networking site will take shape.

Go to Structure > Views and you’ll see that four different views are already in place. These views will form the building blocks of your group pages.

  • OG content: this will show all of the content posted to a particular group.
  • OG list: this will list all of the available groups on your site.
  • OG members: this will show the new members of a group.
  • OG User groups: this will show a user which groups they have joined.

tutuploadsmedia_1334103798799.png
  • You can click on the paths for OG list and OG User groups to get an idea of what they’ll look like.

tutuploadsmedia_1334103891045.png

Step 4: Panels

Now that we have our content and views, we can put them together using Panels.

  • Go to Structure > Panels.
  • Click Enable and then Edit next to Node template.

tutuploadsmedia_1334343396268.png
  • Click Add a new variant.

tutuploadsmedia_1334343524483.png
  • Enter a Title for your Panel.
  • Check the Selection rules box.

tutuploadsmedia_1334343547843.png
  • Select OG: Node is an OG group.
  • Click Add and then click Save.

tutuploadsmedia_1334343587346.png
  • Click Continue.
  • Choose a layout for your groups page.
  • Click Continue.

tutuploadsmedia_1334343666573.png
  • Click Continue and then click Continue to skip the next page.
  • Click on any of the cogs next to one of the regions:

tutuploadsmedia_1334343713600.png
  • You can choose to place some of the different node elements on the page.

tutuploadsmedia_1334343756917.png
  • You can also take some of the Views that we saw earlier and place those into different regions.

tutuploadsmedia_1334343772745.png
  • Click Create Variant (do not click Save at this point. If you do, you’ll lose your work).
  • Click Update and Save.
  • Go to visit one of your groups and you’ll see that groups pages are starting to take shape.

tutuploadsmedia_1334343879402.png

What’s Next?

From this point onwards, there is still a lot of work to do in order to create a social site, but hopefully the principles are now clear. The process of getting OG setup is Content > Views > Panels.

Author

  • Steve Burge

    Steve is the founder of OSTraining. Originally from the UK, he now lives in Sarasota in the USA. Steve's work straddles the line between teaching and web development.

    View all posts
0 0 votes
Article Rating
Subscribe
Notify of
guest

11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Warren
Warren
12 years ago

Thanks for the tutorial.

I’m trying to understand why, or if, panels is required with OG. Most introductory example tutorials for OG use panels. Is it necessary?

Amitai Burstein
Amitai Burstein
11 years ago
Reply to  steve

Hi, thanks for the tutorial.
> Yes, it’s essential. Without Panels (or a similar solution) you wouldn’t have any sort of a layout for the groups pages.
It’s actually not 😉 You can use Display suite, OG-extras or your own custom solution. In the end OG is just fields and entities, so it’s up to you how to show them. I like Panels and think it’s a good solution, so I advocate it. But not a must.

Kirol
Kirol
12 years ago

Is there any way I can make groups open and put them into an event page so users can apply for a Volunteering team? If so, how?

DavidT
DavidT
12 years ago

I hate Panels and I love Display Suite — can we in theory use the latter, or does OG force us into Panels?

Thanks

chukkitty
chukkitty
11 years ago

Dear All

My drupal is 6.22, I want create private group to member.

If I set the group to public , each member can see the page.

But I set the group to private, all member cannot see the page.

And the error message is

Access denied

You are not authorized to access this page

Is I miss some permission setting?

Best Regard

Kitty

Amc square learning | Reviews
Amc square learning | Reviews
10 years ago

Very interesting article. I think the key take away here is how to ground your actions in data based insights rather than what your high powered executives “feel” is right.

Max Loewenthal
Max Loewenthal
9 years ago

Is there any way I can create categories start and put them into a meeting web page so customers can implement for a Helping out team? If so, how?
[url=http://dieabnehmlosung.de]Die Abnehm Lösung[/url]

sailaja
sailaja
4 years ago

The importance of social networking sites in today’s world is immense. 

11
0
Would love your thoughts, please comment.x
()
x