Archive for February, 2008

My Foxmarks

Between a dual boot and a MacBook, I have started to have bookmark synchronization issues.

I came across Foxmarks, a neat bookmark synchronizer for Firefox. Essentially, your bookmarks are placed on a central server so you can fetch them from wherever. The only change that I made was removing some internal / sensitive bookmarks which I wouldn’t necessarily want to be “out there”, so I stored those locally.

Pretty easy!

MapServer and WxS updateSequence

OGC service standards (such as WMS, WFS, WCS, SOS) support something called updateSequence. In short, this value represents an identifier which clients (catalogs, applications, etc.) can use to maintain their local copy up to date. This saves clients from fetching and parsing an entire (sometimes hefty) Capabilities XML document in cases where the server has not made any updates.

Thanks to a recent enhancement, MapServer now supports updateSequence for WMS Server, WFS Server, WCS Server, and SOS Server. Support is triggered by mapfile metadata MAP/WEB/METADATA/ows_updatesequence. The value can be a string, integer or ISO8601 timestamp.

We initially thought of using the mtime of the mapfile, but this may not have been the most indicative. What if other files (pointed to by the mapfile) are modified, and not the mapfile? What if the mapfile is touch’d and and no content changes are made? For this reason, we went with a user-specified value. Basically, if the user knows the purpose updateSequence, they can use it and manage it at their own discretion.

I suppose the OGC could have allowed using the HTTP Last-Modified header, however that may get slippery in terms of semantics.

Give it a shot! I’d be interested in hearing how this works with existing catalogues and applications. The enhancement seems to be passing the CITE tests initially (let’s keep our fingers crossed!). At any rate, it is fun to code an enhancement like this. It’s also nice to have dedicated tests to all the use cases surrounding updateSequence within msautotest/wxs/.

Modified: 12 February 2008 20:18:00 EST