Does the new Collector support "feature templates"?

1614
7
Jump to solution
04-25-2019 03:24 PM
RoyceSimpson
Regular Contributor

I've got a web map with hosted feature layer symbolized on a certain field... when I start editing that web map, I see a pick list of features I can create and add to the map based on that "feature template", similar to how feature templates work in ArcGIS Pro and Arcmap. 

The old Collector app seemed to honor this setup making it easier for users to add new features.  When I try to create new features in the new Collector app, I only get the generic feature to add, then I have to go in and assign it the value for that field from the drop down list.

Is this a bug?  Not implemented yet but will? 

Thanks,

Royce

0 Kudos
1 Solution

Accepted Solutions
JakeJacobs
Occasional Contributor III

Here's the way I understand it: the feature template is information that is stored with the hosted layer item.  So you use this "map will full editing" function to define the feature templates, but once you do the "save changes" in the manage pane, it's just saving the template and the "map" doesn't really have anything to do with it.  If you look at the feature service associated with the item after you've made the change to the feature template and saved it, you should see the feature service configuration change.  Then, every time you add that hosted layer item to a map, it should come along with the feature template that was defined.

So for example, here's a dummy point feature hosted item I made.  The Template section of the feature service before I messed with the feature template manager looked like this:

Layer: Misc Test Location (ID:0)

Templates:
      Name: Misc Leak Location
      Description:
      Drawing Tool: esriFeatureEditToolPoint
    Prototype:

And then after I set up two arbitrary Types (default value 1 and 2, respectively) in the feature template manager (there's no domain on the field, just free text), I refreshed the service item and it looked like this:

Layer: Misc Test Location (ID:0)

Templates:
      Name: Type 1
      Description:
      Drawing Tool: esriFeatureEditToolNone
      Prototype:
        Attributes:
        • TestType: 1
      Name: Type 2
      Description:
      Drawing Tool: esriFeatureEditToolNone
      Prototype:
        Attributes:
      • TestType: 2

Then I went back to the item and said "open in map viewer" (not with full editing control) and when I started editing, the two templates I'd defined showed up as two different create feature options (even though the default symbology was actually the same for them).  And the value was defaulted.  So I saved that map and opened it in the new Collector and when I chose the + for Add Feature I got my two template options, each of which defaulted the value I had chosen in the feature template.

I wonder if you tried one from scratch like this if it would be easier to spot what's different about your hosted feature item.  I've noticed that in the new Collector, if you define a unique value symbol renderer, it sort of treats it like a feature template so maybe there is a sort of conflict between what the symbology would define as a "subtype" and what your feature template is trying to do.  Or I wonder if defining domains supercedes the feature templates.  I don't have a handle on how those things interact.

Maybe at least looking at the template section of the feature service will let you figure out if the change you made really "took".

Good luck.

View solution in original post

7 Replies
JakeJacobs
Occasional Contributor III

It took me a really long time to find the hosted feature layer edit template.  If you are the owner of the hosted feature layer and on the item page, you can choose "Add to new map with full editing control" under the down arrow on the Open in Map Viewer button.  Then, when you are in Edit mode in the web map (click on the Edit button), there's an option at the bottom of the Add Features pane that says "Manage".  That opens up the pane where you can manage all the edit feature templates. 

Manage feature templates—ArcGIS Online Help | ArcGIS 

So far everything I've needed to do I can do in here and have it work in the new Collector, but I haven't done too much with it.   

0 Kudos
RoyceSimpson
Regular Contributor

Thanks Erika.  I'm seeing all that except for in the new Collector app, I don't see the actual feature templat-ized form that I see in the web map in AGOL.  If I use "Collector Classic" I DO see the data in its feature template form.  Are you using the new Collector?

x (x)
0 Kudos
JakeJacobs
Occasional Contributor III

Interesting. I am using the new Collector on iOS version 19.0.1 build 2609. 

So it sounds like something must be different in the way we are using the feature templates. Hopefully an ESRI person can weigh in...

0 Kudos
RoyceSimpson
Regular Contributor

I must be adding these hosted feature layers to my web map wrong.  I see the option to "add to web map with full editing control" for the individual hosted feature layers and when I do it that way, I do see the feature template in the Collector map.  However, I have three hosted feature layers that I want to add to my web map with this full editing control ability.  How do I add all three when that "full editing control" option adds each layer to it's own new map? 

The way I made my map before, where I was seeing the templates in the web map but not in Collector was... I opened a new web map with nothing but a basemap in it.  Then I went to the "add" menu and searched for layers and added my three hosted feature layers.  I then symbolized each layer based on the field/unique values.  Is there an option via that method to turn on the full editing control?

x (x)
x (x)
0 Kudos
JakeJacobs
Occasional Contributor III

Here's the way I understand it: the feature template is information that is stored with the hosted layer item.  So you use this "map will full editing" function to define the feature templates, but once you do the "save changes" in the manage pane, it's just saving the template and the "map" doesn't really have anything to do with it.  If you look at the feature service associated with the item after you've made the change to the feature template and saved it, you should see the feature service configuration change.  Then, every time you add that hosted layer item to a map, it should come along with the feature template that was defined.

So for example, here's a dummy point feature hosted item I made.  The Template section of the feature service before I messed with the feature template manager looked like this:

Layer: Misc Test Location (ID:0)

Templates:
      Name: Misc Leak Location
      Description:
      Drawing Tool: esriFeatureEditToolPoint
    Prototype:

And then after I set up two arbitrary Types (default value 1 and 2, respectively) in the feature template manager (there's no domain on the field, just free text), I refreshed the service item and it looked like this:

Layer: Misc Test Location (ID:0)

Templates:
      Name: Type 1
      Description:
      Drawing Tool: esriFeatureEditToolNone
      Prototype:
        Attributes:
        • TestType: 1
      Name: Type 2
      Description:
      Drawing Tool: esriFeatureEditToolNone
      Prototype:
        Attributes:
      • TestType: 2

Then I went back to the item and said "open in map viewer" (not with full editing control) and when I started editing, the two templates I'd defined showed up as two different create feature options (even though the default symbology was actually the same for them).  And the value was defaulted.  So I saved that map and opened it in the new Collector and when I chose the + for Add Feature I got my two template options, each of which defaulted the value I had chosen in the feature template.

I wonder if you tried one from scratch like this if it would be easier to spot what's different about your hosted feature item.  I've noticed that in the new Collector, if you define a unique value symbol renderer, it sort of treats it like a feature template so maybe there is a sort of conflict between what the symbology would define as a "subtype" and what your feature template is trying to do.  Or I wonder if defining domains supercedes the feature templates.  I don't have a handle on how those things interact.

Maybe at least looking at the template section of the feature service will let you figure out if the change you made really "took".

Good luck.

RoyceSimpson
Regular Contributor

Ok, your analysis and feedback helped solve it.  I went into my web map with the three hosted feature layers freshly added in, set the symbology to the field/unique values that I want... started editing and noticed I had the "feature template" type view of the layers (good so far)... I then clicked the "manage" button and noticed that the "save changes" at the bottom was enabled... I clicked that for each of the three layers... didn't do any modifications to the templates, just clicked that "save changes".  That has done what you describe and my layers are now showing up in Collector with the feature template functionality enabled.

What's odd is that when I go look at the json for the web map and the json for the individual feature layers, I don't see anything special or different about their definitions.  Clearly something got triggered and set with that feature template "save changes" stuff but darned if I can see what that actually is in terms of the json definitions.  Oh well, live and learn.  Thanks for your time and help.

x (x)
0 Kudos
JakeJacobs
Occasional Contributor III

Glad to hear it. 

I do feel like there are a lot of interactions between the web map and the hosted feature items that are somewhat obscured because of the way functionality has been added over time.  The web map configurations often set functionality and then even if changes are made to the hosted item or things further back in the chain, the web map might just hang on to its own configurations in many cases.  Whether the map has its own symbology or uses the feature service's renderer is one example that continually trips me up.

0 Kudos