Enable Editor Tracking (Data Management)

Summary

Enables editor tracking for a feature class, table, feature dataset, or relationship class in a geodatabase.

Usage

  • If the input dataset is from an enterprise geodatabase, it must be from a database connection established as the data owner.

  • This tool can add fields if they do not already exist. If fields do exist, they must be of the correct data type. Creator Field and Last Editor Field must be string fields, and Creation Date Field and Last Edit Date Field must be date fields.

  • Editor tracking applies to operations on existing datasets only. It does not apply to operations that create datasets. For example, if you copy a dataset to create a new one, tracking values will not update in the new dataset.

  • You can record the dates of edits in either the database's time zone or in coordinated universal time (UTC).

    If you plan to copy or replicate data across time zones or edit through a feature service, use UTC. Since editors can apply edits from potentially anywhere in the world, UTC works well because it ensures that times are recorded in a universally accepted and consistent way.

    Configuring your editor tracking to use the database's time zone is only recommended if you are certain that all edits will be performed in the same time zone.

  • You can run this tool on a dataset that already has editor tracking enabled but only to enable tracking of additional information. For example, if a dataset is only tracking the creator and creation date, you can run this tool to add tracking of the editor and last edited date. This tool cannot disable tracking on a field, switch tracking from one field to another, or switch between UTC and database time. If you need to perform any of these operations, disable editor tracking on the input dataset before you run this tool.

  • Not all relationship class types can have editor tracking enabled. Editor tracking can only be enabled on table-based relationship classes (that is, many-to-many or attributed relationship classes).

  • At ArcGIS Pro 2.4, feature datasets are supported as input for this tool. If you add new fields to each item in the feature dataset, the fields will, by default, be named created_user, created_date, last_edited_user, and last_edited_date. If you use existing fields, the fields must already exist for all items in the feature dataset.

Syntax

arcpy.management.EnableEditorTracking(in_dataset, {creator_field}, {creation_date_field}, {last_editor_field}, {last_edit_date_field}, {add_fields}, {record_dates_in})
ParameterExplanationData Type
in_dataset

The feature class, table, feature dataset, or relationship class in which editor tracking will be enabled.

Dataset; Topology; Network Dataset
creator_field
(Optional)

The name of the field that will store the names of users who create features or records. If this field already exists, it must be a string field.

String
creation_date_field
(Optional)

The name of the field that will store the date features or records are created. If this field already exists, it must be a date field.

String
last_editor_field
(Optional)

The name of the field that will store the names of users who last edited features or records. If this field already exists, it must be a string field.

String
last_edit_date_field
(Optional)

The name of the field that will store the date features or records were last edited. If this field already exists, it must be a date field.

String
add_fields
(Optional)

Specifies whether to add fields if they don't exist.

  • NO_ADD_FIELDSFields will not be added. Fields specified must already exist. This is the default.
  • ADD_FIELDSFields will be added if they don't exist. You must specify the names of the fields to add in the creator_field, creation_date_field, last_editor_field, and last_edit_date_field parameters.
Boolean
record_dates_in
(Optional)

The time format in which created date and last edited date will be recorded. The default is UTC.

  • UTCDates will be recorded in UTC. This is the default.
  • DATABASE_TIMEDates will be recorded in the time zone in which the database is located.
String

Derived Output

NameExplanationData Type
out_dataset

The modified input dataset.

Dataset

Code sample

EnableEditorTracking example (Python window)

The following Python window script demonstrates how to use the EnableEditorTracking tool in immediate mode.

import arcpy
arcpy.EnableEditorTracking_management("d:/RC.gdb/Buildings","Creator","Created","Editor","Edited","ADD_FIELDS","UTC")
EnableEditorTracking example 2 (stand-alone script)

The following stand-alone script demonstrates how to enable editor tracking on all the feature classes and tables in a geodatabase.

# Name: EnableEditorTracking_Ex02.py
# Description: Enables editor tracking for all datasets in a geodatabase

# Import system modules
import arcpy
import os

# Set the workspace
workspace = arcpy.GetParameterAsText(0)

# Set the workspace environment
arcpy.env.workspace = "d:/test/data.gdb"

# Get all the stand alone tables and feature classes
dataList = arcpy.ListTables() + arcpy.ListFeatureClasses()

# For feature datasets get all of the featureclasses
# from the list and add them to the master list
for dataset in arcpy.ListDatasets("", "Feature"):
    arcpy.env.workspace = os.path.join(workspace,dataset)
    dataList += arcpy.ListFeatureClasses()

# Execute enable editor tracking
for dataset in dataList:
    print('Enabling tracking on ' + dataset)
    arcpy.EnableEditorTracking_management(dataset, "ET_CREATOR",
        "ET_CREATED", "ET_EDITOR", "ET_EDITED", "ADD_FIELDS", "UTC")
print('Enabling complete')

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics