Moving Forward with Open Atrium 2.0
A Renewed Focus
Open Atrium has long been the go-to “Intranet in a box” distribution for Drupal 6. Obviously, Drupal 6 is nearing it’s official "end of life" and something needed to be done with Open Atrium. The question for the past year has been: "What exactly should be done?" Should we just port the existing modules to D7? Should we just leap-frog to Drupal 8? What about new functionality? What about improving existing functionality? How do we make Open Atrium more accessible to more types of users? How do we take advantage of new Drupal 7 components?
We have spent the past year collecting feedback and suggestions from existing and potential Open Atrium clients regarding these questions. Since DrupalCon Munich we have developed a detailed plan for moving forward with Open Atrium in Drupal 7, have put together a new internal project team, and have finally started development!
I’ll be posting more technical details about the new Drupal 7 architecture for Open Atrium 2.0 to the community.openatrium.com site soon and will also be presenting a BoF session at BADcamp 2012 this weekend. But here are some teasers on what we’ve been doing and what is coming.
A New Project Team
Like most firms, Phase2 Technology makes its business doing paid client projects. Performing Drupal module maintenance and building Drupal distributions is something we try to make as much time for as possible to help support the Drupal community. Fitting this in-between projects works most of the time, but large projects, such as a full Drupal 7 rewrite of Open Atrium, are more difficult and require a greater commitment. To better achieve this goal, we have put together a full internal project team for Open Atrium 2.0 (OA2) and are treating it the same as a regular client project. We are actively seeking sponsorship for this work, but also putting a large amount of Phase2 resources into this project. In fact, Phase2 will be matching dollar-per-dollar any external sponsorship, so please email us if you are interested in funding some of this work. With this new project team in place, and myself as the new technical lead for the project, you will now see increased momentum behind Open Atrium 2.0.
Open Atrium 2.0 Architecture
When facing a large site migration from Drupal 6 to Drupal 7, it’s usually best to use this as an opportunity for improvements to the architecture of a site. Drupal 7 brings many new core concepts to a project, including Entities, improved node access control, etc. For Open Atrium, a new architecture was required to take full advantage of these new concepts.
The core concepts of the Open Atrium 2 architecture are:
- Flexible and modular feature components (Apps)
- Flexible layout customization (Panels and Panopoly)
- Mobile-friendly, responsive base theme (Zen or AdaptiveTheme)
- Improved user, group, section, team permission system
- Customizable notification and subscription system
- Plugin API based upon Entities
- Available as a distribution, or just a set of Modules
More than just an "Intranet in a box", Open Atrium 2 will be a Framework for integrating your existing systems into an intranet. OA2 will come with very simple and basic "features" for collaborative discussion, file organization, events, tasks, etc. However, in each case the "simple and basic" App can be removed and replaced by an App with a high-level of integration with existing best-in-class business systems.
Open Atrium 2 adds several new core concepts that make it even more flexible for your organization. First, rather than seeing a set of "tabs" for each App (Discussion, Files, Calendar, etc.) a Group Owner can create custom “Section” pages and place any combination of available "widgets" on each page. You can use the default section page layouts to recreate the OA 1.x tab pages, or you can creatively combine various elements into your own section page layouts. For example, you can create multiple different Discussion areas within your group, or combine a view of Tasks with your Event Calendar on the same section page.
You can also assign “Teams” to a “Section”. A “Team” is a collection of Users, similar to Members of a Group. A Team might indicate a user’s Organization, or Department, or any other collection. Each User can be a member of multiple Teams. When Teams are assigned to a Section, only users who are both a Member of the Group and a Member of an assigned Team can access the Section. This allows a Group Owner to create sections within their group with different Team access, such as Private section pages. For example, Mary might be a member of the NewWebSite Group and might be assigned to the ProjectManagers Team. The Group Owner could create a new section within the NewWebSite group and assign the ProjectManagers team to it. Mary would be able to read and post content to this new section, but Bob, who is a member of the NewWebSite Group but not in ProjectManagers would not be able to view the section.
Beyond some of these new concepts within the core of OA2, the real power of OA2 comes from its modular App design. In Open Atrium 1.x it was possible to create a new plugin Feature. But the plugin architecture was poorly documented and difficult. In addition, the theme used for Open Atrium made it difficult to customize for many customers. In January, we will release the new Community Plugin Toolkit which will contain documentation and examples for creating Open Atrium 2 plugin Apps. This Toolkit should make it much easier for the community to contribute new Apps for OA2.
In addition to releasing the Community Plugin Toolkit in January, the first Alpha version of Open Atrium 2 is planned for Spring 2013, with the initial Beta version to be released in time for DrupalCon Portland in May 2013. If you are interested in helping sponsor work on Open Atrium 2, or wish to be involved early in building OA2 Plugin Apps, please contact us directly via email . I am very excited about the future of Open Atrium 2 and look forward to delivering the Intranet product and framework that you have been dreaming about and waiting for