A Writing Technical Documentation series by Jacob Kaplan-Moss

Jacob Kaplan-Moss helps maintain Django’s high quality documentation along with being one of the co-creators of the framework itself. His series on how to write great documentation is going to be a great help to me.

CMS links for Tuesday, May 26th, 2009

CMSWire: SharePoint vs Alfresco: A Platform Perspective

CoPress: Building a Django CMS for the Spokesman Review

J. Boye: A new CMS every 3 years?

CSMonitor: Monitor changes: What’s a Content Management System anyway?

Worth a look

Feedjack – A Django+Python Powered Feed Aggregator (Planet) Feedjack is a feed aggregator writen in Python using the Django web development framework.

The basis of a Philly Future re-build and re-invention?

NYTimes on using GeoDjango

Nice work NYTimes.

Open: Represent:

We built Represent with Django, the Python web framework. Although we do most of our work with Ruby on Rails, we chose Django for this project so we could use GeoDjango, an add-on that supports geometry fields and extends the ORM to allow spatial queries.

We started with maps from New York City’s Department of City Planning showing district boundaries for City Council, State Assembly, State Senate and the U.S. House of Representatives. We used the Geospatial Data Abstraction Library, a translator library for raster geospatial data formats, through GeoDjango’s LayerMapping class to populate a PostgreSQL database extended with the PostGIS spatial extension. The geometry relationship functions provided by PostGIS allow for quick, accurate lookups to determine which legislative districts contain your address.

Represent shows you your address in relation to each of the political districts that contain it. To draw the maps of your districts, we used GEOS, a C++ port of the Java Topology Suite, an API for modeling and manipulating 2-dimensional linear geometry, via GeoDjango’s GEOS API. GEOS allows for the conversion of a geometry to KML, which can then be consumed by Google Maps.

But to do all that, we need an address: yours, hopefully, if you live in New York City. To turn that address into coordinates, we built a geocoding service based on Geo-Coder-US, the perl library that powers geocoder.us.