MapServer Workbench Tom Poindexter Talus Technologies, Inc. tpoindex@nyx.net http://www.nyx.nyx/~tpoindex MapServer Workbench Copyright 2000 Tom Poindexter Portions Copyright: Peter deVoil, 1999 Michael Kraus, 1999 John Reekie, 1998 George Howlett, 1999 See LICENSE.TXT for copyright and licensing terms. Released under LGPL. Release 0.3 January 5, 2001 INTRODUCTION MapServer Workbench is a suite of tools designed to develop MapServer mapping applications. The suite is written in Tcl/Tk, and requires the Mapscript Tcl interface distributed with Mapserver. MapServer Workbench includes: msappwiz.tcl - MapServer App Wizard, an interactive map application building tool. The Wizard builds minimal working map applications. MapServer Editor should be used to finish map details such as map extents, min and max layer and label attributes, etc. msedit.tcl - MapServer Editor, a tree-structured mapfile editor. Reads existing mapfiles, applies some data type edit rules, and writes out mapfiles. Uses the Mapscript interface to test mapfiles with the official MapServer mapfile parsing routines. msexplorer.tcl - MapServer Explorer, an interactive map display and query tool. Based on Peter deVoil's maptcl-demo.tcl, changed to use mapscript 3.3.012+ Tcl interface, and enhanced to work in the MapServer Workbench suite. msshapex.tcl - MapServer Shape Explorer, a utility to view Shapefile information. A shapefile's related .dbf attribute file can be browsed. Shapefiles can also be viewed through use of MapServer Explorer. - MapServer Workbench welcomes your contributions! Don't consider these tools as the only tools for MapServer. NOTES Various tools in the Workbench are designed to interact, e.g., while editing with msedit.tcl, you can start the MapServer Explorer to view the current map. MapServer Workbench uses several Tcl packages beside the Mapscript interface. Several tools make use of "msTclObjs", a Tcl package providing independent MapServer map objects. msTclObjs can build map object trees, parse existing mapfiles, write map objects to a file, and more. msTclObjs itself uses "obstcl", a lightweight object oriented extension for Tcl. "mkWidgets" is utilized for additional Tk widgets. Each of these packages are Tcl-only extensions, and do not require other compiled code to run. MapServer Workbench was written and tested with Tcl/Tk 8.3.2, under Linux. The Workbench can run in Windows, provided you have installed Tcl/Tk and Mapscript/Tcl for Windows. REQUIREMENTS Tcl/Tk 8.3.2 or greater is required. If you don't have Tcl/Tk, get it at http://tcl.sourceforge.net Mapserver 3.4 or greater is required. 3.4 is available in the CVS section, or download the 'nightly' CVS build. Get MapServer at: http://mapserver.gis.umn.edu Mapserver Mapscript Tcl interface is required. Mapscript is a scripting langauage extension for Mapserver, and builds interfaces for Tcl, Perl, and others. The Mapscript Tcl interface is required. After building MapServer, change to the mapscript/tcl directory, and build and install the Tcl interface. For Windows users, a pre-built DLL is provided. See the Mapscript/Tcl README for more information. INSTALLATION UNIX: Run 'install.sh'. The 'install.sh' shell script finds a working wish executable, and asks for an installation directory. install.sh then modifies each program to use the proper wish executable, and makes links to the programs in the installation directory. A tiny Makefile is also included for those lapses of habit. 'make install' just runs install.sh. For testing, I recommend that you unpack MapServer Workbench in your mapserver/mapscript/tcl directory. That way, you can run the tools without first installing Mapscript Tcl, since the tools look in the immediate parent directory for the Mapscript Tcl interface, in addition to standard Tcl install directories. WINDOWS: Click on 'setup.tcl' The install script simply adds a new program group to your 'Start' menu, and adds each of the MapServer Workbench tools to it. You should unpack the msworkbench.tar.gz archive into a directory you want to keep around. You can use the popular 'WinZip' program to unpack tar.gz files on Windows (http://www.winzip.com), or use gunzip and tar from the Cygwin tools (http://sources.redhat.com/cygwin/). OTHER NOTES mkWidgets: mkWidgets was written by Michael Kraus. Michael's Tcl pages are at: http://ourworld.compuserve.com/homepages/mmg_kraus/TclCornr.htm I modified the pane widget to start at 30/70 frame dimensions for msedit.tcl. obstcl: obstcl was written by John Reekie, and enhanced by me. the original page is at: http://ptolemy.eecs.berkeley.edu/%7Ejohnr/code/obstcl/ Note that John's pages document an eariler version of obstcl. The use of obstcl will likely be replaced with [incr Tcl] in a future release, when [incr Tcl] becomes a core Tcl feature. (slated for Tcl 8.4+) Until then, obstcl provides a nice object oriented package in a few hundred lines of Tcl. -finis-