Version creation and permissions example
Version creation and permissions example
|
Release 9.3 |
|
Note: This topic was updated for 9.3.1.
The following is a scenario in which a small private investigation firm uses versioning to manage the data in its geodatabase. The data is used by the employees to do analysis that helps with their investigations. This scenario will explain how the firm creates versions and sets permissions on the versions.
The setup
The ArcSDE administrator at the investigation firm creates the DEFAULT version of the geodatabase when he creates the geodatabase. Since this is a small firm, the ArcSDE administrator is also the database administrator. He adds five users to the database—one for each employee in the agency who will be accessing the geodatabase. All the employees will edit some data, and some users will need to create new datasets, so the ArcSDE administrator grants the users the permissions they need in the database to edit and/or create data. (See Adding users to an ArcSDE geodatabase and User permissions for information on adding users and granting permissions in the database.)
One of the employees, Maxine, is responsible for loading base data into the geodatabase and is also responsible for maintaining this data. Maxine loads data (such as orthophotos, addresses, roads, and buildings) into the geodatabase. Since Maxine loaded the data, she automatically has permission to edit the data.
The chief investigator, Angus, will create datasets related to investigations, such as crime scenes and witness information. Frank and Gertrude, two junior investigators, will be responsible for most of the editing done in the investigation-related datasets, so Angus grants editing permissions to Frank and Gertrude on these datasets. (For information on setting dataset permissions, see Granting and revoking privileges on datasets.)
It has been decided the agency will use versioning to edit its data. To perform versioned editing, the datasets must be registered as versioned. Only the user who owns the dataset (the user who created the dataset) can register the dataset as versioned; therefore, Maxine registers the address, roads, and building datasets as versioned, and Angus registers as versioned such datasets as crime locations and witness information.
At this point, there is only one version—the DEFAULT version. This will be the version that is considered the master, or production, version of the data. Other versions will be created to allow the employees to edit the data without locking the data from other users or letting other users see incomplete data.
NOTE: Remember, versions are like different views of the geodatabase, not copies of the geodatabase. There is only one copy of each dataset in the geodatabase no matter how many versions you create.
Protecting DEFAULT and creating one new version
Since it is the production version, the ArcSDE administrator wants to protect the DEFAULT version from erroneous edits in the existing datasets. To do this, the ArcSDE administrator sets the DEFAULT version's permission to Protected through the Version Properties dialog box, which is accessed from the Version Manager dialog box in ArcCatalog or ArcMap.
After the ArcSDE administrator makes the permission change to DEFAULT and clicks OK, he is back in the Version Manager dialog box. From here, he creates a new version from the DEFAULT version.
He names the new version Base and sets the version's permission to Public.
There are now two versions: DEFAULT and Base.
All employees can connect to both versions. Only the ArcSDE administrator can edit data when connected to the DEFAULT version and post to the DEFAULT version. When employees connect through the Base version, they can edit any datasets to which they have been granted the required dataset permissions.
Using the new version
As mentioned above, Maxine will be editing the base data. She will connect to the Base version to edit the base data, such as roads, addresses, and buildings. The Spatial Database Connection Properties dialog box below shows Maxine is connecting to the Base version in ArcCatalog. (For details on making connections to geodatabases, see Creating spatial database connections.)
When Maxine finishes a set of edits, the ArcSDE administrator checks Maxine's edits in the Base version. If the changes are okay, they are reconciled with the DEFAULT version to bring in any changes that may have been made in the DEFAULT version. Since only Maxine should be editing this data, there shouldn't be any conflicts found during the reconcile. At this time, the ArcSDE administrator posts the changes to the DEFAULT version. (For details on reconciling, resolving conflicts, and posting, see Reconciling a version, Reviewing conflicts, Resolving conflicts interactively, and Posting changes.) This moves all of Maxine's edits into the DEFAULT version.
Creating another version
Angus needs to have data relevant to the cases the firm investigates. He connects to the DEFAULT version of the geodatabase in ArcCatalog.
Then, from the Version Manager dialog box, Angus creates a new version from DEFAULT.
The version is named Cases, and the permission is set to Public. This will serve as the parent version to versions created for each individual case. This version will also be used by Angus to perform quality assurance checks on all the case data before it is reconciled with and posted to the DEFAULT version by the ArcSDE administrator.
There are now three versions: DEFAULT, Base, and Cases.
All employees can connect to all three versions. Only the ArcSDE administrator can edit data when connected to the DEFAULT version and post to the DEFAULT version. When employees connect through the Base or Cases versions, they can edit any datasets to which they have been granted the required dataset permissions.
Creating versions from a version other than DEFAULT
When an investigator is assigned a case, he or she creates a new version from the Cases version to add new data relevant to the case.
These versions are set to Protected, so only the investigator working on the case at the time can edit the datasets when connected to this version.
As you can see on the Version Manager dialog box below, Gertrude has created a version called Case1, and Frank created Case2. Gertrude will connect to Case1 when she edits the case-related datasets, adding data relevant to that case. Similarly, Frank will connect to Case2 and edit the case-related datasets, adding the data relevant to his case. All the other employees can connect to these versions, but they cannot make any edits to the datasets from these versions, because the versions are set to Protected.
The versions listed above are related as follows:
When Gertrude finishes her edits for Case1, she reconciles and posts her changes to Cases. Since Frank may also be editing the same datasets and reconciling and posting changes to Cases, there is a potential for conflicts at this point. Once these have been reviewed and resolved, Gertrude can post to Cases. (See Saving edits to a version, Reconciling a version, Reviewing conflicts, Resolving conflicts interactively, and Posting changes for details.)
Angus reviews the changes in the Cases version. If they are acceptable, the ArcSDE administrator will post the changes in Cases to the DEFAULT version.
Since work on Case1 is complete and the data has been reviewed and posted to DEFAULT, Gertrude can now delete Case1.
NOTE: You have to be connected as the owner to delete a version. For example, Gertrude could not delete the Case2 version.
That leaves the following versions:
Frank will follow the same procedure with edits done through Case2 (reconcile, resolve conflicts, post to Cases), Angus will check his work in the Cases version, the ArcSDE administrator will post the approved changes to DEFAULT, and Frank can delete version Case2.
Next steps
After the individual case versions have been deleted, the ArcSDE administrator should compress the geodatabase, then update database statistics. (See About compressing a geodatabase for information on compressing a versioned geodatabase and About updating geodatabase statistics for information on keeping the statistics used by the database up to date.)