Is there a way to control access to Branch Versions that would allow users to connect to a named version to edit the data and Reconcile but NOT Post to the default?
I see in the the Branch Versions Scenarios under Project Stages, that Esri has thought of the QAQC process. But it seems to me that there is no way to control the editor from Posting. Instead, it seems like it's on the honor system that the Editor changes ownership to the Admin.
If you set the DEFAULT version to Protected then all users can see the DEFAULT version but cannot edit it (i.e. Post to DEFAULT). Setting the DEFAULT version to protected is considered best practice.
That's probably an acceptable solution for some people. But that doesn't work for organizations with many mobile users. Named versions lock when someone is editing which isn't good for many users. We could allow Users to take data offline and sync at a later time but that comes with issues with regard to forgetfulness and devices being lost/broken. The default is the only version that allows multiple simultaneous editors.
The service based architecture of Branch Versioning is really cool. But I think it lacks the mobile component where many users don't have the ability to create/switch versions. The only solutions are edit on the Default or deal with the Distributed Management.
I've already set my DEFAULT to protected but my editor users can still post their named versions back to DEFAULT, which is not allowed by my organisation's audit requirements. This behaviour doesn't match Esri's documentation that setting the DEFAULT to protected means that only the version administrator can post edits to DEFAULT. The environment i'm seeing this behaviour is in ArcGIS enterprise 10.9.1, ArcGIS Pro 3.0.0 and 3.0.2, and using Microsoft SQL Server 2019 as my database.
Interestingly, when I tested a similar workflow in my personal VM that has the same set up except for my database, which is postgresql 12, the editor user cannot post their named branch versions back to DEFAULT.
Eva - so this appears to be BUG-000135099 - Branch versioned data owned by DBO or SDE allows standard portal users to view and manage all versions via the service. It was fixed in ArcGIS Pro 3.1 and is a duplicate of BUG-000150561 - Portal for ArcGIS users with an editor role can edit the default branch version although the access is set to be protected. This duplicate was tested on ArcGIS Pro 3.0x and ArcGIS Enterprise 10.9.1 with SQL Server 2019. My recommendation is update to ArcGIS Pro 3.1 - it was released 2/23/23.
Thanks for pointing me to those bugs. However, after installing ArcGIS Pro 3.1 into my machine and running through the editing branch version data workflow, my standard portal user is still able to post their edited branched version back to protected Default. I am using Microsoft SQL Server 2019 and ArcGIS enterprise 10.9.1.
I continued to do some testing after posting the above reply. I created a new enterprise gdb using ArcGIS Pro 3.1, proceeded by creating and publishing a branch feature layer to my 10.9.1 portal. Then, I set the DEFAULT access to Protected. Afterwards, I created a branch version using my portal standard user and tried to post back to the Protected DEFAULT. Only then did this workflow result in the expected behaviour that the portal standard user (aka the editor) CANNOT post their edits in their named branch back to DEFAULT. I've added screenshots of the 2 different enterprise gdbs I tried the above workflow:
Hi @Anonymous User,
First of all as you may know Branch version is a service based architecture so your data must be a Feature service (on Enterprise) to be able to Edit features or create new versions.
1- if you want to connect directly from the DB on a child branch version for a feature service so there is a complex SQL query can do that BUT this query will be in a DB view which cannot accept edit so it's only for view.
2- if you want to use a specific child branch version with Enterprise apps (Web Map) for making edits on Collector or field maps or create dashboards, so use the following URL:
3- if you would like to allow end user for (Switching, Create, delete, Reconcile &Post) branch versions and Edit features in each child version. Then you can do that by using ArcGIS Experience Builder by using two widgets (VMS & Edits).
* Notice that Editing widget (Beta) in experience builder right now is available only with ArcGIS Online so you will not find it in Enterprise, but if you want to use it then you have three options:
1- go to public, you want a public IP and Domain so you can use ArcGIS Server's data with ArcGIS online apps.
2- use experience builder Developer edition which has the Edit widget.
3- create a custom widget in experience builder Enterprise edition, this done with copy&Paste widget folder from developer to experience builder Enterprise folder with some editing on code.
4- Offline editing, you can allow each user to work offline by downloading the data, and each download will create a branch version to maintain your data quality. Creating new version is an option you can download and edit on default version.
SELECT * FROM Buildings WHERE Buildings.GDB_ARCHIVE_OID IN (Select MB_.GDB_ARCHIVE_OID From (SELECT GDB_ARCHIVE_OID, ROW_NUMBER() OVER (PARTITION BY OBJECTID ORDER BY gdb_from_date DESC) rn, gdb_is_delete FROM Buildings WHERE (gdb_branch_id = 0 AND gdb_from_date <= '12.31.9999 23:59:59.000') OR (gdb_branch_id = 15 AND gdb_from_date <= '12.31.9999 23:59:59.000')) MB_ WHERE rn = 1 AND gdb_is_delete = '0' );
hoping this help you.