TerraGo Publisher for ArcGIS version 6.8 has been released along with its sibling products Composer and Toolbar. 6.8 represents a considerable and exciting step forward for Publisher with its introduction of what we’re calling PubPy: ArcPy-compatible Python extensions which can be used to automate Publisher workflows and create custom Publisher-powered geoprocessing toolboxes.
ArcPy is the noble extension framework implemented in the Python programming language which supplanted the venerable AML, or Arc Macro Language. In the 21st century, there’s no excuse to implement an extension language that doesn’t live within a general purpose programming language, lessons that AutoCAD and Emacs got right decades ago. Ah, PostScript, that lovely language. But I digress… ArcGIS certainly has this right today with Python, and that’s what matters. What’s particularly fun about this set of capabilities is that it has generated excitement inside TerraGo in places you don’t expect to find unabashed enthusiasm about a new feature: the quality assurance team! One QA expert was positively beaming when he reported at a daily stand-up meeting that he’d automated a wide variety of testing tasks and they were running as he spoke. The benefit to QA notwithstanding, one of the promises we’re very much looking forward to is simpler integration into ArcGIS for Server applications. One of the things that is often easy to miss is that Pub comes in two flavors: Desktop and Server. In the past, developing Pub-powered geoprocessing toolboxes for use with ArcGIS for Server apps, while possible, was more tedious and fragile than you might hope it to be, due to how ArcObjects COM interfaces work (won’t bore you with that here). Making our Publisher interfaces available through Python and accessible to ArcPy scripts remove the tedium and fragility, and if QA is to be believed, makes working with Publisher even more fun and productive. PubPy is a significant new capability, one we’re looking to continue to refine and enhance as we continue to move Publisher forward both on the Desktop as well in ArcGIS for Server environments. It’s one made possible by Esri’s excellent decision to extend ArcGIS with an industrial strength programming language in Python.