Swimming with the MapFish

So, I was at a client site this week, doing a few days of reviewing their application and providing advice on PostGIS design, Mapserver performance, all my favorite things. And we come to the last day, and they say “you’ve been talking about how our application would look so good if we used OpenLayers and ExtJS and how great those tools are so… how about you mock up a little data entry application using our data for us this morning, before your flight?”

Glurp!!

I’m not much of a web programmer, but fortunately OpenLayers and MapFish have adopted a policy of “documentation by example”. OpenLayers is by far the leader in this, eschewing tutorials in favor of a long list of tiny example pages, each one demonstrating a discrete unit of functionality.

Since “mediocre authors borrow, great authors steal”, I set about finding something I could steal that would get me closer to my goal. Fortunately, I quickly found want I wanted in the client code base of MapFish – Mapfish is an ExtJs/OpenLayers framework, so it had the components I was yapping about, and it included a simple editing example.

MapFish Default Editing Example

Starting from there, hooking up the client’s map services, using the OpenLayers examples to grab some extra layer types, and adding a few buttons, I had the desired proof of concept in plenty of time to make my afternoon flight. Thanks MapFish and OpenLayers, for making me look so damned good!