Руководство по установке#
Ядро мобильного приложения – это модуль, обеспечивающий работу с интерактивными картами и предоставляющий инструменты для конфигурирования приложения. Модуль служит фундаментом для адаптации интерфейса и набора функций под отраслевые задачи и создает готовую рабочую среду для пользователя.
На базе ядра мобильного приложения реализуются специализированные инструменты (конфигурации) для контроля за соблюдением требований земельного законодательства.
Доступ в мобильное приложение возможен только авторизованным пользователям.
Необходимая инфраструктура в открытом контуре:
сервер приложений с установлеными Docker, Nginx, Ansible;
сервер базы данных: ОС Astra Linux, докер-версия PostgreSQL (версия 11 и выше);
геосервер;
файловое хранилище Minio.
Установка#
Установите Geometa и сервисы в открытом контуре. Файл custom.json для Jenkins:
[
"Geometa.Public",
"Jasper.Public",
"Jet.Public.Service",
"KafkaPublic",
"KafkaAgents.Public.Service",
"ConsulPublic",
"CDC.Public.Service",
"Geoserver"
]
Обновите Geometa и сервисы в закрытом контуре. Файл custom.json для Jenkins:
[
"Geometa",
"Jasper",
"Jet.Service",
"KafkaAgents.Service",
"CDC.Service"
]
В файле vars.yml настройте переменные окружения, установив для них проектные значения.
После обновления выполните команду:
docker-compose -f docker-compose.yml run cdc-cli start-snapshot
Обновите метаданные в закрытом и открытом контурах:
..\Подсистемы\Адресный план;
..\Подсистемы\Сведения ГКН;
..\Подсистемы\Субъекты;
..\Подсистемы\Общие физические таблицы;
..\Подсистемы\Услуги. Основные;
..\Подсистемы\Услуга. Согласование проекта трасс инженерных коммуникаций;
..\Подсистемы\Услуга. Разрешение на осуществление земляных работ;
..\Подсистемы\Ордера на производство земляных работ;
..\Подсистемы\Реклама.
Авторизуйтесь в конфигураторе Geometa открытого контура под админом закрытого контура и создайте такие же проекты, как в закрытом контуре.
Пролейте метаданные на все проекты в открытом и закрытом контурах.
Выполните настройки в Геосервере и конфигураторе Geometa открытого контура:
8.1. Добавьте такие же геосетки, как в закрытом контуре.
8.2. Добавьте геосетку EPSG:3857_grid для слоев, которые будут в мобильном приложении.
8.3. Добавьте стили для слоев, которые будут в мобильном приложении.
Настройте клиента в конфигураторе Jet закрытого контура. Выдайте Jet-клиенту доступ к слоям по протоколам wmts, wfs. Доступ должен быть выдан на каждый проект.
Материализуйте все необходимые для мобильного приложения слои в ГИС-конфигураторе Geometa закрытого контура.
Опубликуйте все материализованные слои в конфигураторе Jet закрытого контура.
Обновите стенд и настройте клиента в конфигураторе Jasper закрытого контура.
12.1. Выдайте права для Jasper-клиента sodalite на создание и просмотр/изменение объектов системы. Права должны быть выданы на каждый проект.
12.2. Дополните данные клиента:
URI перенаправления: com.gemsdev.sodalite://callback;
URI перенаправления после выхода из системы: com.gemsdev.sodalite://callback.
12.3. Сохраните изменения.
Выполните настройки учетных записей в конфигураторе Geometa закрытого контура:
13.1. Добавьте учетную запись пользователя мобильного приложения в проект.
13.2. Свяжите учетную запись с субъектом на проекте.
13.3. Назначьте пользователю роль на доступ к модулю мобильного приложения.
В 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. Передайте данный токен разработчикам для дальнейшего использования в приложении.
В Consul открытого контура создайте структуру хранилища конфигурации на странице Key/Value:
корневая папка – sodalite:
файл feature_flags.json – содержит фича-флаги для удобного внедрения фичей пользователю с возможностью оперативного их отключения, если появятся критические неисправности;
папка – configurations:
файл configuration.json.
Отредактируйте файлы конфигурации feature_flags.json, configurations.json, указав в параметрах проектные значения.
Создайте конфигурируемый модуль в менеджере конфигураций 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": "Контролируйте процесс захоронений согласно регламенту" }
Добавьте роль и описание конфигурации основного слоя, чтобы модуль стал доступен пользователю:
Создайте роль в конфигураторе Geometa для проектов, с которыми планируется использовать мобильное приложение.
Наименование роли должно содержать префикс mobile_map:. После префикса необходимо добавить псевдоним приложения. В текущем примере это burials_etalon. В итоге роль из примера будет иметь наименование mobile_map:burials_etalon.
Назначать права на типы данных не требуется.
Добавьте описание конфигурации основного слоя base_layer.json в менеджере конфигураций Consule.
На данном этапе настройки приложение уже можно использовать пользователям с ролью mobile_map:burials_etalon.