Get local : Decentralizing Online Advocacy with Drupal

Error message

The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.

Online advocacy techniques have evolved in sophistication over the years, but not in structure. From using geographic data to locate groups and events in your area to signing petitions and making pledges using Twitter, we have seen a great evolution. Nonetheless, we continue to operate in a very top-down manner: messages are generated at the organizational level and then pushed down to grassroots activists, who are asked to take action.

Another challenge for online advocacy, has been in the technology we use to implement online advocacy programs. Most systems available today, primarily CRM systems, perpetuate this top-down structure. Proprietary systems do not provide the ability to customize their functionality to fit a bottom-up model without costly custom development. This is where open source software, specifically Drupal, can be a strong tool in creating decentralized, grassroots advocacy campaigns run by activists working on the local level.

Over the past month, we have been in the lab cooking up a solution to this challenge. Looking at the existing modules for deploying advocacy campaigns in Drupal (i.e. the Petition and Letter modules) we found these were 1) structured very much around a top-down system of message delivery and 2) were implemented in a way that did will not give us the flexibility to customize campaigns to the specific needs of our clients. So, we decided to create our own module.

This new module, the Activism module, implements online advocacy on a higher level than most modules, creating a generic "Cause" content type versus implementing a specific content type for each type of campaign you may want to run. The "Cause" content type is exposed to CCK, so additional fields can be added, giving your organization total control over the data displayed on these landing pages.

Once a "Cause" is created and submitted, a "Call to Action" tab appears that allows you to associate a specific action you would like a person to take to advocate for that cause. Out of the box, the module comes with three action types: petitions, letters to the editor, and signup forms. Other action-related modules can be implemented as part of the Activism module to allow you organization to deploy innovative new online advocacy campaigns, like virtual marches, video submission campaigns, and so on.

As the saying goes "all politics is local." This expression extends to advocacy, in that all issues have a local impact. Allowing people to bring online advocacy a little closer to home can increase overall engagement over time. This is why the Activism module out of the box allows for geo-coding of all Causes and Calls to Action. This will allow your site visitors to find Causes created by local affiliates or Calls to Action related to issues close to their area.

The way we implemented the Activism module also allows for granular control over who can create and participate in campaigns using Drupal's permissions and access control system. By creating specific roles for affiliate chapters, you can allow them to create localized campaigns within the site that are available to other members of their chapter or easily searched for by users coming to the site seeking ways to get involved in their area. You can also limit online action to registered users for specific action types if needed.

This basic method of implementing online advocacy provides a number of powerful tools within Drupal for site users and administrators to make possible the creation, customization, presentation of activism tools. Features include:

  1. Custom displays of advocacy campaigns can be easily be created using Views, creating lists, tables, and full page views sorted by a variety of fields.
  2. Custom page layouts can be set up using Panels, allowing you to insert a number of other blocks and page elements to create a dynamic display of Call to Action pages.
  3. Users can interact with Causes on a higher level, allow users to share items on social networking sites, vote for them, o
  4. You can also customize how these campaigns are pushed out to constituents, via RSS, email, SMS, IM messages, and a number of other methods available within Drupal.
  5. The activism module also has native support for:
    1. Integration with CiviCRM
    2. Ability to upload shape files to generate drawnings of legislative districts

We will continue to develop this module, and will be releasing it to the Drupal community in the coming months. Stay tuned!