Thursday, December 04, 2008

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!
 

5 comments:

Matt said...

Mapfish absolutely rocks! I am forever in debt to the developers of OpenLayers and MapFish. They made things possible (and dare I say, in some cases, "easy"), that I was telling clients 3 years ago was just not going happen without a very large investment in custom solutions.

Regina Obe said...

Couldn't agree more. I have yet to really get in deep with MapFish but I have been very impressed with OpenLayers and MapFish.

As great as those frameworks are, I hate trying to debug javascript (though they make that less painful).

I'm much happier sticking to the server side instead of all that gui crap, but sadly with database consulting business comes that other stuff I could care much less about.

elem said...

Regina, people have been talking about JavaScript Language Abstraction (example of such abstractions include GWT and Pyjamas). I'd recommend reading this excellent blog post and comments. Very informative.

ChrisW said...

Regina: Just in case nobody else has mentioned it, Firebug is really helpful for debugging Javascript in the Firefox browser. But you knew that already, I'm sure. Like you, I'm a serverside developer, so I need all the help I can get with this stuff.

Elem: Yeah, I'd wondered why Google hadn't produced a GWT for Python, especially as the Google App Engine is Python. Thanks for the tips.

Evan - ExtJS said...

Paul,

Looks really good. I guess the best thing is you were able to prototype in such a short time. Looks very slick!

About Me

My Photo
Victoria, British Columbia, Canada

Followers

Blog Archive

Labels

bc (37) it (29) postgis (20) icm (11) video (11) enterprise IT (10) sprint (9) open source (8) osgeo (8) cio (6) foippa (6) gis (6) management (6) spatial it (6) enterprise (5) foi (5) foss4g (5) mapserver (4) outsourcing (4) politics (4) bcesis (3) oracle (3) COTS (2) architecture (2) boundless (2) esri (2) idm (2) natural resources (2) ogc (2) open data (2) opengeo (2) openstudent (2) postgresql (2) rant (2) technology (2) vendor (2) web (2) 1.4.0 (1) HR (1) access to information (1) accounting (1) agile (1) aspen (1) benchmark (1) buffer (1) build vs buy (1) business (1) business process (1) c (1) cathedral (1) cloud (1) code (1) common sense (1) consulting (1) contracting (1) core review (1) crm (1) crockofshit (1) cunit (1) custom (1) data warehouse (1) deloitte (1) design (1) development (1) digital (1) email (1) environment (1) essentials (1) evil (1) exadata (1) fcuk (1) fgdb (1) fme (1) foocamp (1) foss4g2007 (1) ftp (1) gds (1) geocortex (1) geometry (1) geoserver (1) google (1) google earth (1) government (1) grass (1) hp (1) iaas (1) icio (1) industry (1) innovation (1) integrated case management (1) introversion (1) iso (1) isss (1) isvalid (1) javascript (1) jts (1) lawyers (1) mapping (1) mcfd (1) microsoft (1) mysql (1) new it (1) nosql (1) opengis (1) openlayers (1) oss (1) paas (1) pirates (1) policy (1) portal (1) proprietary software (1) qgis (1) rdbms (1) recursion (1) redistribution (1) regression (1) rfc (1) right to information (1) saas (1) salesforce (1) sardonic (1) seibel (1) sermon (1) siebel (1) snark (1) spatial (1) standards (1) svr (1) taxi (1) tempest (1) texas (1) tired (1) transit (1) twitter (1) uber (1) udig (1) uk (1) uk gds (1) verbal culture (1) victoria (1) waterfall (1) wfs (1) where (1) with recursive (1) wkb (1)