Here is my situation:
I’ve created a Survey123 app based on hosted feature service in AGOL. This will be a public facing survey for infrastructure asset status reporting. Since the survey is deployed using newly available feature service based capabilities, the level of editing available on the survey FS is must be “Add, update, and delete features”. The hosted FS contains number of fields, but only few are exposed in the public facing survey.
The plan is to recycle same hosted FS in a collector app. This app will be available to Infrastructure team that will assign the reported assets to the contractors to improve the conditions. The contractors then update the status and improvement work date fields available from the FS.
Since, on the original hosted FS Add, update, and delete features setting is enabled, Collector will automatically enable add new feature option in the collector app. This increases the risk of accidently adding or deleting the features through collector app. The target is, through the collector app the contractor will only update the attributes (Improvement status and date)will not add or delete the features.
If I change the hosted FS settings to “Only update feature attributes” it will solve the issue in the collector but the survey app will fail for the obvious reasons as new entries are not permitted to the hosted FS.
The Idea behind is to use the hosted FS as single source of truth data on AGOL that will serve the both purpose, public data acquisition and internal status updates. Single data means the updated info is available immediately in the collector app.
In the traditional approach, I can deploy survey123 App with separate hosted FS and Collector app with another hosted FS with just update capabilities. Meaning, I will require some ETL to pull the data from Survey layer and update the collector hosted layer.
I want to avoid the duplication of the data and ETL processes.
The data is expected to be added to on premise SDE for analysis and reuse, on scheduled basis, but the aim is to perform all the transactions / updates in AGOL.
Any suggestions on how to achieve this scenario using single hosted layer?