In the past few month, since Drupalcon Paris, I was busy upgrading Organic groups (a.k.a OG) to Drupal7. I’d like to give a quick overview of what has been done, what needs to be done, and the changes that came with the upgrade.
The first noticeable thing is that like Ubecart became Commerce, Organic groups has changed its name to Group. The second thing you will notice, is that Group is a complete rewrite of OG! Why was it done? OG is a great module, and it has been around for a long time. Long enough to be very popular and feature rich, but on the same time, concepts and implementations that were right in earlier Drupal versions became outdated. Using Drupal 7 new features - especially field API - were too hard to resist.
Here are the Group’s main concepts, by importance:
- Allow associating entities (e.g. node, users, etc'.) to other entities - In plain English it means that you can have posts related to a group. Not more, not less
- Introduce the concept of roles and permissions, on the group level
- Provide integration with superior modules such as Views. We don't need to invent the wheel - just need to know how to hook into an existing one
Writing those concepts down made it easier to determine what should be in the core of Group and what should be a contrib module. The UI was separated to another module as-well, leaving us with a Group API module, that has as little assumptions as possible about how it will be used.
Time for the quick demo:
(As always – The screencast script)
So, what is left to do? In a nutshell:
- Upgrade path and add missing fields (group language and group theme)
- Finish Views integration
- Reach 100% test coverage
- Document everything
- Probably lots of other things I hope the community will bring up
Lets work on making Group the best module for groups in Drupal 7!