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

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

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

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

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

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

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

В зависимости от потребностей вашей организации вы также можете использовать архивирование для записи и доступа к полной истории редактирования набора данных.

Как записываются имена пользователей

Имя пользователя, создающего или редактирующего объект, записывается в полях "creator " и "editor". Это определяется пользователем и методом аутентификации, используемым для доступа к файловой, мобильной или многопользовательской базе геоданных.

Изучите следующие способы аутентификации:

  • Аутентификация операционной системы – для файловых и мобильных баз геоданных, редактируемых с помощью клиента ArcGIS Pro, и многопользовательских баз геоданных, к которым вы подключаетесь через аутентификацию операционной системы, записанное имя пользователя, основывается на учетной записи, использующейся для входа в операционной системе.
  • Аутентификация базы данных - для многопользовательских баз геоданных записанное имя пользователя основывается на действительном имени пользователя базы данных, хранящемся в базе данных, и является именем, используемым для подключения к базе геоданных. Этот метод позволяет вам подключаться под другим пользователем базы данных, указав другие учетные данные.

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

Например, отслеживание редактирования было включено для класса объектов Schools. Поля отслеживания редактирования выделены желтым цветом на изображении ниже.

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

При отслеживании изменений были записаны дата и время, когда прошедший аутентификацию операционной системы пользователь EEVANS добавил школу Highgrove Ridge High School.

Информация, записанная в поля отслеживания изменений, при добавлении нового объекта

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

Информация, записанная в поля отслеживания изменений при обновлении существующих объектов

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

Область действия

Если ваши данные хранятся в многопользовательской базе геоданных, и вы используете аутентификацию базы данных, то вы можете добавить к имени пользователя, выполнившего редактирование, область действия (например: @esri.com). Например, если у Вас есть пользователь John в офисе Denver и пользователь John в офисе Seattle, вы можете установить для них имена John@denver и John@seattle, соответственно, чтобы различить, какой именно John внес ту или иную правку.

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

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

Примечание:

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

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

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

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

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

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

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

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

Свойства отслеживания изменений

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

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

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

Опция Отслеживание изменений позволяет задать следующие свойства:

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

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

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

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

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

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

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