Skip To Content

Отслеживание редактирования в сервисах объектов

В этом разделе
Примечание:

Эта функциональная возможность может использоваться только для многопользовательских баз геоданных, не для баз данных.

Сервисы объектов позволяют следить за тем, кто и когда внес изменения в данные. Эта информация хранится в полях прямо в наборе данных.

Отслеживание изменений – это функция ArcGIS for Desktop, которая может использоваться ArcGIS Server для отслеживания правок в классах пространственных объектов и таблицах. Включение отслеживания изменений в ArcGIS for Desktop:

  1. В дереве каталога щелкните правой кнопкой мыши любой класс пространственных объектов или таблицу и выберите пункт Управление (Manage) > Включить отслеживание изменений (Enable Editor Tracking).
  2. Просмотрите текст сообщения и нажмите кнопку Да (Yes). В результате будут автоматически созданы поля для отслеживания изменений (если они еще не существуют) и включено само отслеживание изменений.

Необходимо настроить параметры отслеживания редактирования каждого набора данных в индивидуальном порядке. Вы можете создать сервис объектов, в котором будет включено отслеживание редактирования только в некоторых слоях.

При создании Сервиса объектов, использующего отслеживание изменений, сведения о редакторах автоматически записываются в полях, определенных в ArcGIS for Desktop. Если вы отслеживаете, кто создал или отредактировал данные, вашему приложению в какой-то момент придется обратиться за учетными данными пользователей к ArcGIS Server, чтобы вы получили маркеры токены доступа (token) с этой информацией. Этот токен доступа добавляется к запросам сервиса объектов для того, чтобы сообщить, кто производит запросы.

Если непрошедший авторизацию пользователь обращается к Сервису объектов с включенным отслеживанием создателя, то поле создателя или значение даты для новых объектов оставляется пустым, а поле редактора или значение даты для последнего редактора сбрасывается.

Сценарии отслеживания редактирования

Ниже приводятся некоторые примеры того, как можно использовать настройки отслеживания редактирования.

Отчетность и контроль качества

Отслеживание того, кто внес изменения, и когда были применены правки, поможет обеспечить отчетность и контроль качества объектов, добавляемых вами в базу данных. Вы можете проследить, кто и, если нужно, когда производил последнее редактирование, чтобы найти ответственного за те или иные правки в текущем виде базы данных. Если вы решите включить архивирование (требуется работа с версиями), вы можете получить всю историю изменений, в том числе удалений и создания этого объекта.

В зависимости от требований приложения, информация о создателе и дате создания объекта может быть не так важна в этом случае.

Отслеживание изменений во времени

Чтобы узнать, сколько всего было внесено изменений, вы можете найти дату последней правки и дату создания. Это помогает выявить тенденции и проследить взаимосвязь с датой. Если вы решите включить архивирование, вам не нужно отслеживать изменения, чтобы соответствовать этим требованиям.

Управление доступом на основе владения

Вы можете ограничить доступ таким образом, чтобы только тот пользователь, который создал объект, мог получить к нему доступ. Для этого необходимо выбрать поле для хранения имени создателя и настроить сервис для обеспечения доступа на основе того, кто создал этот объект. Этот вопрос обсуждается более подробно в разделе Управление доступом к сервисам объектов на основе владения.

Отслеживание редактирования в настольных программах и веб-приложениях

Редактирование слоев в веб-приложениях с включенным отслеживанием редактирования ничем не отличается от редактирования слоев без него. В зависимости от того, как слой был настроен в сервисе объектов, либо клиенты не видят поля отслеживания редактирования, либо эти поля доступны им только для чтения. Когда клиент вносит изменения, в них также добавляется информация о веб-пользователе, который произвел внесение изменений. В зависимости от включенных полей в поля отслеживания изменений записывается веб-пользователь, а также дата UTC, когда изменения были внесены в базу данных. Поле автора и поле даты создания объектов обновляются только при вставке новых объектов и никогда не изменяются.

Использование интегрированной модели безопасности

При желании можно реализовать интегрированную модель безопасности с помощью Сервисов объектов, в которых редактор в ArcGIS for Desktop рассматривается как аналогичный редактор в веб-приложениях. Это позволяет, например, пользователю по имени Bob вносить изменения либо в сессии настольного приложения (например, в ArcMap), либо в приложении веб-редактирования и числиться в базе данных под одним и тем же именем редактора в обеих средах. Для этого используйте одинаковые данные для входа в ArcGIS for Desktop и ArcGIS Server и не указывайте область пользователя (см. ниже) в Сервисе.

Использование команд локального редактирования

В сервисах объектов разрешено редактирование с помощью команд локального редактирования. С помощью команд локального редактирования реплицированная копия данных (дочерняя реплика) с сервера записывается на диске компьютера с настольным приложением. Затем клиент вносит правки в локальную копию и синхронизирует правки с сервером. Редактор и даты редактирования, записанные на сервере, соответствуют пользователю, вошедшему на сервер для выполнения синхронизации, и дате проведения синхронизации, соответственно. Пользователь, который был зарегистрирован в сеансе редактирования на локальном компьютере, игнорируется сервером.

Отслеживание редактирования и часовые пояса

При работе с сервисом объектов через REST все даты записываются в формате UTC. При включении отслеживания изменений класса объектов, убедитесь, что настроена запись изменений в формате UTC. Сервисы объектов не поддерживают Время базы данных (Database Time) как временную зону для отслеживания изменений.

Использование домена пользователя (realm) с отслеживанием редактирования

Отслеживание редактирования позволяет выбрать, хотите ли вы добавить к имени пользователя, осуществляющего редактирование, домен пользователя (например: @esri.com). Это может быть удобно, даже если вы не используете ArcGIS Server. Например, если у Вас есть пользователь John в офисе г. Денвер и пользователь John в офисе г. Сиэтл, вы можете установить для них имена John@denver и John@seattle, соответственно, чтобы различить, какой именно John внес ту или иную правку.

Вы также можете выбрать добавление домена пользователя к записям изменений, которые производятся средствами ArcGIS Server. Когда вы получаете доступ к сервису объектов с включенными настройками безопасности, ArcGIS Server запоминает имя пользователя и использует его для любых изменений, внесенных вами, с помощью отслеживания редактирования. ArcGIS Server также добавляет любой домен, который вы настроили в сервисе объектов.

Например, рассмотрим случай, когда пользователь Мария входит в ArcGIS Server и вносит правки. В качестве создателя объекта в базе геоданных будет записано Mary. Если вы настроите в сервисе объектов домен @сервер, последующие изменения будут записаны в базе данных под именем Mary@сервер.

Чтобы указать домен в сервисе объектов, выполните следующие действия.

В приложении ArcGIS Server Manager:

  1. Откройте Менеджер (Manager) и войдите в него. Справка по этому шагу приведена в разделе Вход в Менеджер.
  2. Выберите Сервисы (Services) > Управление сервисами (Manage Services).
  3. В модуле Сервисы (Services) щелкните имя сервиса объектов. Если сервис не показан в списке, он может находиться в папке корневой директории Site.
  4. В модуле Редактирование (Edit) перейдите на закладку Функции (Capabilities).
  5. Щелкните Доступ к объекту (Feature Access) (будьте осторожны и не снимайте отметку).
  6. В разделе Свойства (Properties) нажмите кнопку Дополнительные параметры (Advanced Options).
  7. Выберите Указывать имя пользователя с уточнителем при применении правок (Qualify username with realm when applying edits).
  8. Выберите домен по умолчанию или укажите собственный.
  9. Нажмите ОК.

В ArcGIS for Desktop

  1. В дереве окна Каталог разверните папку ГИС-серверы (GIS Servers).
  2. Дважды щелкните на административном подключении к ArcGIS Server. Инструкции по подключению приведены в разделе Установка административного соединения с ArcGIS Server в ArcGIS for Desktop.
  3. Щелкните правой кнопкой мыши картографический сервис, связанный с сервисом объектов, и выберите Свойства сервиса (Service Properties).
  4. В диалоговом окне Редактор сервисов (Service Editor) выберите закладку Доступ к объекту (Feature Access).
  5. Щёлкните Дополнительные опции (Advanced Options).
  6. В окне Расширенные параметры сервиса объектов (Feature Service Advanced Options) выберите Добавить уточнитель к имени пользователя при применении правок (Add realm to user name when applying edits).
  7. Выберите домен по умолчанию или укажите собственный.
  8. Нажмите ОК.

Если сервер обнаружит, что имя вошедшего пользователя уже включает в себя домен, то он не будет добавлять к имени пользователя свой домен.

Можно связать пользователей между базой данных и доменами сервера. Вы можете сделать это, если пользователям необходимо вносить изменения непосредственно в базу геоданных в ArcGIS for Desktop, а также через Интернет с помощью Сервиса объектов. Вам может понадобиться вести журнал действий одного и того же пользователя в обеих средах. Рабочий процесс для достижения этой цели заключается в следующем:

  1. Настройте учетные записи с совпадающими логинами в ArcGIS for Desktop и ArcGIS Server.
  2. Настройте базу данных и сервер так, чтобы они использовали одинаковый домен или не использовали его вообще.