I have Editor Tracking enabled on a table in an Oracle enterprise geodatabase (versioned):

Tracking an editor's changes to data says:

ArcGIS automatically records new editor tracking values whenever a feature or record 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.

What is the mechanism behind this functionality?

  • Technically, it's ArcObjects using the connection properties (that deep into the process, the connection file is long closed) – Vince Sep 25 '19 at 17:32

Editor Tracking is a mechanism to add one or more attributes to a geodatabase feature class (table) in such a way that all edits are tagged with additional information. The documentation at About tracking an editor's changes to data lists four attributes which can be maintained:

  1. The name of the user who created it.
  2. The date and time it was created.
  3. The name of the user who edited it.
  4. The date and time it was last edited.

One or more of these tracked properties are populated by the underlying ArcObjects edit code (therefore, from ArcMap, ArcGIS Pro, ArcGIS Server, or ArcPy) by simply adding the tracked columns to the list of insert columns (hidden from the user, as with the objectid value) and adding the appropriate value from the stream properties. If the table is versioned (in an enterprise geodatabase), then the edit properties are concatenated to the "Adds" table row (as any other INSERT or UPDATE request would be under the versioning model).

Editor Tracking behaves the same, no matter the geodatabase, so the fact that the table is in an Oracle enterprise geodatabase is not significant, and no Oracle-specific mechanisms are involved (beyond the core multiversion editing functionality).

  • 1
    "(therefore, from ArcMap, ArcGIS Pro, or ArcPy)"... should include ArcGIS Server in the mix here as well. Changes via feature services are also logged with editor tracking. – Son of a Beach Sep 25 '19 at 22:45
  • It's my understanding that the editor tracking column names can be user-defined. If that's the case, how does ArcObjects know which columns to use for editor tracking? Are the editor tracking column names stored in the E-GDB, FGDB, etc? – User1973 Oct 10 '19 at 18:38
  • @User1973 - When I use Editor Tracking in a FGDB, I have to manually create editor and edit date fields ahead of time. Then, when I enable tracking in the properties, I tell it what fields are what. You can do the same thing for create fields. Not sure if that is different in an Oracle environment, but it sounds like it's the same, based on what Vince said. – Baltok Oct 10 '19 at 19:02
  • 1
    Editor Tracking properties are saved in the feature class XML metadata. – Vince Oct 10 '19 at 20:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.