Introduction to editor tracking

Editor tracking provides a setting on feature classes and tables that allows you to automatically record information about any inserts and updates that are made. It maintains a record of the editor who created or modified the data and a time stamp of when the edit occurred. Many organizations find editor tracking helpful to maintain accountability and transparency as well as to enforce quality control standards.

Editor tracking can help answer questions such as who was responsible for edits made within a geodatabase. When editor tracking is enabled on a feature class or table, the following information is tracked automatically:

  • User who created a feature
  • Date and time the feature was created
  • User who last edited a feature
  • Date and time the feature was last edited
List of users responsible for specific edits in the current view of the geodatabase

You can enable editor tracking for the following datasets in a file, mobile, or enterprise geodatabase:

  • Table
  • Feature class
  • Annotation class
  • Dimension class
  • Feature dataset
  • Mosaic dataset
  • Attributed relationship class
Note:

  • Mosaic datasets are not supported in a mobile geodatabase.
  • Not all relationship class types support editor tracking. Editor tracking can only be enabled on table-based relationship classes such as many-to-many or attributed 1:1 or 1:M relationship classes.

How editor tracking works

When editor tracking is enabled in ArcGIS AllSource on a dataset in a file, mobile, or enterprise geodatabase, the attribute table is updated to include fields designated to track editing information. When a feature is created, editor tracking records the name of the user who created the feature along with the date and time of creation. When existing features are updated, the name of the user who made the edit, along with the date and time the edit was made, will be recorded.

When editor tracking is enabled using default settings, the following four field names and field data types are added automatically:

  • created_user (Text)
  • created_date (Date - low precision)
  • last_edited_user (Text)
  • last_edited_date (Date - low precision)

To track edits made to data published as a feature layer, you can enable editor tracking for some or all of the layers in your feature service. Once enabled, edits made to the data through the feature service are tracked just as when working directly with the data in the geodatabase in ArcGIS AllSource.

Learn about editing with ArcGIS Runtime SDK

When values are recorded

When editor tracking is enabled, ArcGIS records new editor tracking values when a feature or row is inserted or modified in any way. This includes modifications to user-defined attribute columns, system columns not defined by the user, and the shape column that stores feature geometry.

Note:

Features that existed when editor tracking was enabled display a <NULL> value for the designated editor tracking fields. The fields that track the user who created the data and the date when the feature was created will remain <NULL>.

Most operations record tracking values, including those that automatically update data behind the scenes. For example, deleting an origin in a simple relationship automatically updates the foreign key column in the related feature and records new tracking values for the related feature.

Editor tracking applies to operations on existing datasets only and does not apply to operations that create datasets. In addition, operations that involve schema changes that do not also modify column values in the process do not record new tracking values.

For example, performing any of the following operations will not update editor tracking values:

  • Changing the schema without modifying column values
  • Adding or deleting fields
  • Copying and pasting a feature class
  • Running the reconcile and post process with versioned data
  • Copying data with a data extraction tool
  • Converting labels to annotation
  • Importing an XML workspace document

Depending on your organization's needs, you can also use archiving to record and access a complete history of the dataset's edits.

How usernames are recorded

The name of the user who creates or edits the feature is recorded in the creator and editor fields. This is determined by the user and authentication method used to access the file, mobile, or enterprise geodatabase.

Review the following authentication methods:

  • Operating system authentication—For file and mobile geodatabases edited with the ArcGIS AllSource client and enterprise geodatabases that you connect to through operating system authentication, the username recorded is based on the login name used to sign in to the operating system.
  • Database authentication—For enterprise geodatabases, the username recorded is based on a valid database username stored in the database and is the name used to connect to the geodatabase. This method allows you to connect as a different database user by supplying different credentials.

    Using database authentication, if the user signs in as Emily, Emily is recorded as the username. If the next day, they sign in using a different valid database user, GIS, GIS is recorded as the username.

For example, editor tracking has been enabled on a feature class named Schools. The editor tracking fields are highlighted in yellow in the image below.

Four fields are added when editor tracking is enabled using predefined settings on a feature class named Schools.

Editor tracking has recorded the date and time at which the OS-authenticated user EEVANS added a school named Highgrove Ridge High School.

Information recorded in the editor tracking fields when a feature is added

Later that day, another user, BHARDIN, updated the enrollment numbers for the current school year. Editor tracking recorded BHARDIN as the last user to edit this data as well as the date and time the edits were made.

Information recorded in the editor tracking fields when existing features are updated

Learn more about how usernames are recorded when sharing your data over the web as a feature service with editor tracking enabled

Realms

If your data resides in an enterprise geodatabase and you use database authentication, you can append a realm (for example, @esri.com) to the name of the user who makes the edit. For example, if you have a user named John in your Denver office and a user named John in your Seattle office, you can track their edits as John@denver and John@seattle, respectively, so that you can be certain which John made each edit.

To set the realm for an enterprise geodatabase, you must have geodatabase administrator privileges. In the Catalog pane, right-click the connection to the geodatabase, click Properties, and click the Editor Tracking Realm drop-down arrow. You can choose whether to use the default realm or apply your own. You can also append a realm to edits made through a feature service.

Editor Tracking Realm options in Database Properties

Note:

Realms can be used to differentiate edits made through a feature service as opposed to those made directly to the data in the geodatabase. See Editor tracking for feature services for more information.

How times are recorded

When editor tracking is enabled, there are two options for how the date and time will be recorded: UTC or Database time.

  • UTC (coordinated universal time) is the default and recommended setting. UTC is required for datasets registered as branch versioned or for any data that will be shared through services with editor tracking enabled. As a best practice, use UTC when your workflow involves data distributed across time zones.
  • Database time is based on the local time zone in which your database resides and should only be used when your data is confined to the same time zone.
Note:

If a preexisting date field is chosen when enabling editor tracking, any date and time values already populated in this field are expected to match the editor tracking time standard that you've specified.

Reconcile and post behavior

When versioned data is edited, the date and time values recorded are from when the edits are made, not when a reconcile occurs. For example, if an editor makes a change to a row and it was reconciled and posted into the default version the next day, the last edit date for the row in the default version will be from the previous day when the editor made the change.

Conflict resolution policy determines updates made to editor tracking fields of the edited version when versions with conflicts are reconciled. Differences in editor tracking fields alone do not trigger conflicts. If there are no conflicts, values in the editor tracking fields are applied to the edit version as with values from any other field.

Editor tracking properties

Editor tracking properties are accessible from the Manage tab on the table or feature class properties. To view from the Catalog pane, right-click the dataset and click Manage. Here you can view the editor tracking properties and enable or disable editor tracking.

When you enable editor tracking, you can use default or custom field name values. When enabling editor tracking, any fields specified that do not already exist will be created automatically. If fields do exist, they must be of the correct ArcGIS field data type. Learn more about editor tracking customized field settings.

Editor tracking option accessible from the Manage tab on the feature class properties

The Editor tracking option allows you to set the following properties:

  • Use the Editor tracking check box to enable or disable editor tracking.
  • Choose the fields to update when a feature or record is created:
    • Creator Field—The default value for this field is created_user and stores the name of the user who creates features or records.

      Create Date Field—The default value for this field is created_date and stores the date and time a feature or record was created.

  • Choose the fields to update when a feature or record is edited:
    • Editor Field—The default value for this field is last_edited_user and stores the name of the user who last edited a feature or record.

      Edit Date Field—The default value for this field is last_edited_date and stores the date a feature or record was last edited.

  • Choose the time standard:
    • UTC (recommended)—When editor tracking is enabled on a dataset using predefined settings, the date and time recorded when either the feature or record is created or updated is set to record in UTC by default.

      Database time—To enable editor tracking to record time in database time, use the dataset’s Properties dialog box or the Enable Editor Tracking geoprocessing tool. Recording the time in the database’s time zone is recommended only if users are certain all edits are to be performed in the same time zone.

See Enable editor tracking for more information about the methods available to enable or disable editor tracking.