The Demand for Membership Management Modules

Do you remember the days when all you could do when visiting a website was read the pages it was composed of? Those were simpler days, but also much less interesting. Today, there are literally thousands of websites and apps that can help you manage any aspect of your life.

Increasingly, interactive membership websites are a type of service that users are coming to expect. Members of clubs, fan sites, and other types of organizations are demanding the ability to accomplish more of their typical membership functions within the website, and the leaders of those organizations have an obligation to deliver.

This isn’t a change that cropped up over night, in truth the underlying technologies to provide at least the basic features of a membership site have been in place for years. To underscore this, a quick search of the membership site plugin market for Wordpress reveals a thriving ecosystem of developers providing tools for turning a basic blog into channel for generating revenue and securing content.

Unfortunately, one cannot quite say the same thing about Drupal. Sure, there are some modules and third-party systems that can be cobbled together to make a working system, but these solutions typically have deficiencies which leave the developer team with more challenges later on.

Existing Drupal Membership Solutions

The current state of membership solutions for drupal websites essentially includes two general methods, “buy a role” or “CRM integration”.

The “buy a role” method involves using a system like Ubercart or Commerce, plus additional modules like Rules and Commerce Subscription to grant roles to a user after purchasing or signing up for a membership. The roles system is then utilized to prevent access to secure content that only members can see.

CRM integrations like RedHen and CiviCRM are excellent modules providing great functionality from a customer relationship standpoint, but they also have submodules or features to establish a basic membership site experience.

The Downsides of These Solutions

If you desire a more robust membership solution for your website, then any of these solutions will eventually present one sort of problem or another. For instance:

  • What if your members want to have multiple users per membership?
  • What if you want to keep a history of membership terms? This is something that could be useful for a loyalty rewards system.
  • What if you want to be able to add bonus time to a membership? Often, organizations run promotions where they will end up wanting to give some kind of bonus time on a membership as a reward.
  • What if the customer wants the solution to be 100% Drupal, with no third-party software? If data is stored in multiple places or within proprietary software it can be difficult to manipulate.

So, here is our answer to these problems...

The Membership Entity Module

The Membership Entity module has been designed from the ground up to be a dedicated, versatile, and extensible solution to the demand for a Drupal-based membership website.

Overview of features:

  • It is built upon the entity framework of Drupal 7 (hence the name) thus ensuring interoperability with essential tools like Views or Rules. Automatic integration with these systems can shave off a lot of development time, making it easy to create reports or special rules actions to act on member data.
  • The memberships are entities and so can be tracked or manipulated independently of the Drupal user account. Less hacking of the user module. Memberships are also fieldable by type, allowing a great deal of customizability for meeting an organization’s structure.
  • And of course membership terms are also their own type of entity, making it possible to keep a historical track of things like first terms joined, renewals, lapses, etc. The configuration of terms is very granular and modifiers can be added to their length, overall providing a significant amount of control.
  • Importantly, the approach of this module’s development has been to be as generalized as possible, while still being full featured, in order to handle a variety of differing use cases and customer needs. Where assumptions cannot be avoided the pluggable nature of the Drupal hooks system facilitates overriding functionality to meet your needs.
  • Additionally it is being released as a contributed module to Drupal.org and not as a commercial product.

What this is not:

  • The "Membership Entity" module is in no way connected to the existing "Membership" module. This is a completely separate project that is centered around using the Drupal Entity API.

Memberships in Action

Part of the reason Monarch Digital sponsored the development of this module was because we recognized the need for a comprehensive membership management interface. With each new customer project that requires a membership site, the underlying codebase is improved and the Membership Entity module evolves. Here is a sample list of organizations utilizing the Membership Entity system within their websites:

  • Mercedes-Benz Club of America (http://mbca.org)
    • D6 - Completely custom membership solution
  • North American Rock Garden Society (https://www.nargs.org)
    • D7 - Membership Entity v0.1
  • Porsche Club of America (http://www.pca.org)
    • D7 - Membership Entity v1.0 Custom ubercart integration
  • Catalina 36 International Association (http://www.c36ia.com)
    • D7 - Membership Entity v1.0 Commerce integration v1.0
  • Colorado Emergency Management Association (http://cemacolorado.com)
    • D7 - Membership Entity v1.0 Custom ubercart integration

Check Out the Project

For additional information about how to install and configure this module, please visit the project page at Drupal.org (https://drupal.org/project/membership_entity)