Editing data in web app

2354
7
02-04-2022 03:42 PM
DenaS
by
New Contributor II

Using arcgis pro, we uploaded a datatable into AGOL, creating a hosted feature layer. From there we configured a web map, and then subsequently created a web app.

I want to be able to make slight edits to the data when necessary. I also want to be able to edit field names if necessary. Where and how do I do this? When i made the changes in the feature layer itself, it did not update in the web map nor web app. When I edited fields from within the configured pop-up of the web map, it also did not change anything in the web app.

How do I push these kinds of internal data updates into the public facing web app? If I can't, how do I copy all the settings of the original web map and web app into a new one that DOES update with edits to the feature layer?

Thanks.

 

0 Kudos
7 Replies
Katie_Clark
MVP Regular Contributor

I don't know why I felt the desire to write this much, maybe just because I've had to explain this to a lot of people over the years who are first learning the software, and I just hope it helps someone. I apologize if what I write sounds obvious to you!

 

Best,

Katherine

======================

TL;DR - It's important to understand the "hierarchy" of layer settings between hosted feature layers, web maps, and web applications. The actual data values don't have a hierarchy, so edits are reflected everywhere regardless of the interface.

======================

Answer to your specific question - I would recommend one of two options for having pop-up configurations reflect in the web application:

  • Use custom settings for the Edit Widget in the web application and make changes to field visibility and aliases (I assume you mean alias when you said "field names", as field names cannot be changed).
  • Use "Honor settings in the web map" as the setting for the Edit Widget in the web application, and make changes to layer pop-ups etc. in the web map. These changes should then be reflected in the web application.

As for editing the values in the table, you have many options for this and which one you choose will depend on your preference of the interface and the complexity of the calculations that you need to make. You can edit through the "Data" tab of the Item Details page, you could navigate to the feature directly in the web application and edit values through the Edit Widget, you could change specific values through the attribute table in the web map, or you could edit the data by pulling the hosted feature layer into ArcGIS Pro (use the Catalog pane, then search your organizations contents). Note that you can perform field calculations only through the Item Details page (limited to using Arcade or SQL) or in ArcGIS Pro (where you can use other languages, like Python). Changes to the data will be reflected everywhere, regardless of which interface you use to make the edits.

======================

A much more long-winded explanation...

So, to answer this question it's important to understand how everything is "layered/stacked" in AGOL (I think of it like a Matryoshka doll, but a more accurate comparison would be like Specificity Rules in CSS). 

At the "base level", you have the hosted feature layer. You can configure default setting for symbology, pop-up, visibility range, etc. from the "Visualization" tab of the Item Details page. Whatever settings are saved at this level will be the settings of the layer when it is initially pulled into the web map.

That brings us to our "second level", the web map. You can change settings for the layer in the web map in case you want it to differ from the defaults (useful if the layer is used in multiple web maps that have different requirements). However, keep in mind that changes made at this level override the defaults. So even if you go back to the Item Details page and change something from the visualization tab, the change won't be reflected in the layer that is already part of the web map. This can work in reverse though. Because the settings in the web map are higher than the default settings, you can save the settings of the layer and they will be applied at that HFL Item Detail level.

At an even higher level, there's the web application. These applications "consume" the web map and build on top of it by adding additional functionalities and widgets. In the Edit Widget, you have the option of using custom settings, or you can "Honor settings in the web map". If you choose custom settings, you can dictate which layers are editable and even further customize those editable fields my modifying the aliases of field names. These setting changes would be a status unique to the web application, so if you made changes to the field names the pop-ups would display differently in the web application when compared to the web map.

While layer settings will vary based on the hierarchy, remember that the data itself is "universal" and a change to an attribute in one interface will reflect wherever you view the data.

Best,
Katie


“The goal is not simply to ‘work hard, play hard.’ The goal is to make our work and our play indistinguishable.”
- Simon Sinek
0 Kudos
DenaS
by
New Contributor II

Katherine - THANK YOU! I appreciate you taking the time to explain editing features and how everything is connected.

Perhaps when we configured our maps we accidentally disabled something but it seems that any edits I make in the feature layer still do not push through to the other layers. For example, I navigated to the feature layer's "Data" tab of the details pane and was able to update an alias as desired, plus I was able to update a handful of values in the table itself. However, these changes do not show up in the web map, and subsequently not in the web app.

Inside the web map I am able to change the alias in the pop ups by making changes inside the "configure pop-up" pane. But, the map does not let me save these changes, there is only a "save as" option.

Inside the web app, I see the "edit" widget and was able to click "customize" but when I open it in the app there is a notice that says "your account does no have permission to create or modify data or this web map does not contain any editable layers" (see image below).

Can you speak to any of the above issues and the best way around it?

If I were to recreate the web map and web app off the feature layer (or off a view) to be able to be edited, how do I do this without having to manually redesign both? **Also important, I want to be able to make these changes myself, but I don't want the public to be able to make the changes so I would not want an edit widget available on my public facing web app.

THANK YOU!

 

 

0 Kudos
Katie_Clark
MVP Regular Contributor

Ah, ok! What I described above definitely applies, but this touches on a different topic as well; User Types and Roles.

What User Type and Role do you have in your organization? If I remember correctly, you won't be able to save maps unless you're the owner of the map, you have an Administrator role, or the map is shared with a group that you are in that has shared update capabilities enabled. Otherwise, you will only have "Save As" as an option.

===============

"For example, I navigated to the feature layer's "Data" tab of the details pane and was able to update an alias as desired, plus I was able to update a handful of values in the table itself. However, these changes do not show up in the web map, and subsequently not in the web app."

The alias changes you made in the Data tab don't reflect in the web map because you made setting changes at the Feature Layer level (the exact same thing as changing through the Visualization tab). Remember, the web map settings are a higher level in the hierarchy.

However, you mentioned you updated a "handful of values in the table itself". Can you confirm that those value changed DO actually reflect in the web map? 

===============

If I were to recreate the web map and web app off the feature layer (or off a view) to be able to be edited, how do I do this without having to manually redesign both? **Also important, I want to be able to make these changes myself, but I don't want the public to be able to make the changes so I would not want an edit widget available on my public facing web app.

Can you get an Administrator role assigned to you? If not, you could "Save As" for the web map which would retain the existing settings of the map, but you would be able to make further changes to the aliases etc. because you'd be the owner of the map. If you did have to create a new map like this, you'd then create the web app off of this map. This can either be done by starting from scratch, or using "Save As" in WebApp Builder for the existing web map and redirecting it to use the new map that you own. If you do this, you may have to reconfigure some of the widgets, but it still might save you some work compared to starting from scratch. 

Best,
Katie


“The goal is not simply to ‘work hard, play hard.’ The goal is to make our work and our play indistinguishable.”
- Simon Sinek
0 Kudos
DenaS
by
New Contributor II

Hi again,

Thank you again.

1. I checked my roles inside the Overview section of "view item details" pane for my web map . The web map is shared within a group I started. I do know that I was not the original owner of the web map, it was transferred to me, and now states I am the "owner" in the details view. Is there another place to check my role on this product?

>> As you suggested,  I tested the "save as" for the web map plus a "save as" for the web app and pointed the new web app to the new web map. This indeed did allow me to update the alias name and make other changes in the web mep that translated to the app.** BUT, this still did not let me update data**

2. when I changed the values in the "data" section of the feature layer it saved in the feature layer but it did NOT update in the web map (the original nor the saved as copy I just made).

I noticed in the settings of the feature layer, it says it is not enabled for editing because the layer is shared publicly.: "This layer is shared with the public. If you enable editing, anyone, including the public, can edit the layer". I now can't remember why this layer is public (perhaps because it is part of a group with external users?) but either way I want to edit values but we don't want the public to edit values.

3. I messed around and created a view layer off the feature layer in which I enabled editing in the settings - this let me make value changes in the web map and web app, which subsequently altered the feature layer. Still, it never updated the original web map linked to that same feature layer that I am trying to fix.

 

Thanks!!

 

0 Kudos
Katie_Clark
MVP Regular Contributor

You can determine your User Type/Role by clicking on your username in the top-right of the page > My Settings and the "Licenses" on the bar on the left side of the page.

Katherine_Clark_0-1644353218477.png

 

If it states you're the owner for the web map, I am surprised that it doesn't allow you a "Save" option. I'm also a bit confused as to why the update to the actual value in the table reflects in the Data view but not in the attribute table of the layer in the web map.

Can you confirm what your User Type/Role is and then I might be able to answer a bit better?

Best,
Katie


“The goal is not simply to ‘work hard, play hard.’ The goal is to make our work and our play indistinguishable.”
- Simon Sinek
0 Kudos
DenaS
by
New Contributor II

Hi - I have an administer role.

0 Kudos
Katie_Clark
MVP Regular Contributor

Interesting....ok. Getting a little more "in the weeds" now. Silly question, but you're sure that the layer in the web map is the exact same layer as the one you updated data for in the Item Details page? (this could be an issue if your organization had many layers with very similar names or something). 

It's times like this I wish I could just do screenshare because it would be much easier to try to troubleshoot haha. But at this point what might be worth a try is to enable editing on the original layer, but don't share with the public. Then create a view of the layer that IS shared with the public but doesn't have editing enabled. That will be the layer that you would want to display in the web map/app. You can also disable editing for specific layers at the web map level rather than the feature layer level.

Best,
Katie


“The goal is not simply to ‘work hard, play hard.’ The goal is to make our work and our play indistinguishable.”
- Simon Sinek
0 Kudos