22 сентября, 2021
Время прочтения: 7 минут
22 сентября, 2021

Разграничение прав на просмотр и редактирование данных

Время прочтения: 7 минут

Демонстрационная карта для пояснения возможностей разграничения прав на просмотр и редактирование данных для разных пользователей

На примере картографического приложения «Фильтрация данных по текущему пользователю» мы хотим познакомить вас с возможностями CoGIS, которые позволяют регулировать права на просмотр и редактирование данных для разных пользователей. Кроме того, мы рассмотрим возможности платформы CoGIS, полезные для создания такой системы как Инцидент менеджер.

В примере будут рассмотрены следующие возможности:

  • Разграничение прав на просмотр данных для разных пользователей
  • Разграничение прав на редактирование данных для разных пользователей
  • Рассылка email-уведомлений при создании объектов на карте
  • Фильтрация данных в виджетах по текущему пользователю

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

  • Доступ к картографическим приложениям и информационным страницам портала
  • Доступ к версиям одной и той же карты, определяя функционал для разных пользователей
  • Доступ к ГИС-сервисам
  • Доступ к отдельным слоям картографического сервиса
  • Разрешение на просмотр определенных данных из слоев картографического сервиса и отправку запросов к ним
  • Права на редактирование данных, в том числе указав конкретные операции: создание, изменение, удаление объектов, определение связей между объектами, добавление вложений, массовая загрузка и выгрузка данных, а также права на редактирование территорий и атрибутов объектов

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

Разграничение прав на просмотр данных для разных пользователей

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

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

Права доступа на просмотр данных настраиваются в правилах модуля CoGIS SOE (плагин «Ограничение на просмотр») в настройках ГИС-портала, где можно указать группу авторизованных пользователей, сервис и слой сервиса, просмотр которых требуется ограничить. Чтобы ограничить доступ на просмотр данных в слое, нужно указать SQL-выражение в фильтре слоя.

Для указания имени авторизованного пользователя или групп, в которые он входит, в CoGIS доступны макросы CurrentUser, CurrentGroups и CurrentGroup.<mygroup>, которые можно использовать в фильтрах, запросах, шаблонах отчетов и писем.

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

Разграничение прав на редактирование для разных пользователей

После авторизации на портале пользователю будет доступен инструмент для создания меток на карте с возможностью прикрепить фотографию.

Благодаря текущим настройкам пользователь может создавать новые метки и изменять их, пока они имеют статус «Загружено». После верификации модератором редактирование меток будет недоступно для пользователя.

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

Значение статуса «Загружено» при создании новой метки простым пользователем выставляется автоматически. Оно задается в шаблонах в этом же правиле редактирования, где можно переопределить:

  • название инструмента создания
  • символ отображения на кнопке инструмента
  • символ отображения на карте при создании нового объекта
  • значение по умолчанию для определенного поля

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

Рассылка уведомлений при создании объектов на карте

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

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

Текст писем формируется по заданным шаблонам, которые поддерживают описанные выше макросы, и может формироваться в HTML-формате. Макросы позволяют вставлять атрибуты созданных или изменяемых объектов в текст письма, а HTML-формат позволяет оформить письма в едином корпоративном стиле. И всё это регулируется двумя правилами в настройках конструктора без программирования.

Фильтрация данных в виджетах для текущего пользователя

Еще один элемент интерфейса системы Инцидент менеджер – это информационные панели и статистика. Макросы, используемые в правилах на просмотр, работают и в фильтрах разных блоков виджетов. Например, можно настроить виджет «Мои фотографии», в котором будет выводиться список только тех меток, которые создал текущий пользователь. Правило на просмотр фильтрует метки текущего пользователя, но по условию точки со статусом «Одобрено» доступны на просмотр всем. Поэтому нужно дополнительно скорректировать фильтр для вывода в виджете только меток текущего пользователя.

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

Вся история изменений - кто, когда создал или изменил метки - фиксируется автоматически.

Функционал, фиксирующий историю изменений, является частью умной БГД CoGIS и позволяет не только фиксировать изменения, но и восстанавливать состояния объектов, откатывая изменения.

Заключение

На примере картографического приложения «Фильтрация данных по текущему пользователю» мы показали возможности CoGIS, позволяющие регулировать права доступа к данным для разных пользователей, а также возможности создания системы Инцидент менеджер, предназначенной для автоматизации процесса управления инцидентами, не прибегая к программированию. Функциональные возможности CoGIS позволяют автоматизировать и более сложные процессы в системах Инцидент менеджер, а благодаря вертикальной интегрированности платформы ее можно встраивать в существующие системы на разных уровнях, расширяя перечень решаемых задач.