CMS Migration Project Plan for MPP

Last Updated: 2007/05/22

MPP relies heavily on the web for the dissemination of its information, events organization and fund-raising. The current state of the web deployment is fairly complex and largely functional, but it has essentially reached the limits of its capacity to grow to meet the expending needs of MPP as an organization. There are two primary areas where attention is most needed:

  1. The company responsible for the CMS for MPP's main site, Kintera, has offered a consistently mediocre product and nonexistent customer support. Their software limits both the types of designs that are permissible and the speed that new designs can be created.
  2. MPP's campaign sites have been developed over the course of several years. They are hosted in a variety of environments and are largely only editable through the intervention of the IT staff.

Use Case Scenarios

In deciding upon a software solution, a common step in the process is to outline scenarios for the use of the product. In doing so necessary features of the system can be identified.

mpp.org

MPP's primary site will be hosted by Convio. The needs of the site are not discussed here because they will hopefully be met by Convio and will not affect the requirements of the internal CMS in any case.

granitestaters.com

MPP uses a variety of individually designed sites to present information about particular campaigns in a personalized way. GraniteStaters.com is an example of this type of site. It is aimed at voters in New Hampshire — the site of the first presidential primary. The site has several functions:

After the initial site design, all information should be updated by the Federal Policies department. They should be able to log in via the web and:

activism.mpp.org

In an effort to increase MPP's grassroots efforts on the web, an activist blog was started. The concept is that it would be a private forum for major actors in the marijuana policy effort to coordinate their efforts and share ideas. The functions of the site are:

media.mpp.org

MPP has a variety of short pieces of film, radio segments and archived news stories about the organizations mission and battles. This information is not accessible in a central repository and such a site could potentially be very popular. The function of the site would be:

Project Goal

MPP's sites hosted in a manner that meets the following goals:

  1. Rapid and flexible development of new sites
  2. Maintenance and addition of content across sites distributed across the organization to the appropriate departments

The specific characteristics needed in the CMS are:

CharacteristicDescription
Concise Template Specification

The majority of websites have design elements that are shared across multiple pages: headers, navigation, sidebars, etc. The specification of that structure and how content items are included in it is a template. There are a variety of different methods used for specifying templates. Kintera and Convio both use specialized XML vocabularies (invalid XML in the case of Kintera). Most open-source CMSes use some sort of PHP based toolkit.

The templating language is one of the most important features so far as site development time. A concise language can significantly reduce development time by reducing duplicated effort whereas a poorly designed one can actually add development tasks to compensate for issues with the design. (See Kintera's forms module for an excellent example.)

PHP is commonly used because it is bundled with the most common webserver on the internet, Apache. This means that developers wanting to appeal to as wide an audience as possible will use PHP and MySQL since that is available on the bulk of hosting providers. The reason that many commercial providers use custom XML vocabularies is XML is a generic format for specifying data structures. A variety of tools exist for dealing with XML and by using XML in the CMS, companies get the use of those tools as well as easier interoperability with other vendors. (As noted earlier, Kintera's format is nearly XML, but is invalid in a couple fundamental ways, so I assume they heard XML is cool and attempted to include it for buzzword compliance. As usual, they failed.)

Web-Based Interface

Though the web developer might be comfortable working with pages of code and command-line programs, the average user has neither the need nor the desire for such things. To properly support the distributed maintenance of sites, users should be able to authenticate to an administrative interface where they can create, edit, update and delete content. Editing of XHTML should be done in a WYSIWYG pane.

The interface should also provide access to user management functionality, system configuration and usage statistics.

Content Moderation

Some CMSes include workflow management functionality that specifies the stages in the publication process for a piece of content. For MPP, an example of an ideal workflow might be:

  1. Basic site template and types of content items defined by web administrator
  2. Navigation hierarchy and page content entered by departmental staff
  3. Revisions to content by chief of staff
  4. Final approval by executive director
  5. Publication

This is similar conceptually to the current structure except that content edits are generally funneled back through IT. Ideally each individual would log in and see items that are available for their review and editing. Most workflow managers are queue based so you work through a list of items bumping them either back to the previous level on on to the next.

Content Versioning

Content frequently goes through a variety of revisions during the course of its life. A report or the structure of the site might be changed multiple times through the course of its life. The majority of the time the nature, date and author of changes is unimportant. In the .5% of the time that retrieving a past revision becomes important, it can be extremely important. (Kintera ate a large chunk of the Boynton Beach Party page a couple weeks ago. I happened to have a copy saved which is what enabled me to get it back up in five minutes.)

Versioning provides an audit trail to be able to determine which edits were performed by whom at what time.

Efficient Document Generation

As the sophistication of software systems increases, their processing time has a tendency to increase as well. It is possible to mitigate those increases with more powerful webserver, but it's important to remember that the right page can take a site from 1,000 hits per day to 500,000 per hour overnight.

Granular Access Control

Administrators should be able to limit users' ability to view and edit different parts of the site. This should include distributed user management as well as content management.

Project Plan

The sites will continue to be hosted in a pair of CMSes:

There are three primary development paths to consider for the internal CMS:

The real choice was between customizing an open-source solution and developing a new system from scratch. There is a huge amount of work being done on the web currently and software-wise there is a huge proliferation of open-source content management systems. This is unfortunately because the bulk of projects meet the needs of the specific project the designer created them for. Also it is because there are several different schools of web design and content management philosophy and different projects arise from those. The projects that I looked at specifically were:

The recurring issue was that every CMS must attempt to strike a balance between the web developer's need for expressive power and the end users' need for comprehensibility. The bulk of projects simply ignored the scenario where maintenance will be performed by multiple people. Many which addressed it had models for site design which were difficult to work with to design sites on the short schedules frequently present at MPP.

The information from Kintera needs to be organized and restructured. The structure of the data needs to be maintained while being reorganized and none of the existing CMSes seem well suited to that task. A custom solution can meet this need as well as the other needs better than the customization of an existing system. Perhaps with an unlimited amount of time, becoming an expert in Joomla might work better for the long term, but to meet the short deadlines it is easier to write code.

Timelines

The tasks are divided based on my trip to Peru on June 2nd. Basic editing in the internal CMS and the export of data from Kintera so that it can be reorganized and cleaned. Then, once I return, there will be the export of the cleaned data into Convio's import format and the addition of more advanced functionality into the CMS. The deadline for phase two will be the launch of 70years.org to commemorate the 70th anniversary of marijuana prohibition on August 2nd.

The tasks are:

Campaign Sites

SiteDescription
ChangeMarijuanaPolicy.org Redirect to mpp.org
ChangeTheClimate.(org|com) Adopted national campaign site
ControlMarijuana.(org|com) Redirect to mpp.org
CRCM-NV.(org|com) Redirect to RegulateMarijuana.org
forfeiture.org Redirect to mpp.org
GraniteStaters.com Granite Staters for Medical Marijuana — Listing of presidential candidates positions on medical marijuana
JoinMPP.org Landing page for tracking effectiveness of radio ad campaign
MandatoryMadness.(org|com) Stories of victims affected by mandatory minimum sentences
MarijuanaPolicy.(org|com) Redirect to mpp.org
MarijuanaPolicyProject.(org|com) Redirect to mpp.org
MarijuanaRegulation.(org|com) Redirect to mpp.org
MinnesotaCares.org Minnesotans for Compassionate Care
MontanaCares.(org|com) Medical Marijuana Policy Project of Montana
MPP-VIP.(org|com) Marijuana Policy Project VIP Campaign
MPP.org MPP's Primary Site
OstrowAssociates.com Dr. David Ostrow
ProhibitionCosts.org The Budgetary Implications of Marijuana Prohibition
RegulateMarijuana.(org|com) Committee to Regulate and Control Marijuana — Nevada Decriminilization Initiative
RegulateMarijuanaInAlaska.(org|com) Regulate Marijuana in Alaska
RIMedicalMarijuana.org Redirect to RIPatients.org
SaveHemp.org Redirect to mpp.org
SDMedicalMarijuana.(org|com) South Dakotans for Medical Marijuana
SensibleMarijuanaPolicy.org Committee for Sensible Marijuana Policy — Massachusetts Decriminalization Initiative
SensibleSantaCruz.org Santa Cruz Citizens for Sensible Marijuana Policy
StopArrestingPatients.(org|com) Michigan Coalition for Compassionate Care
StopTeenUse.(org|com) Stop Teen Use of Marijuana
TaxationAndRegulation.(org|com) Redirect to StopTeenUse.org
TruthAboutMarijuana.(org|com) Redirect to mpp.org
VermontMPP.org Redirect to vmpp.org
VMPP.ORG Vermont Marijuana Policy Project