First Impressions of Open Atrium 2.0
I recently had the opportunity to attend the Open Atrium Beta Webinar and later got to play around with the latest version of Open Atrium 2.0.
For those of you not in the know, Open Atrium is a Drupal-based social collaboration project, a framework for the types of enterprise social networks we build here at Duo. It combines asset and project management with the engaging features of a social network, among other things. Open Atrium 2.0 is based on the Drupal 7 platform.
Here is a summary of my impressions on the software’s newest version:
This is a very actively-developed project. Checking their releases on Drupal.org shows almost daily updates and bug fixes.
Open Atrium 2.0 is a radical departure from what it once was. My previous impression of the Drupal 6 version was that of a project mangement tool for building private, invite-only teams, mainly focused on specific projects that expire in a given time period. Basecamp was the obvious comparison. What they have done with 2.0 is move away from this highly specialized tool and opened it up as a more a flexible framework for creating community sites. This makes it a viable alternative not just to Basecamp, but also to the likes of Ning or Sharepoint.
Open Atrium 2 is based on the Panopoly distribution, which means it comes with all of the basic things you want pre-configured, including some great time-saving search options (with facets and solr) right out of the box. It also means that it comes with a rather sleek and responsive theme based on Bootstrap (thanks to Radix) so the admin interface is clean and easy to navigate. All site forms use a feature similar to "Better Forms" in Wordpress, which makes adding and editing content easier on the eyes and more uniform across browsers. This by itself is worth the price of admission.
Compared to the previous version, Openatrium 2.0 has a more liberating feel to it. When I first set it up and started testing functions, my head quickly filled with ideas and possibilities of what I can make with this tool. The best way to describe Open Atrium 2 is a "framework for a community site."
It has all of the basic tools you would need, and most of them come pre-configured with some common "starting points." These include discussions, notifications, wikis, and about 10 different modules you'd otherwise be spending an hour a piece downloading and configuring. Even Organic Groups comes pre-configured in such a way that you likely won't need to dive in to any of its schizophrenic configuration options. It gives you as much Organic Groups as you need while shielding you (and your stomach lining) from the Organic Groups you'd rather not have to deal with.
Open Atrium's Community Framework: Spaces
The space is the foundational building block for the OA site. Think of a hangout, or a microsite. You can choose to make it public-facing or hidden, and although it has members that belong to it, the space is defined by it's collection of pages and other features; it could be composed of just a page, but you could also add a wiki, a discussion board, and a blog page. (These extras are called "sections.") Spaces can also have "teams" -- smaller groups within the spaces' membership base.
So for a quick review, an Open Atrium site is a collection of spaces, and spaces are a collection of sections. Spaces also have members, which can be grouped into teams. Teams are specific to spaces, but what about other types of groups? What about extended networks that are independent of spaces? That's where “groups” come in. Groups are collections of people who can belong to many different spaces, or no space at all.
Here's where it gets a little confusing
All right, here is where I'm going to throw you for a loop. Theoretically, a group could also have it's own "space," if you wanted it to. Both groups and spaces can be arranged in hierarchies, with a group being a child of a space, or a space being a child of a group. This allows for inheritance of permissions; i.e. a child space can inherit the permissions and members of a parent space.
A hypothetical case
The webinar detailed a university as an example use case. It starts with an Open Atrium base install, and they want to get to work. They start out by creating their departments. Departments = Spaces. So they create separate spaces for Science, Mathematics, Engineering and Communication.
From there, they start creating their child spaces, which goes something like:
Science (parent space)
- Physics (child space of science)
As each of the child spaces are created, they are assigned to a parent, creating the hierarchy. The top menu automatically updates into expandable drop-downs with the parent at the top-level and children falling into the drop-down list. Pretty snazzy.
Now it's time to create our teams and groups.
Any given class (e.g. Calculus 101) will likely have a unique group of students. They are your first team. From there you could assemble the professor and his or her teaching assistants into another team.
Our groups will consist of the following:
- Faculty, which has child groups for professors, administrators, maintenance, etc.
- Student, which has child groups for "enrolled" and "alumni."
Wrapping it Up
Once we have all of these items in place, the administrators of each of the spaces can choose to add whatever "sections" they want to the space, without being tied down to a cookie-cutter microsite. Adding a section is a matter of clicking an "add section" button, and selecting from a drop-down what type of section they want to add (default options are calendar, discussion, news or a default generic page).
It's very rare with Drupal that I have these moments of "It just works like it should." And particularly with distributions, it's rare that I find one that manages to make assumptions about how I might want to use it -- without getting in the way of itself. It's often best if it just gives me some nice tools and a starting point I can build on. This does just that, plus a little extra.
Test drive it on Pantheon and let me know what you think: