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:
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'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.
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:
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:
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:
MPP's sites hosted in a manner that meets the following goals:
The specific characteristics needed in the CMS are:
Characteristic | Description |
---|---|
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:
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. |
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.
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:
Site | Description |
---|---|
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 |