Recently, we worked on a project to help a big organization create departmental subsites through a point and click mechanism. Authorized users should be able to browse through different templates and create a subsite populated with sample content and a layout as defined by the template.
We investigated different options to achieve this functionality in Drupal and finally decided that Drupal Organic Groups is the way ahead. Here is a comparison and a summary of our learnings:
Open Atrium (http://openatrium.com/) is an intranet distribution from Phase2 Technology. It features group spaces to allow different teams to have their own conversations and collaborations.
+ Features Events, Discussions, Document Wiki and Issue Tracking out of the box. The accompanying dashboards ensure that it is easy to handle them.
+ Has a powerful concept of Spaces, which is built using Organic Groups. Based on requirements, spaces can be further divided into subspaces and/or sections (where the content actually lives within spaces or subspaces).
+ Built on Panopoly. Supports drag/drop functionality. Widgets can be easily placed on landing pages and dashboards.
+ Supports space blueprints which act as templates for new spaces. Open Atrium allows users to create entire space hierarchies by simply cloning a Blueprint which greatly increases usability. Site admins can create their own Blueprints directly from existing Spaces.
+ A big strength is the capability to assign permissions at the most granular levels necessary for organizations. While creating a space and subspace, Open Atrium supports “group user inheritance” and “group user permission inheritance”. Teams can be assigned private access to certain sections within spaces. Access to sections can be provided based on individual users, groups or teams.
- Open Atrium is a good solution if you are planning to use it out of the box. The framework adds more complexity through its implementation of spaces and hence customizing the default behavior of Open Atrium through modules is a difficult task. Further, documentation on its internals and APIs are very limited.
Drupal Commons (https://www.drupal.org/project/commons) from Acquia is a ready-to-use solution that can build external or internal communities.
+ Solid community features built on top of Drupal’s Organic Groups module.
+ Supports blogs, discussions, documents, wiki, and event content types out of box.
+ It also allows users to create (user) relationships with each other in order to follow each other's activities on a site.
+ Authenticated users have access to a personalized dashboard featuring content from subscribed groups.
+ Layouts can be customized through Panelizer.
+ Product support and long-term roadmap from Acquia.
- Unlike Open Atrium, Drupal Commons doesn’t qualify as a complete out of the box solution. The theming is basic and definitely needs to be customized further for each client.
- Some social functionality like Radioactivity and ability to follow nodes and their modifications comes with certain overhead which are not easy to turn off.
- Drupal Commons is not a very generic platform and most of its features are governed by Acquia and their product roadmap. Although open-sourced, we are not sure if it is intended to be extended or customized by firms other than Acquia.
Domain Access is a suite of modules that provide tools for running a group of affiliated sites from one Drupal installation and a single shared database. Domain Access provides great flexibility. Content, users and configurations can be shared across a group of similar sites. For example: sample.com, one.sample.com, two.sample.com, thissample.com and sample.com:3000. All the sites mentioned here will share all tables in a Drupal installation by default.
+ Domain Access deploys Drupal's Node Access system to arrive at the content that is available on each site in the network. It decides user access based on the active domain viewed by the user, instead of the site or group the user belongs to.
+ Although the module is functional by itself and needs no additional modules, there are many add-on modules that support domain-specific configurations:
- Domain Configuration: Allows configuration of select system variables at the subdomain level
- Domain Content: Features a content administration page at the subdomain level
- Domain Navigation: Supplies navigation blocks and creates menu items for each subdomain
- Domain Path: Activates custom path aliases for each domain
- Domain Theme: Allows separate theme settings, themes and colors at the subdomain level
+ Ideal for publishing a workflow within affiliate sites – editors can create content centrally and then publish it to different affiliate sites. Granular permissions can be set to editors at the site level.
- Domain Access does its job well for the purpose it is intended for. In our case, we found it quite lacking in areas that were specific to us:
- We need authenticated users in certain roles to create their own sites with no possible limits to the number of sites that can be created. User roles which are assigned permission to create/manage domains will have privileges across all domains whereas we wanted granular permissions per domain level.
- This module makes use of some advanced Drupal concepts. It is expected that you comprehend and control your site's DNS configuration.
- Some of the add-on modules were not well supported and we had to fix some code to make it running.
- We feel Organic Groups has a more matured and robust implementation of group admin/group users compared to the Domain Access implementation of domain admins and domain users.
Organic Groups is the foundation module upon which both Drupal Commons and Open Atrium distributions are built.
+ Allows users to create and manage groups with subscribers. Each group can have a home page that allows subscribers to communicate with themselves.
+All Drupal content types (blog, story, page, event, etc.) can be posted into the group.
+ Groups may be public or private. Some groups choose members on an invitation-only basis while others require approval in order to become a member. There are a lot of preferences you can set to configure groups to your liking.
- Out of the box, Organic Groups is rich in functionality but lacking in a user interface. It needs considerable theming work to be usable.
Open Scholar is a website builder application designed for academics and academic institutions. Developed and maintained by Harvard University, it allows end users to create full-featured dynamic websites like a scholar’s personal site, an academic project site or a departmental site on the fly.
+ Key functionality implemented as features. Common features available: Bio/CV, Blog, Booklets, Classes, Dataverse, Events, FAQ, Links, News, Pages, Profile, Presentations, Publications, Reader and Software
+ Control Panel - A set of modules which provide the following functionality to site admin:
- Apps functionality – implemented using features + spaces. Each site can enable/disable the required features and also configure settings for each feature per site.
- Powerful layout editor with widgets and a drag-drop interface to configure layout for each section (Blog, Bio/CV etc) of a site.
- Custom Menu Editor to configure menus for each site
- Appearance Section to set the theme for each site. OpenScholar comes with 25+ pre-built themes and new themes can be developed by extending os_basetheme
- Manage custom settings for each individual site like Analytics ID, Disqus settings, MailChimp settings, custom domain name, url redirects, site visibility, breadcrumb settings, etc.
- Manage members and permissions for each site. This is implemented on top of Organic group user management.
+ VSite– A set of modules which provide the sub site feature using spaces, PURL and organic groups. As per the documentation, “Virtual Sites turn one Drupal installation into a self-service site builder-- Similar to services like Drupal Gardens, Google Sites, or Wordpress.com”. Virtual Site is a key feature of Open Scholar that differentiates it from other distributions. We see a lot of valuable and reusable functionality in vsite and hope to see it being used in other sites without any dependency on other parts of Open Scholar.
- Does not support the concept of creating sites from pre-existing templates (site with predefined layout and content). It allows the user to specify the site type (personal, project or department) and based on that, uses different set of features.
- Although Open Scholar is the one solution that met many of our requirements, there are a few points that went against it as the final choice. The distribution is primarily positioned as a solution for academic institutions and most of the available features are for academic use. It is also shipped with many features specific to Harvard University.
For our requirement, we would not be requiring many of the existing features and may need to build new features. Architecturally, we don’t see a problem in customizing Open Scholar for managing enterprise sub sites but in our current project’s context, we found this to be a time consuming and risky venture. We would be interested to see if there are any Open Scholar implementations outside the academic community and what exactly were the challenges or customization steps involved?
For our requirements, we decided to go with Organic Groups with the following architecture:
+ A site is modelled as an Organic Group entity type. Authenticated users who have permission to create a site content type (organic group) can create new sites
+ Theming of individual sites can be done using OG theme module
+ Menus can be assigned to individual sites using OG Menu module
+ Group admin can control the members – add new members, add new admin users, control group type (public, selective or invitation only)
+ Selection of template is achieved by a custom module. Upon selection of a template, a new site is created using node clone mechanism
+ Panelizer is used for creating custom templates with user-defined layouts
+ PURL and Spaces were used to manage the rendering of all the site content within the site template
Overall, the ease of extensibility and customization of Organic Groups using core and contributed Drupal modules was the principal factor influencing our decision. While Drupal Commons , Open Atrium, OpenScholar are great out of box distributions, customizing their behavior to suit our requirement would have been a challenge.