Руководство по установке#

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

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

Доступ в мобильное приложение возможен только авторизованным пользователям.

Необходимая инфраструктура в открытом контуре:

  • сервер приложений с установлеными Docker, Nginx, Ansible;

  • сервер базы данных: ОС Astra Linux, докер-версия PostgreSQL (версия 11 и выше);

  • геосервер;

  • файловое хранилище Minio.

Установка#

  1. Установите Geometa и сервисы в открытом контуре. Файл custom.json для Jenkins:

[
    "Geometa.Public",
    "Jasper.Public",
    "Jet.Public.Service",
    "KafkaPublic",
    "KafkaAgents.Public.Service",
    "ConsulPublic",
    "CDC.Public.Service",
    "Geoserver"
]
  1. Обновите Geometa и сервисы в закрытом контуре. Файл custom.json для Jenkins:

[
    "Geometa",
    "Jasper",
    "Jet.Service",
    "KafkaAgents.Service",
    "CDC.Service"
]
  1. В файле vars.yml настройте переменные окружения, установив для них проектные значения.

  2. После обновления выполните команду:

docker-compose -f docker-compose.yml run cdc-cli start-snapshot
  1. Обновите метаданные в закрытом и открытом контурах:

    • ..\Подсистемы\Адресный план;

    • ..\Подсистемы\Сведения ГКН;

    • ..\Подсистемы\Субъекты;

    • ..\Подсистемы\Общие физические таблицы;

    • ..\Подсистемы\Услуги. Основные;

    • ..\Подсистемы\Услуга. Согласование проекта трасс инженерных коммуникаций;

    • ..\Подсистемы\Услуга. Разрешение на осуществление земляных работ;

    • ..\Подсистемы\Ордера на производство земляных работ;

    • ..\Подсистемы\Реклама.

  2. Авторизуйтесь в конфигураторе Geometa открытого контура под админом закрытого контура и создайте такие же проекты, как в закрытом контуре.

  3. Пролейте метаданные на все проекты в открытом и закрытом контурах.

  4. Выполните настройки в Геосервере и конфигураторе Geometa открытого контура:

    8.1. Добавьте такие же геосетки, как в закрытом контуре.

    8.2. Добавьте геосетку EPSG:3857_grid для слоев, которые будут в мобильном приложении.

    8.3. Добавьте стили для слоев, которые будут в мобильном приложении.

  5. Настройте клиента в конфигураторе Jet закрытого контура. Выдайте Jet-клиенту доступ к слоям по протоколам wmts, wfs. Доступ должен быть выдан на каждый проект.

  6. Материализуйте все необходимые для мобильного приложения слои в ГИС-конфигураторе Geometa закрытого контура.

  7. Опубликуйте все материализованные слои в конфигураторе Jet закрытого контура.

  8. Обновите стенд и настройте клиента в конфигураторе Jasper закрытого контура.

    12.1. Выдайте права для Jasper-клиента sodalite на создание и просмотр/изменение объектов системы. Права должны быть выданы на каждый проект.

    12.2. Дополните данные клиента:

    • URI перенаправления: com.gemsdev.sodalite://callback;

    • URI перенаправления после выхода из системы: com.gemsdev.sodalite://callback.

    12.3. Сохраните изменения.

  9. Выполните настройки учетных записей в конфигураторе Geometa закрытого контура:

    13.1. Добавьте учетную запись пользователя мобильного приложения в проект.

    13.2. Свяжите учетную запись с субъектом на проекте.

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

  10. В Consul открытого контура создайте токен для работы мобильного приложения:

    14.1. В разделе Policies создайте новую политику.

    14.2. В поле [Name] укажите любое удобное имя, которое поможет отличить эту политику от других, например, sodalite-only-read-policy.

    14.3. В поле [Rules] укажите следующее правило, которое гарантирует, что его использование дает доступ только на чтение и только к каталогу sodalite и его содержимому:

    key_prefix "sodalite/" {
    policy = "read"
    }
    

    14.4. В разделе Tokens создайте новый токен. Обязательно укажите ранее созданную политику в разделе Policies.

    14.5. Передайте данный токен разработчикам для дальнейшего использования в приложении.

  11. В Consul открытого контура создайте структуру хранилища конфигурации на странице Key/Value:

    • корневая папка – sodalite:

      • файл feature_flags.json – содержит фича-флаги для удобного внедрения фичей пользователю с возможностью оперативного их отключения, если появятся критические неисправности;

      • папка – configurations:

        • файл configuration.json.

  12. Отредактируйте файлы конфигурации feature_flags.json, configurations.json, указав в параметрах проектные значения.

  13. Создайте конфигурируемый модуль в менеджере конфигураций Consul:

    17.1. Создайте каталог приложения:

    • Нажмите кнопку Create, находясь в директории Key/Values/sodalite/apps.

    • В поле [Key or folder] задайте псевдоним для приложения в латинской раскладке, например, burials_etalon/.

    17.2. Добавьте описание конфигурации app.json c value в формате JSON, чтобы приложение появилось в списке модулей на мобильном устройстве:

    • Нажмите кнопку Create, находясь в нужном каталоге.

    • В форме заполните поля [Key or folder] (значением app.json) и [Value]. Пример заполнения поля [Value]:

    {
        "title": "Захоронения",
        "subtitle": "Контролируйте процесс захоронений согласно регламенту"
    }
    
  14. Добавьте роль и описание конфигурации основного слоя, чтобы модуль стал доступен пользователю:

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

    Наименование роли должно содержать префикс mobile_map:. После префикса необходимо добавить псевдоним приложения. В текущем примере это burials_etalon. В итоге роль из примера будет иметь наименование mobile_map:burials_etalon.

    Назначать права на типы данных не требуется.

  15. Добавьте описание конфигурации основного слоя base_layer.json в менеджере конфигураций Consule.

На данном этапе настройки приложение уже можно использовать пользователям с ролью mobile_map:burials_etalon.