Workforce and automating with GitHub scripts

643
3
Jump to solution
03-22-2018 12:50 PM
Highlighted
Occasional Contributor III

Hello.  We are trying to understand the overall workflow in using Workforce, Collector, and Survey123, along with the Workforce Python scripts on GitHub to automate creating and assigning work assignments.  We are increasing our use of field tablets and apps, and removing 'paper and clipboards' from our daily activities in our Public Works and Water Resources department.  Currently, we are looking to apply the concept to fire hydrant inspections (with plans to expand this to hydrant flushing), sanitary gravity main flushing, and catch basin inspections and repairs.  We have created the various web maps and editable feature services that are opened in Collector.  We can call up Survey123 through a link in Collector, then return to Collector after the survey is submitted.  We are also looking into bringing Citizen Problem Reporter online and as part of this plan, when fielding incoming calls for trash, snow removal, potholes, etc., and assign them for action.  We would like to establish a procedure that automates creating and assigning the work overnight, and have the assignments ready to go the next morning when the field techs sign in to Workforce (mobile).  I have read through several of the GeoNet posts, and watched various Esri Workforce videos and training/learning items. We are new to this whole concept, as such, the overall process is not clicking well.  We publish to our ArcGIS for Server site and AGOL, but we are not on ArcGIS for Enterprise yet.

As a test, I began by creating a Workforce project for the Citizen Problem Reporter (CPR) application.  I added the eight feature services to both the dispatcher and worker maps in the project configuration.  These eight services are the major problems such as Trash Problems, Road, Blight, Park/Trees, etc.  I set up some dispatchers and workers in the project.  Workforce displays the various features for the eight problem services as entered in the CPR app.  If I click on one, the Create Assignment dialogue opens and I can create the assignment.  I have to enter/reenter the information (redundant) to create the assignment, and the process is still manual.  At this stage, I am unsure what to do next in terms of automation that we can apply and where/how to apply it to implement and achieve our Workforce goals.  Any guidance would be greatly appreciated!  Thank you in advance.

Reply
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Regular Contributor

Hi Jay,

I know we have a side conversation on the go about this as well, but I thought it might be helpful to others if I also a reply here as well. 

This script can help move reports collected through apps like Reporter into your Workforce assignments layer.

 

The basic premise of this script is that it will copy features from the layer you are using in Reporter to the layers used by Workforce. The configuration parameters let you specify which features should be copied (using an SQL query), which report attributes should be used to create the new feature in the Workforce layer (field mapping), and how the script should mark reports as processed (update field & update value).

 

- Allison

View solution in original post

3 Replies
Highlighted
Regular Contributor

Hi Jay,

I know we have a side conversation on the go about this as well, but I thought it might be helpful to others if I also a reply here as well. 

This script can help move reports collected through apps like Reporter into your Workforce assignments layer.

 

The basic premise of this script is that it will copy features from the layer you are using in Reporter to the layers used by Workforce. The configuration parameters let you specify which features should be copied (using an SQL query), which report attributes should be used to create the new feature in the Workforce layer (field mapping), and how the script should mark reports as processed (update field & update value).

 

- Allison

View solution in original post

Highlighted
New Contributor III

Hi Allison Muise,

Thank you for this very helpful post. I am very new to both Workforce and Survey123 but I have been able to figure most situations out thanks to the ESRI Community. I do have a couple of questions.

First, when we match pairs of fields, does the workforce layer need to include these fields prior to running the script, or will the script create them?

Second, my source feature does not have a field assignment type because the assignment type is actually determined by various factors including the age of a nest, what location a nest is in, if there have been signs of hatching. My thought was to configure the script to use the same service feature multiple times, but each time the query would be different. Instead of using pairs of fields to designate the assignment type as in your example, I was hoping I could add another update field to the script which would update the assignment type on more source layer similar to how you update the source layer to indicate that the record has been copied to workforce. Then, the updated assignment field would copy to the target data layer. Is this feasible? I'm worried that referencing the same source layer might cause some problems. I guess if it does, I could always just use two scripts and run them one after another.

Thank you for your time,

Chris Matechik

Reply
0 Kudos
Highlighted
Regular Contributor

Hi Chris,

Yes, the Workforce layer must contain the fields before running the script.

I don't anticipate any issues with referencing the same service multiple times. Just watch that there isn't any overlap in the features you query. If there is, that feature will be copied multiple times. The script currently only handles one update field. You are more than welcome to modify the script to handle more, but be aware that this does go beyond the level of configuration that Esri supports.

-Allison