Display a Feature Class for Editing in a Versioned Geodatabase

135
3
12-01-2022 11:50 AM
Labels (2)
DValley
New Contributor II

I was recently given access to the data owner account to assist with versioned gdb maintenance.  We need to make several feature classes that are shown in the data owner account visible to (and editable) the different child versions of the gdb for use.  What is the procedure for making the 'new' feature classes visible to the different .sde views so that our users can edit them?

0 Kudos
3 Replies
MarceloMarques
Esri Regular Contributor
  • "sde" user is the geodatabase data owner user and shall be used for geodatabase administrative tasks like sde compress only
  • to load spatial data create a data owner user instead
  • caveat do not use the data owner user to edit the data
  • instead create an editor / viewer user
  • create an editor_role and a viewer_role
  • the editor_role has "select, insert, update, delete" privileges on the tables of the data owner user
  • grant the editor_role to the editor user
  • the viewer_role has select privileges on the tables of the data owner table
  • grant the viewer_role to the viewer user
  • Database Connections Best Practices

For more best practices see: Mapping and Charting Solutions (MCS) Enterprise Databases Best Practices  

Now about versioning, if an editor user creates a version and sets it to private then only the user that created that version can edit the version, if the version is set to public then any user can edit and view the  version.

The more appropriate here is if you attend the following training classes, and you will get all your questions answered.

Deploying and Maintaining a Multiuser Geodatabase | Esri Training Instructor-Led Course

Implementing Versioned Workflows in a Multiuser Geodatabase | Esri Training Instructor-Led Course

I hope this helps.

| Marcelo Marques | Principal Product Engineer | Esri |
| OCP - Oracle Certified Professional |
0 Kudos
DValley
New Contributor II

Thank you for your response Marcelo.  I'm not sure I described our issue very well (it's been a long week!), so here is some additional info and an example.

We have roles already setup on our versioned gdb.  These roles control the permissions given to each user (as you described above).  We have several child versions of the parent gdb that all users can at least see, but may not be able to edit, for example, depending on the permissions applied to their role.

EXAMPLE:

DB Connection1 - shows all available feature classes (Trees, Rocks, Lakes) - all users can see/read, but only users with DB1 role can edit, etc.

DB Connection2 - shows only Sand, Grassland, Wetlands- all users can see/read only users with DB2 role can edit, etc.

I can see several feature classes in the data owner view of the SDE that are not displayed in either of the above connections (Streams, Clouds).  I would like to make these at least visible and readable in both connections. 

To return to my example, once I make these two FCs visible/editable, users will see the following:

DB Connection1 - Trees, Rocks, Lakes, Clouds, Streams.

DB Connection2 - Sand, Wetlands, Clouds, Streams.

Can I do this from the data owner account and how?  -OR- is this an admin/gdb admin function?  I suspect that I may need to add the 'new' FCs to the applicable roles to make them visible/usable?

0 Kudos
MarceloMarques
Esri Regular Contributor

You need to reach out to your Database Administrator / Geodatabase Administrator to refresh the permission for the users to be able to edit the data.

There are 2 ways to do this the Database Administrator manages the permissions and can refresh the permission or refresh the roles with new permissions directly in the database.

or a Geodatabase Administrator can use the data owner user to refresh the permission using the Privileges Tool.

Grant and revoke dataset privileges in databases and enterprise geodatabases—ArcMap | Documentation ...

Change Privileges (Data Management)—ArcGIS Pro | Documentation

Caveat: if you have 2 data owner users then do not grant permissions for one data owner user to see the other data owner user data, not very good practice in the long term to keep security, instead ask the database administrator / geodatabase administrator to create an editor user / viewer user as I described above, then the editor/viewer users will be granted the proper privileges to the data of both data owner users, then use the editor/viewer user connection to edit the data and to create new maps, etc.

You can find this best practice about how to setup editor / viewer users and to proper set the permissions in my database guide books and database template scripts available in the link below. Note, read the Production Mapping guide books / database templates, those can be applied to any enterprise geodatabase in fact.

For more best practices see: Mapping and Charting Solutions (MCS) Enterprise Databases Best Practices  

| Marcelo Marques | Principal Product Engineer | Esri |
| OCP - Oracle Certified Professional |
0 Kudos