编辑者追踪简介

编辑者追踪提供了有关要素类和表的设置,该设置允许您自动记录关于所进行的所有插入和更新的信息。它保存了创建或修改数据的编辑者的记录以及编辑发生的时间戳。许多组织发现编辑者追踪有助于维持责任制度和透明度,并强化质量控制标准。

编辑者追踪可帮您回答诸如“负责在数据库中进行编辑的用户”等问题。在要素类或表上启用编辑者追踪后,将自动追踪以下信息:

  • 创建要素的用户
  • 创建要素的日期和时间
  • 上次编辑要素的用户
  • 最后编辑要素的日期和时间
负责在地理数据库的当前视图中进行特定编辑的用户列表

您可以为文件或企业级地理数据库中的以下数据类型启用编辑者追踪:

  • 要素类
  • 注记类
  • 尺寸类
  • 要素数据集
  • 属性关系类
注:

并非所有的关系类类型都支持编辑者追踪。编辑者追踪仅适用于基于表的关系类,例如多对多或属性 1:1 或 1:M 关系类

编辑者追踪的工作原理

在文件或企业级地理数据库的数据集上的 ArcGIS Pro 中启用编辑者追踪后,属性表将更新以包含指定用于追踪编辑信息的字段。创建要素时,编辑者追踪会记录创建该要素的用户名称以及创建日期和时间。更新现有要素后,将追踪执行编辑的用户的名称以及执行编辑的日期和时间。

使用默认设置启用编辑者追踪后,将自动添加以下四种字段名称和字段数据类型:

  • created_user(文本)
  • created_date(日期)
  • last_edited_user(文本)
  • last_edited_date(日期)

要追踪对发布为要素图层的数据执行的编辑,可以启用要素服务中的一些或所有图层的编辑者追踪。启用后,如同在 ArcGIS Pro 中操作一样,通过要素服务对数据进行的编辑将被追踪。

了解有关使用 ArcGIS Runtime SDK 进行编辑的信息

记录值后

启用编辑者追踪后,无论何时以何种方式插入或修改要素或记录,ArcGIS 都会记录新的编辑者追踪值。这包括对用户定义的属性列、未由用户定义的系统列以及存储要素几何的形状列进行的修改。

注:

启用编辑者追踪时已存在的要素将指定编辑器追踪字段显示为 <NULL> 值。追踪创建数据的用户和最初创建该要素的日期的字段将保持为 <NULL>。

大多数操作会记录追踪值,包括在后台自动更新据的操作。例如,删除简单关系中的原点会自动更新相关要素中的外键列,因此会记录相关要素的新追踪值。

编辑者追踪仅适用于对现有数据集的操作,不适用于创建数据集的操作。此外,涉及方案变更的操作如果也未修改进程中的列值,则不记录新的追踪值。

例如,进行以下任何操作将不会更新编辑者追踪值:

  • 不修改列值的方案变更
  • 添加或删除字段
  • 复制和粘贴要素类
  • 使用版本化数据协调并提交过程
  • 使用数据提取工具复制数据
  • 将标注转换为注记
  • 导入 XML 工作空间文档

根据组织的需要,也可利用归档功能记录和访问数据集编辑的完整历史。

用户名的记录方法

基于以下两种用于登录和访问文件或企业级地理数据库的身份验证方法来记录用户名:

  • 操作系统身份验证 - ArcGIS Pro 客户端编辑的文件地理数据库,以及通过操作系统身份验证所连接的企业级地理数据库。写入的用户名是操作系统登录帐户。
  • 数据库身份验证 - 记录通过用于连接到企业级地理数据库的数据库帐户建立的用户名。

例如,已经在名为 Schools 的要素类中启用编辑者追踪。下图中的编辑者追踪字段以黄色高亮显示。

使用名为 Schools 的要素类上的预定义设置启用编辑者追踪时将添加四个字段。

编辑者追踪记录了用户 EEVANS 添加名为 Highgrove Ridge High School 的新学校的日期和时间。

添加新要素时记录在编辑者追踪字段中的信息

当天晚些时候,另一个用户 BHARDIN 更新了当前学年的注册人数。编辑者追踪将 BHARDIN 记录为最后编辑此数据的用户并记录此编辑的日期和时间。

更新现有要素时记录在编辑者追踪字段中的信息

如果数据位于企业级地理数据库,并且您使用数据库身份验证,则可选择为进行编辑的用户名追加域(例如:@esri.com)。例如,如果在丹佛办事处有一个名为 John 的用户,并且在西雅图办事处也有一个名为 John 的用户,则可以 John@denver 和 John@seattle 的身份分别追踪他们的编辑内容,以便您可以确定是哪个 John 执行了各项编辑。

要设置企业级地理数据库的域,必须具有地理数据库管理员权限。在目录窗格中,右键单击与地理数据库的连接,单击属性,然后单击编辑者追踪选项卡。然后,您便可选择使用默认范围还是应用自己的范围。您也可以选择通过要素服务为所进行的编辑追加范围。

数据库属性中的“编辑者追踪域”选项

注:

域可用于区分通过要素服务进行的编辑,而不是直接对地理数据库中的数据进行的编辑。有关详细信息,请参阅要素服务的编辑者追踪

时间的记录方法

启用编辑者追踪后,如何记录日期和时间具有两个选项:UTC数据库时间

  • UTC(协调世界时间)是建议的默认设置。注册为分支版本化的数据集或在启用了编辑者追踪的情况下通过服务共享的所有数据都需要使用 UTC。最佳的做法是,当工作流涉及跨时区分布的数据时,请使用 UTC。
  • 数据库时间基于您的数据库所在的本地时区,并仅当您的数据限于同一时区时才应使用该数据库时间。
注:

如果在启用编辑者追踪时选择了预先存在的日期字段,则该字段中已填充的所有日期和时间值都应与您指定的编辑者追踪时间标准相匹配。

协调并提交行为

编辑版本化数据时,记录的日期和时间值是进行编辑的时间,而不是发生协调的时间。例如,如果编辑者更改了行,但在第二天对其进行协调并提交至默认版本,则默认版本中该行的最后一次编辑日期将是编辑者进行更改的前一天。

冲突解决策略确定在协调具有冲突的版本时对编辑者追踪字段进行的更新。编辑器追踪字段中的差异不单独触发冲突。如果没有冲突,编辑者追踪字段中的值用于编辑版本(与任何其他字段的值一样)。

编辑者追踪属性

编辑者追踪选项卡可从目录窗格中的表格或要素类属性进行访问,用于查看编辑者追踪属性。此外,还可以使用默认或自定义字段名称值启用编辑者追踪功能。启用编辑者追踪时,将自动创建指定的尚不存在的任何字段。如果存在字段,它们必须是正确的 ArcGIS 字段数据类型

要素类属性中的“编辑者追踪”选项卡

编辑者追踪选项卡中,可设置以下内容:

  • 使用启用编辑者追踪切换按钮以启用或禁用编辑者追踪。
  • 选择创建新要素或记录时要更新的字段。
    • 创建者字段 - 此字段的默认值为 created_user,用于存储创建要素或记录的用户的名称。

      创建日期字段 - 此字段的默认值为 created_date,用于存储创建要素或记录的日期和时间。

  • 选择编辑要素或记录时要更新的字段:
    • 编辑者字段 - 此字段的默认值为 last_edited_user,用于存储上次编辑要素或记录的用户的名称。

      编辑日期字段 - 此字段的默认值为 last_edited_date,用于存储上次编辑要素或记录的日期。

  • 选择时间标准:
    • UTC(推荐)- 使用预定义设置在数据集上启用编辑者追踪时,默认将创建或更新要素或记录时记录的日期和时间设置为采用 UTC 记录。

      数据库时间 - 要启用编辑者追踪以采用数据库时间记录时间,请使用数据集的属性对话框或启用编辑者追踪地理处理工具。如果用户确定要在同一时区内执行所有编辑,则仅建议在数据库的时区中记录时间。

有关启用或禁用编辑者追踪的不同方法的详细信息,请参阅启用编辑者追踪