require(["esri/versionManagement/VersioningState"], (VersioningState) => { /* code goes here */ });
import VersioningState from "@arcgis/core/versionManagement/VersioningState.js";
esri/versionManagement/VersioningState
This class provides functionality for managing versions in a versioned geodatabase. It includes methods for starting and stopping editing, changing versions, undoing and redoing edits, and retrieving version information.
require(["esri/versionManagement/versionAdapters/utils", "esri/WebMap"], function (utils, WebMap)
{
const webmap = new WebMap({
portalItem: { // autocasts as new PortalItem()
id: "e691172598f04ea8881cd2a4adaa45ba"
}
});
const versioningStates = await utils.createVersioningStates(webmap, false);
}
Constructors
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The current version. | VersioningState | ||
Contains information on the current version. | VersioningState | ||
Contains the default version's name and guid. | VersioningState | ||
The absolute URL of the REST endpoint for the feature service housing the version management service. | VersioningState | ||
If true, current version is the default version. | VersioningState | ||
Indicates whether the instance has loaded. | VersioningState | ||
The Error object returned if an error occurred while loading. | VersioningState | ||
Represents the status of a load operation. | VersioningState | ||
The state of the current version. | VersioningState | ||
The absolute URL of the REST endpoint for the version management service. | VersioningState | ||
If the set to | VersioningState | ||
Contains a collection of all versionable in the versioning state class. | VersioningState | ||
Contains list of all available versions. | VersioningState | ||
Contains metadata about the version management service. | VersioningState |
Property Details
-
currentVersion
currentVersion VersionIdentifier |Date
-
The current version.
-
currentVersionInfo
currentVersionInfo VersionInfo
-
Contains information on the current version.
-
defaultVersionIdentifier
defaultVersionIdentifier VersionIdentifierreadonly
-
Contains the default version's name and guid.
-
featureServiceUrl
featureServiceUrl String
-
The absolute URL of the REST endpoint for the feature service housing the version management service. The URL may either point to a resource on ArcGIS Enterprise or ArcGIS Online.
-
isDefault
isDefault Booleanreadonly
-
If true, current version is the default version.
-
loadError
loadError Errorreadonly
-
The Error object returned if an error occurred while loading.
- Default Value:null
-
loadStatus
loadStatus Stringreadonly
-
Represents the status of a load operation.
Value Description not-loaded The object's resources have not loaded. loading The object's resources are currently loading. loaded The object's resources have loaded without errors. failed The object's resources failed to load. See loadError for more details. Possible Values:"not-loaded" |"loading" |"failed" |"loaded"
- Default Value:not-loaded
-
state
state String
-
The state of the current version.
Possible Values:"lock-none" |"lock-read" |"lock-write"
-
url
url String
-
The absolute URL of the REST endpoint for the version management service. The URL may either point to a resource on ArcGIS Enterprise or ArcGIS Online.
-
usePersistentReadSessions
usePersistentReadSessions Boolean
-
If the set to
true
, the current version will have a read lock. Additionally, when switching versions, the new current version will also have a read lock.
-
versionableItems
versionableItems Collection<VersionAdapter>
-
Contains a collection of all versionable in the versioning state class.
-
versionInfos
versionInfos VersionInfo[]
-
Contains list of all available versions.
-
versionManagementService
versionManagementService VersionManagementService
-
Contains metadata about the version management service.
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
The alter operation allows you to change the geodatabase version's name, description, owner, and access permissions. | VersioningState | ||
Method used to change a layer's version/moment or network's version/moment. | VersioningState | ||
Deletes a version given the following parameters. | VersioningState | ||
Method used to get extended information about a version. | VersioningState | ||
Method used to get a list of versions. | VersioningState | ||
Triggers the loading of the version management service instance. | VersioningState | ||
This method redos the last edit made while in an edit session. | VersioningState | ||
Using the specified session ID an exclusive lock is obtained for the session on the version. | VersioningState | ||
Using the specified session id, the exclusive lock for the version is downgraded to a shared lock. | VersioningState | ||
This method undos the last edit made while in an edit session. | VersioningState |
Method Details
-
The alter operation allows you to change the geodatabase version's name, description, owner, and access permissions.
License
- This method requires the feature service and version management service to be published with ArcGIS Enterprise version 11.2 or higher.
- Organization members must be assigned a license for the ArcGIS Advanced Editing user type extension to use this method.
ParametersSpecificationversionIdentifier VersionIdentifierIdentifier for a version.
props ObjectContains properties that will be altered.
SpecificationownerName StringoptionalThe new owner name of the version.
versionName StringoptionalThe new name for the version.
description StringoptionalThe new description for the version.
access StringoptionalThe new access permissions of the version.
Possible Values:"hidden"|"private"|"protected"|"public"
ReturnsExampleconst result = await versioningState.alterVersion( { name: "newVersion", guid: "{49C6AC87-CDA8-46D4-A79B-449105981209}" }, { versionName: "versionName", ownerName: "newOwner", description: "newDescription", access: "public" } );
-
changeVersion
changeVersion(toVersion){Promise<Map<VersionAdapter, ServiceResult>>}
-
Method used to change a layer's version/moment or network's version/moment. Method allows changing version from named version to named version, or from default version to a moment and vice versa.
ParametertoVersion Date|VersionIdentifierIncoming Version or Date.
ReturnsType Description Promise<Map<VersionAdapter, ServiceResult>> - Returns a map of VersionAdapter and ServiceResult.
Exampleawait versioningState.changeVersion( { name: "admin.version", guid: "{422D1B63-D795-4478-A4B1-AD6109377074}"} );
-
Deletes a version given the following parameters.
License
- This method requires the feature service and version management service to be published with ArcGIS Enterprise version 11.2 or higher.
- Organization members must be assigned a license for the ArcGIS Advanced Editing user type extension to use this method.
ParameterversionIdentifier VersionIdentifierIdentifier for a version.
ReturnsExampleversioningState.deleteVersion({ name: "versionName", guid: "{422D1B63-D795-4478-A4B1-AD6109377075}" });
-
getVersionInfoExtended
getVersionInfoExtended(){Promise<VersionInfoExtendedJSON>}
-
Method used to get extended information about a version.
ReturnsType Description Promise<VersionInfoExtendedJSON> - Contains extended info about given version.
-
getVersionInfos
getVersionInfos(refresh){Promise<VersionInfo[]>}
-
Method used to get a list of versions.
Parameterrefresh BooleanIf refresh is true, a new REST call will be made to the server to get the available versions.
ReturnsType Description Promise<VersionInfo[]> - Contains extended info about given version.
-
load
load(){Promise}
-
Triggers the loading of the version management service instance.
Fully loads the Version Management Service definition.
Returns
-
redo
redo(){Promise<ServiceResult>}
-
This method redos the last edit made while in an edit session.
ReturnsType Description Promise<ServiceResult> - Specifies if redo was successful.
-
startEditing
startEditing(){Promise<ServiceResult>}
-
Using the specified session ID an exclusive lock is obtained for the session on the version. The exclusive lock can only be obtained if no other shared or exclusive locks are present and the session currently holds a shared lock. The exclusive lock ensures read and write isolation for the session holding the lock. The exclusive lock is downgraded to a shared lock by using the stopEditing operation.
ReturnsType Description Promise<ServiceResult> - Specifies if start editing was successful.
Exampleawait versioningState.startEditing();
-
stopEditing
stopEditing(saveEdits){Promise<ServiceResult>}
-
Using the specified session id, the exclusive lock for the version is downgraded to a shared lock. The saveEdits parameter specifies if the edits for the session should be saved (true) or discarded (false).
ParametersaveEdits BooleanIf set to true edits will be saved, if false edits will not be saved.
ReturnsType Description Promise<ServiceResult> - Specifies if stop editing was successful.
Exampleawait versioningState.stopEditing(true);
-
undo
undo(){Promise<ServiceResult>}
-
This method undos the last edit made while in an edit session.
ReturnsType Description Promise<ServiceResult> - Specifies if undo was successful.
Type Definitions
-
VersionInfo
VersionInfo Object
-
This contains basic information about a given version.
- Properties
-
versionIdentifier Object
The identifier of a version.
description StringDescription of the version.
access StringAccess type accepts values of private, public, hidden, and protected.
versionId StringThe id of the version that was edited.
creationDate NumberThe date the version was created on.
modifiedDate NumberThe date when the version was last modified or changed.
reconcileDate NumberThe date when the version was last reconciled with the parent version or the default version.
evaluationDate NumberThe date when the version was last evaluated for conflicts or discrepancies during the reconciliation process.
previousAncestorDate NumberThe date of the most recent ancestor version, if applicable.
commonAncestorDate NumberThe date of the common ancestor version, which is the shared ancestor between two or more versions during the reconciliation process.
-
VersionInfoExtendedJSON
VersionInfoExtendedJSON Object
-
This contains extended information about a given version.
- Properties
-
versionIdentifier Object
The identifier of a version.
description StringDescription of the version.
access StringThe access type permissions of the version.
Possible Values:"hidden"|"private"|"protected"|"public"
versionId StringThe id of the version that was edited.
creationDate NumberThe date the version was created on.
modifiedDate NumberThe date when the version was last modified or changed.
reconcileDate NumberThe date when the version was last reconciled with the parent version or the default version.
evaluationDate NumberThe date when the version was last evaluated for conflicts or discrepancies during the reconciliation process.
previousAncestorDate NumberThe date of the most recent ancestor version, if applicable.
commonAncestorDate NumberThe date of the common ancestor version, which is the shared ancestor between two or more versions during the reconciliation process.
isBeingEdited BooleanSpecifies if the version is currently being edited.
isBeingRead BooleanSpecifies if the version is currently being read.
hasConflicts BooleanSpecifies if the version is has conflicts.
hasUninspectedConflicts BooleanSpecifies if the version has UninspectedConflicts.
isLocked BooleanSpecifies if the version currently has a lock.
lockOwner StringSpecifies which user is the current lock owner.
lockDate NumberSpecifies the date at which the version was locked.