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*

  1. Use Python Toolbox
  2. Grunt task to copy files from working directory to:
    arcgissystem\arcgisinput\[folder]\[tool name].GPServer\extracted\v101\
  3. 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

All modern browsers have dev tools
Chrome Firefox Safari Internet Explorer
Basics are boring, let's see some
advanced techniques...

Thank you!

Josh Peterson

/jpeterson
/jm_peterson

Gavin Rehkemper

/gavinr
/gavinrehkemper

Please rate this session:
http://www.esri.com/events/session-rater?id=90#18940