要素服务的编辑器追踪
在本主题中
注:
此功能仅适用于企业级地理数据库,而不适用于数据库。
要素服务可以追踪数据的更改者和更改时间。此信息直接存储在数据集的字段中。
编辑器追踪是 ArcGIS for Desktop 的要素,ArcGIS Server 可以利用该要素来追踪要素类和表的编辑。使用 ArcGIS for Desktop 启用编辑器追踪:
- 在目录树中,右键单击任意要素类或表,并单击管理 > 启用编辑器追踪。
- 查看消息提示并单击是。这会自动创建追踪编辑的字段(如果不存在)并启用编辑器追踪。
必须分别在每个数据集上配置编辑器追踪设置。可以选择创建要素服务,其中仅某些图层启用了编辑器追踪。
创建使用编辑器追踪的要素服务时,会在 ArcGIS for Desktop 中定义的字段中自动记录与编辑器有关的信息。如果要追踪创建或编辑数据的人,则在某些情况下,应用程序将需要请求 ArcGIS Server 凭据,这样可以获得包含此信息的令牌。将该令牌追加到要素服务的请求中,以便联系到发出请求的人。
如果未经身份验证的用户访问启用了创建者追踪的要素服务,则创建者字段或日期值将为新要素留空,并且上一个编辑器的编辑器字段或日期值也将设置为空。
编辑器追踪情景
以下是可使用编辑器追踪设置的一些方法示例。
问责制和质量控制
追踪编辑器和应用编辑的时间可帮助您强化添加到数据库的要素的问责制和质量控制。可追踪上一个编辑器或者最后一次编辑日期,以便查看负责在数据库的当前视图中进行特定编辑的人员。如果选择打开存档(要求版本化),则可以获得编辑的全部历史记录,包括要素的删除和原始创建者。
根据应用程序的要求,要素的创建者和要素创建日期可能是此情景中的值,也可能不是此情景中的值。
追踪随时间的更改
要随时间变化了解编辑的数量,可追踪最后一次编辑日期和创建日期。这可帮助您确定趋势并得出与日期的关系。如果选择打开存档,则可能不需要同时追踪编辑以满足这些要求。
基于所有权的访问控制
可以选择限制访问,这样只有创建要素的用户可以访问它。为此,需要设置创建者字段和配置服务以根据要素的创建者强制访问。这将在要素服务基于所有权的访问控制中详细讨论。
在 web 客户端和桌面客户端中的编辑器追踪
在 web 应用程序中编辑图层时,启用编辑器追踪和不启用编辑器追踪对图层来说没有区别。根据通过要素服务创作图层的方式,客户端不是没有看见编辑器追踪字段,就是只有它们的只读视图。当从客户端发送编辑时,将包括进行编辑的 web 用户的信息。根据打开的字段,将 web 用户以及曾向数据库应用更改的 UTC 日期写入追踪字段。将创建者字段和创建日期字段设置为只能插入,不能修改。
使用集成的安全模型
如果需要,可以通过要素服务实现集成的安全模型,其中 ArcGIS for Desktop 中的编辑器视为与 web 应用程序中的编辑器相同。例如,这允许名为 Bob 的用户在桌面会话或 web 编辑应用程序中进行编辑,并且使数据库在两个环境中记录相同的编辑器。为此,在 ArcGIS for Desktop 和 ArcGIS Server 中使用相同的登录信息,而不必在服务中指定用户域(详见下文)。
使用本地编辑命令
要素服务允许通过本地编辑命令进行可选编辑。使用本地编辑命令,将服务器数据的复制副本(子复本)写入桌面客户端。然后,客户端对本地副本进行编辑并将更改同步回服务器。写入服务器的编辑器和编辑器日期分别基于登录服务器进行同步的用户和进行编辑的日期。服务器忽略当时正记录在本地桌面编辑会话中的用户。
编辑器追踪和时区
通过 REST 使用要素服务时,所有日期均记录在 UTC 中。当在要素类中启用编辑器追踪时,确保编辑内容被设置为按照协调世界时间 (UTC) 进行记录。要素服务不支持将“数据库时间”作为追踪编辑的时区。
通过编辑器追踪使用范围
通过编辑器追踪,可以选择是否要追加域(例如:@esri.com)给进行编辑的用户名称。即使不使用 ArcGIS Server 时,它也非常有用。例如,如果在丹佛办事处有一个名为 John 的用户,并且在西雅图办事处也有一个名为 John 的用户,则可以 John@denver 和 John@seattle 的身份分别追踪他们的编辑,以便您可以确定是哪个 John 进行了各项编辑。
您也可以选择通过 ArcGIS Server 为所进行的编辑追加范围。访问安全要素服务时,ArcGIS Server 会记住您的用户名并将其应用到通过编辑器追踪所做的任何编辑。ArcGIS Server 还会追加已对要素服务配置的任何范围。
例如,考虑用户 Mary 登录 ArcGIS Server 并进行编辑的情况。将创建者在地理数据库中设置为 Mary。如果将要素服务配置为使用范围 @server,则后续编辑将显示在名为 Mary@server 的数据库中。
要设置要素服务的范围,请按照以下步骤进行操作:
在 ArcGIS Server 管理器中
- 打开管理器并登录。如果需要此步骤的帮助,请参阅登录管理器。
- 单击服务 > 管理服务。
- 在服务 模块中,单击要素服务的名称。如果列表中没有该服务,它可能位于站点(根) 目录下的文件夹中。
- 在编辑 模块中,单击功能。
- 单击要素访问(注意不要取消选中复选框)。
- 在属性部分中,单击高级选项。
- 选择应用编辑时通过范围限定用户名。
- 选择使用默认范围还是应用自己的范围。
- 单击确定。
在 ArcGIS for Desktop 中
- 在目录树中,展开 GIS 服务器结点。
- 双击 ArcGIS Server 的管理连接。有关如何连接的说明,请参阅在 ArcGIS for Desktop 中与 ArcGIS Server 建立管理连接。
- 右键单击要素服务的关联地图服务,然后选择服务属性。
- 在服务编辑器 对话框中,单击要素访问选项卡。
- 单击高级选项。
- 在要素服务高级选项 窗口中,选择应用编辑时向用户名添加域。
- 选择使用默认范围还是应用自己的范围。
- 单击确定。
如果服务器检测到登录的用户名已包括一个范围,则服务器将不会追加自己的范围。
可以在数据库和服务器范围之间映射用户。如果用户需要对 ArcGIS for Desktop 中的地理数据库直接进行编辑并且还通过要素服务在 web 上编辑,则可能要执行此操作。您会希望在这两个环境中使用同一个用户登录。完成此操作的工作流如下:
- 在 ArcGIS for Desktop 和 ArcGIS Server 中设置与登录帐户匹配的帐户。
- 设置数据库和服务器以使用相同的范围或完全不使用同一个范围。