DrupalConDC2009 Report: Organic Groups – Moshe Weitzman

DrupalConDC2009 Moshe Weitzman - OGDrupalCon DC 2009 Moshe Weitzman - OG

Reference: Organic Groups: What It Can Do and Where It's Headed

moshe weitzman Oct 21, 2008

Stream of consciousness notes:

Still main maintainter of the Organic Groups module, which he authored.

DrupalConDC2009 Moshe Weitzman - OGDrupalCon DC 2009 Moshe Weitzman – OG

Reference: Organic Groups: What It Can Do and Where It’s Headed

moshe weitzman Oct 21, 2008

Stream of consciousness notes:

Still main maintainter of the Organic Groups module, which he authored.

Technical Overview

OG gives you: a group home page, where a group of like-minded people can start making posts and comments

The groups have members: you join and leave groups.

The group manager can decide upon the membership model: open, closed, etc.

OG provides interfaces for approving/denying membership.

A demo of the group home page, starting at the group directory, which lists all the groups on the site.

You see a table produced by the module. There is one manager with optional admins.

The directory also provides a search feature.

It tries to be easy to customize, so the directory in D6 is a view, which can be customized, with multiple displays.

There is lots of personalization. My groups is another customizable view that comes with the package. Additional tabls provide more options.

 

The group homepage: admins can see additional admin tabs.

The homepage has the group description, and then a river of posts, much like the Drupal front page.

If you install the integration with notifications framework, there are a lot of notification features that can be configured. Users can configure there individual notifications to a high degree of granularity.

The default number of posts is 20, then the paging system kicks in.

You can create content: group posts, which can be posted in any number of groups the author is a member of. Each group is an audience on your website, each author makes a decision about which groups (audiences) she wants to post to (multiple groups at once).

If this is complicated, the feature can be shut off.

You also have a public checkbox, which allows posts to be published openly or privately only to members of the groups. A post private to the management team.

The public checkbox is turned on by the OG access control module.

There will be as many create links as there are Drupal content types which are designated as eligible group posts. At the same time, the group itself is nothing more than a content type and comes into being as a result of creating that content type, eligible as a group node.

There are membership listings, also a customizable view.

In group search block! Thanks to tight integration with Views, which has tight integration with Search.

Another block for notification options, including RSS feeds.

Recent membbers, new groups, group files are additional blocks.

OG is careful to expose almost all of its data to views, so this opens the road to customization.

Admins can add members to the group themselves.

The tracker pages: unread posts in my groups, recent posts, etc  (views!).

OG is a good citizen, integrating with Panels, Token, Rules, CCK, Views, Search, Node access, Actions.

As mentioned, an OG is a node, which is how the module implements groups: these can be implemented in CCK, which allows for customizing the fields you wish to include.

Actions: create a view as a bunch of users and have them all added to a given group.

You can classify (taxonomy) groups just as you do nodes in general.

Views does a lot of the heavy lifting.

There are API functions and hooks for add/remove group memberships.

Configuration

You designate one or more nodes to act as group nodes.

Any content type can be configured under the Organic Groups configuration section.

  • Group node
  • May not be posted into a group
  • Standard group post (usually editable only by author)
  • Wiki group post (editable by everyone in a group)

Fine tuning in the OG configuration administration pages.

Among them is the groups directory control (what is the default behavior for including or excluding groups in the group directory).

Use Cases

Yahoo groups kind of setup.

A site like this based on OG: http://teamsugar.com/

Taxonomy with count. Views gives you this out of the box.

Scaling is nearly non-existent with OG now. OG is pretty safe to scale. Talk to Moshe.

They also have a section showing 6 featured groups. Views can give you this also.

Then a block for new groups. Effort into thinking how users wish to consume groups on your site, can yield spectacular results.

Also their group home page: group image, group manager, please login, group description, facewall.

OG can give you this “out of the box” (maybe too strong a term).

River of news posting, choosing to go with a tabular view showing the number of comments, and they break out each content type into a separately tabbed section.

Done without a lot of programming!

Intranet use case

Demo shown of an intranet called 8 trees done by Development Seed, the hosts of DrupalConDC2009.

Group directory, then each group has its own homepage.

Recent comments as a block.

Case tracker placed in another group (downloadable as a Drupal module: http://drupal.org/project/casetracker )

See their Spaces tool to see how to enable/disable tabs and other features to OG.

Intranet also used as client extranet.

Another group has a document database.

Group dashboard: each user can make their own group homepage… user configurable homepages, implemented by Spaces (confirmed by someone in audience).

Spaces administration shows the different features enabled for this group: document library, calendar, chat box, group home page, blog as home page, etc.).

Good example of intranet / extranet powered by OG, with its powerful access control.

Notifications module themed so that when you make a group post, the list of members are listed, and the author can choose to send the post to a certain subset of group members, to let them know what is going on.

Use case products

So the fans of the product can come in. Also geographic groups. See http://www.novell.com/communities/

Contributed modules

OG Vocabulary

Uses the built-in taxonomy system and makes it group enabled, so groups can have their own vocabularies and terms.

Do inside a group what you do in Drupal proper.

So when you post into “Boston” you get a different set of terms to tag your post with.

OG Panels

http://groups.drupal.org/boston

Three columns. Five pages customized by group admin, customizable via drag and drop panels interface.

The group manager did the work, the site admins didn’t have to configure this group.

Additional pages: Discussions, Events, Jobs, Peeps (people with avatars, user pictures)

Views/CCK

Core to OG module.

Additional modules

OG Nodequeue, Menu trails, Mandatorry group, Read API, OG Contact, OG Resetter, OG Blueprints, OG Facets, Subdomain, Views Bulk Operations, ApacheSolr, Spaces…

Future directions

  • More granular administration preferences
  • Group specific promoted and sticky
  • Improved invitation flow
  • Externally defined membership
  • Drupal 7 compatability on Day 1 (applause!)
  • You decide

Questions