What are Tasks and why/when would I use them?

Tasks are a new feature in ArcGIS Pro that are used to build and store repeatable steps into a file that can be run. You make a Task Item (kinda like a Toolbox) and in it you make a Task (kinda like a Model or Python script). Then the task editor opens and you build your process step-by-step. Along the way you can create temporary editing sets, variables, and pull in ANY menu tool or ANY geoprocessing tool. THAT INCLUDES THE ABILITY TO INTERACTIVELY SELECT FEATURES! You can't do that in a model or a Python script.

The good news is that you don't really have to be a programmer to make these ... and you won't even write any code. I'll admit that you need to maybe think a bit like a programmer because you have to line up all the steps in order and make sure to document everything. That's sort of like programming. But you won't spend hours hunting down a comma or period that was accidentally put in the wrong place (groan).

But wait .. if you ARE a programmer your tasks can call a model or a Python script. It's just another step in the task and will even pass along your requests for input. Really slick.

Here's an example of a task. And hey, this one isn't in the book - you got to buy it to get the good stuff!

Let's say that I have to do the famous "Property owner notification" for a zoning change. Every city has to do these, and most people know what these are. You basically have to select some parcels that want to have some City Council action (like a zoning change or replat or special use permit). Then you have to draw a buffer around it (200'). Then select the property within the buffer and make a little map of this. Oh - and sometimes they want you to export the results to a spreadsheet so that they can do a mail out, but not always.

If I did this in a Model or Python script, I'd have two problems. I'd have to make sure that I had the subject property selected BEFORE I started, THEN I'd get the exported table whether they wanted it or not. But in the task I can a) let the user interact with the map and b) make the step for the table export OPTIONAL. Skip it and the task goes merrily on.

As I set this up, I'd want a step for the user to select the property - just hit RECORD and click it on the the toolbar and it automatically creates that step. I don't even know what that thing is called - it's the little arrow. The user can select or unselect as many parcels as he wants using the normal select functionality. Then click Continue.

It's going to make a 200' buffer so I can grab the Buffer geoprocessing tool and add it. It's always going to buffer the selected features, and always at 200', so I only need to ask for an output file name. The rest can be preset so that no one changes it.

Then the 'Select Layer by Location' process needs to happen. I recorded that tool off the menu, too. It's always the same select layer and uses the buffer from the last step (which the step remembers for you) so I can make that step totally automatic and not even show the user that anything is happening. Blip - go on.

Then it'll present the "Export File" optional step and if you don't want that just click Skip.

Now the next time (and next 100 times) I run this task it'll repeat the exact actions with the appropriate user input and I'm certain to never miss a step. And now my intern can do this chore and I'm sure that THEY can't miss a step or do it wrong.

(Ever get a phone call in the middle of one of these and forget where you are - is this the correct selection - dangit - start again)

And I've got another good tasking reason. Once a year I have to do summaries of water pipes, sewer pipes, manholes, hydrants, and a bunch of stuff like that. They compare it with last year's numbers to show how much work was done. One year I messed up and did the process a different way (I didn't remember exactly what I had done a whole year ago) and the numbers came out different. I can still hear the City Manager yelling "How come we lost 8 miles of sewer line and only added one fire hydrant in all of last year!?!". That was a bad day.

After that I wrote out a set of instructions on how to do that workflow, and have since made that into a task. I don't have to try and remember exactly how I did this - the task remembers for me. I can run that thing a hundred times and always get reliable results.

So you see there are repeatable workflows that you do that need to be documented - they need to be done exactly the same way no matter who or how many people do it. And there's simple processes that I spend more time setting things up than it takes to do the actual analysis.

The tasks are gonna save you there. They have the ability to do ANYTHING you can do from the leyboard (except misspell words) - just automate it and let the task remember how it's done.

Try making one - if you get confused let me know or buy the book. You'll be a taskmaster in no time!