Site Network: Prison Policy Initiative | Prisoners of the Census

About the Prison Policy Initiative

Design

The basic structure of all of our sites is based on the Andreas02 design by Andreas Viklund. The map in the header of PrisonPolicy.org shows state and federal prisons by their size and is based on a dataset created by Rose Heyer for her map U.S. Prison Proliferation, 1900-2000. The map in the header of PrisonersoftheCensus.org is a detail from Percent Black Population Incarcerated by County, excluding counties with small Black incarcerated populations also produced by Rose Heyer for the Too Big to Ignore: How counting people in prisons distorted Census 2000 report.

The icons used in some of our web applications are from the Silk series by Mark James.

Technology

Our websites are hosted by pair.com. The newresearch and prisonersofthecensus-news mailing lists are powered by Mailman.

The Prisoners of the Census blog is managed by Wordpress, as is some of the "What's New" content on PrisonPolicy.org. The actual What's New section on the PrisonPolicy.org site is created using a custom php script that pulls content from our various content generation system and sorts it by relevance and date.

The research and factsheet databases are powered by a heavily modified version of Links 2.0 by Gossamer Threads.

The legal resource database, the music database (coming soon), and all of the interactive tools on PrisonersoftheCensus.org are custom PHP/MySQL scripts. The 404error pages are also produced by a custom PHP scripts that we hope to publish soon.

The PrisonersoftheCensus Correctional Facility Locator uses the Census website to show Census geographies and uses the GoogleMaps API for all other maps. Much of the data about block populations underlying the locator was originally provided by Bill Cooper of FairData 2000 for his Group Quarters Mapper.

We are frequently asked how we structure our content and navigation. The common header and footer elements on our pages are produced with simple php include statements. Each html page starts with the declaration of a few variables and then calls the header script to produce the top half of the page:

<?php
$section="About"; 
$title="About PPI";
include("header.php"); ?>

then there is the actual, generally hand-coded, page content, and the file ends:

<?php include("footer.php"); ?>

The header and footer files then contain a series of if then statements to allow us to generate custom content based on which section of the site is calling the script. But the most immediate benefit of this approach is that it allows us to keep the common elements on each page in one location for ease of editing.