Rocking and Tooling your GeoDev Environment
Gavin Rehkemper & Josh Peterson
“Always code as if the guy who ends up maintaining your code will be
a violent psychopath who knows where you live.”
- Martin Golding
Work faster, smarter, and with quality.
"Software Craftsmanship"
Javascript and Python are the
Batman and Robin of geo dev.
IDE
Task Automation
Dev Tools
I use IDLE & Dreamweaver.
...opens PyCharm & Sublime Text
Theme it
Seti UI (file icons, clean interface/colors)
Extend it
ColorHighlighter
Supports variables!
GitGutter for repo comparison
Emmet for text expansion
SublimeLinter
JSFormat enforces syntax
Protip: project-specific configs
Anaconda for Python
Imports Validator
Autocomplete - Even for Arcpy!
IDE
Task Automation
Dev Tools
npm to install plugins
package.json to manage them
Configure tasks in
Gruntfile.js
grunt.registerTask

Chain tasks for common workflows
grunt-contrib-connect
start a web server
grunt-concurrent
run tasks concurrently
grunt-autoprefixer
add vendor prefixes
grunt-uncss
remove unused CSS
grunt-shell
run shell commands
grunt-zip
zip and unzip files
Automation for Python
The Plan*
- Use Python Toolbox
- Grunt task to copy files from working directory to:
arcgissystem\arcgisinput\[folder]\[tool name].GPServer\extracted\v101\
- Grunt task to restart ArcGIS Server: grunt-ags-admin
* Use for development only, and at your own risk!
video link
IDE
Task Automation
Dev Tools
Basics are boring, let's see some
advanced techniques...