Joomla vs. Drupal — A Comprehensive Comparison - Site Membership Features

By Justin Kerr
March 15, 2014

Table of Contents

Site Membership Features

Both Drupal and Joomla include extensive default access and permissions controls to allow site administrators, content producers, and other authorized personnel to log into the website and manipulate content, change configuration settings, add features and conduct other site editing or administrative work. Public-facing site memberships require different approaches for both Drupal and Joomla, at varying cost levels.

Drupal iconDrupal

Custom configuration and development work is a requisite for Drupal sites with public-facing membership features. By default, Drupal installs with two types of user “Roles” available to the system: an anonymous (or public) user role, and an authenticated user role, used to enable Drupal administrative login. A single super administrator account is initially available for site configuration and build-out. A core Users Module enables account signup and login features, and a core Profile Module supports basic user profile pages, as well as a “My Page” feature that lets users edit their own profile information.

Drupal manages site access levels through a system of custom Roles defined by Permissions that tie to allowed behaviour within Modules and other site elements; Roles also tie into display options for Blocks. This system can support completely custom access schema, as well as extremely granular control over user access to content and interactive features. Each Drupal system Module includes its own set of allowed behaviors; changes to a site’s Modules list or Permissions schema often require adjustment of configuration settings for the other set of elements.

Implementation of Drupal membership features is a complicated, custom process that typically requires installation and integration of numerous contributed Modules, each of which enables a specific subset of user or membership capabilities. Drupal offers no standardized process for this: Enabling these features comes down to which collections of Modules and configurations are preferred by the developer, and how that is designed to interact with the site’s architecture. For example, one site’s access control architecture may be designed around user-defined Node access, whereas another site’s access control might be developed to relate to that site’s Taxonomy.

Some recommended approaches include using a specific family of Modules designed to work together to enable membership and community features, as well as numerous developer “recipes” for enabling specific site membership features. In addition, some Drupal distros are designed to support community and/or membership features and come preconfigured with the necessary Modules and configuration settings to support this upon site installation.

Joomla iconJoomla

Joomla includes several in-built features to support site administration and membership options. Upon installation, a single super user account enables login to both Joomla’s publicly facing front end and its administrative back end (in which the bulk of site configuration and build-out occurs). A front-end Joomla Module and native membership capabilities allow for user account signup, confirmation and login; a very basic default profile page lets front-end users manage their account information. On the back end, a user management control panel provides administrative-level account controls, as well as access to settings to enable selective access to content and features.

Joomla employs a system of user Groups and Access Control Levels (ACL) to define who gets access to what on both the front and back end of a Joomla site. Joomla’s user Groups operates as a hierarchical list with deeper nested groups inheriting the capabilities of their parents. By default, Joomla ships with some pre-built user Groups designed to support common site production and membership uses: a hierarchy of Public > Registered > Author > Editor > Publisher focused on front-end usage, and a back-end hierarchy of Manager > Administrator > Superadministrator. Authorized admins can create custom Groups and Group hierarchies from Joomla’s back end control panels.

Groups’ access and capabilities are defined via Joomla Permissions, which are associated with various Joomla Components, Categories and content items, all defined through the back-end administration interface. A common set of Permissions (View, Edit, Delete, Edit Own, etc.) are available throughout core Joomla Components, with varying levels of Permissions supported by third-party software. Permissions can inherit both through the Groups hierarchy and Joomla’s standard Categories hierarchy, down to the individual content item, and Permissions apply to elements on both the front end and back end of the site. There is no granular Permissions integration for elements inside a Joomla content item, however, some basic differentiation is built into Joomla’s front-end content editing process.

Joomla’s ACL relates to the front end of the site, determining which collections of users can view and access front-end content and interface elements. It consists of different, named access levels to which multiple user Groups can be assigned. By default, Joomla ships with four initial Access Control Levels: Public, Registered, Special and Guest, with each level associated with one or more user Groups. User accounts assigned to a Group then receive the ability to view front-end elements assigned with a related ACL setting. Authorized administrators can set up and assign new ACL levels, and and Joomla’s user registration settings can be set to target a specific Group by default upon new user signup.

Joomla’s native membership capabilities do not include many elements required for online communities or paid access services. For these needs, third-party plug-in software extends Joomla to enable things like paid access to content, enhanced user profiles, communication and messaging channels, and community-specific user groups. Available software ranges from small, discrete enhancements for Joomla’s existing membership infrastructure to entire drop-in software suites that automatically enable a wide variety of membership features and include integration with other types of third-party community software.

Dollar sign iconCost Conclusions

Both Drupal and Joomla install by default with extensive capabilities for site administrators to log in and conduct site buildout. However, after this point, the costs for enabling site membership features can vary enormously. 

Drupal requires development time to implement even basic site membership capabilities: Although Drupal includes many of the discrete elements needed to support site memberships, it is up to the developer to knit them together and properly associate them with the particular access and permissions schema for that site. Drupal’s approach supports massively complex and expansive setups for user access, content management capabilities and workflows, with costs for engineering and implementation directly related to the complexity of the membership system. Because Drupal does not offer a standardized method for setting this all up, it may be more difficult for new developers to pick up and work with an existing membership-centric site. Mitigation of some development costs can come through families of third-party Modules designed to work together to enable membership features, as well as entire Drupal distros pre-loaded with a set of ready-to-go membership and community capabilities.

By default, Joomla offers more site membership features than Drupal, including account signup/confirmation/login, basic user profile and account management pages, and Joomla’s Groups/ACL/Permissions schema (with a default configuration to support initial access and content management). This makes it easy to quickly get started with basic membership capabilities. However, special requirements for community, communications or payment features will require third-party extension software, including commercial open source software (although the licensing costs for this are still nominal). Membership-focused Joomla sites may face limitations through imperfect support of Permissions by third-party software, few practical options for implementing custom workflows, and an inability to enable granular Permissions inside of content items.

Site membership cost comparisons between Drupal and Joomla are very closely related to the membership feature requirements for that site. Joomla is a better option for sites with basic membership requirements, or those that fit within Joomla’s native capabilities and/or those of available third-party membership and community packages. Drupal’s membership capabilities can take much longer than Joomla’s to set up, but they offer more customization and workflow options, as well as much more granular permissions. Drupal’s membership schema can also take more time to engineer and plan, due to the many available options and lack of a single standard for implementing membership features.