Введение в отслеживание изменений

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

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

  • Пользователь, создавший объект
  • Дата и время создания объекта
  • Пользователь, последним редактировавший объект
  • Дата и время последнего изменения объекта
Список пользователей, ответственных за определенные виды изменений в текущем виде базы геоданных

Вы можете включить отслеживание изменений для следующих типов данных в файловой или многопользовательской базе геоданных:

  • Таблица
  • Класс пространственных объектов
  • Аннотация
  • Класс объектов-размеров
  • Набор классов объектов
  • Атрибутивный класс отношений
Примечание:

Не для всех типов классов отношений поддерживается отслеживание изменений. Отслеживание изменений можно активировать только для классов отношений с таблицами (таких как много-ко-многим или атрибутивные классы отношений 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@denver и John@seattle, соответственно, чтобы различить, какой именно Джон внес ту или иную правку.

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

Опции Области действия для Отслеживания редактирования в Свойствах базы данных

Примечание:

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

Как происходит запись времени

Если отслеживание изменений включено, существует две опции записи даты и времени: UTC или Время базы данных.

  • UTC (Coordinated Universal Time) является рекомендуемой настройкой, а также настройкой по умолчанию. UTC необходима для наборов данных, зарегистрированных в качестве версионных, имеющих версию ветви или для любых данных, которые будут публиковаться с помощью сервисов со включенным отслеживанием изменений. Лучшим методом считается использование UTC, если ваш рабочий процесс использует данные, находящиеся в различных часовых поясах.
  • Время базы данных основано на локальном часовом поясе, в котором находится ваша база данных, и должно использоваться только тогда, когда ваши данных находятся в том же часовом поясе.
Примечание:

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

Поведение при согласовании и закреплении изменений

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

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

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

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

Вкладка Отслеживание изменений в свойствах класса пространственных объектов

Вкладка Отслеживание редактирования позволяет задать следующее:

  • Используйте переключатель Включить отслеживание изменений, чтобы включить или отключить отслеживание изменений.
  • Выберите поля, которые будут обновляться при создании нового объекта или записи:
    • Поле Создатель – значением по умолчанию для этого поля является created_user, в нем хранится имя пользователя, который создает объекты или записи.

      Поле Дата создания – значением по умолчанию для этого поля является created_date, в нем хранится дата и время создания объекта или записи.

  • Выберите поля, которые будут обновляться при редактирования объекта или записи:
    • Поле Редактор – значением по умолчанию для этого поля является last_edited_user, в нем хранится имя пользователя, который последним редактировал объект или запись.

      Поле Дата редактирования – значением по умолчанию для этого поля является last_edited_date, в нем хранится дата последнего изменения объекта или записи.

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

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

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