Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

Актуальная версия ExeMES - 12.3 0 (релиз от ноября 2024 февраля 2025 г.)

Expand
titleОбновление на версию 2.0
Warning

Процесс обновления БД MESDB до версии 2.0 возможен, начиная с версии 1.3. Для обновления до версии 1.3 см. пункт Обновление на версию 1.3

Expand
titleОбновить БД MESDB

Для обновления необходимо использовать функционал автоматического обновления БД MESDB.

Expand
titleМодифицировать существующий реалм Keycloak
  1. Зайдите в приложение Keycloak под администратором реалма и выберите в выпадающем списке реалм exemesImage Added
  2. В левом боковом меню выберите пункт ClientsImage Added
  3. В центральной части экрана нажмите на кнопку Import ClientImage Added
  4. Ниже в центральной части экрана нажмите Browse...Image Added
  5. Выберите файл exemesruntime-client.json из папки upd, которая находится в составе дистрибутива exemes 2.0. После завершения загрузки файла, переместитесь в конец страницы и нажмите кнопку Save. Аналогичные действия необходимо произвести со вторым файлом в папке upd: exesched.json.Image Added
  6. После завершения импорта конфигурации убедитесь что новая конфигурация появилась в списке клиентовImage Added
  7. Создайте новые роли для импортированных клиентов, для этого выберите в списке exemesruntime-client. В центральной части экрана перейдите на вкладку Roles и нажмите на кнопку Create roleImage Added
  8. Ниже заполните поля Role name и Description, в завершении нажмите кнопку SaveImage Added
  9. Таким образом, необходимо создать 4 роли с описаниями:
    • Role name = Inventory,  Description = Доступ к экрану управления складскими остатками;
    • Role name = Operator, Description = Доступ к панели оператора;
    • Role name = Quality, Description = Доступ к экрану управления качеством;
    • Role name = Utilization, Description = Доступ к экрану управления событиями оборудования.
  10. Вернитесь к списку клиентов и выберите exesched. Для exesched необходимо создать 1 роль:
    • Role name = Scheduler, Description = Планировщик.
  11. Назначьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации. Подробно об Управлении доступом к ExeMES.
  12. Выберите в левом меню вкладку Clients далее выберите пункт mesmiddleware, добавьте новые роли для возможности настройки разграничения прав доступа по объектамImage Added
  13. В центральной части экрана выберите вкладку Roles и нажмите кнопку Create RoleImage Added
  14. В новом окне заполните поля Role name и Description. Таким образом для клиента mesmiddleware должно быть создано 2 роли:
    • Role name = VAccess,  Description = View Access Management;
    • Role name = EAccess,  Description = Edit Access Management.
  15.  Назначьте новые роли группам пользователей, в зависимости от конфигурации Вашей системы. Подробно об Управлении доступом к ExeMES.
  16. Добавьте существующие роли реалма для корректной работы механизма разграничения доступа к объектам
    • Роль view-users (существующая);
    • Роль manage-authorization (существующая).Image AddedImage Added
  17. Добавьте роль realm-management/view-clients для сервисного аккаунта клиента mesmiddleware. Для этого перейдите в левом меню на вкладку Clients, затем выберите пункт mesmiddleware, в центральной части экрана перейдите на вкладку Service Account Roles и нажмите на кнопку Assign role. В появившемся окне выберите фильтр Filter by clients, введите в поле фильтра view-clients, выберитероль view-clients и нажмите кнопку Assign.


Image Added


Expand
titleОбновить версии приложений Middleware и MesClient, добавить конфигурацию запуска приложений EXERuntimeClient и EXESched

Для обновления версий Middleware и MESClient необходимо скорректировать файл docker-compose, указав:

для Middleware

image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.0"

Также для Middleware необходимо сконфигурировать новую переменную окружения, указав:

EntityAccessProtection: "Enabled"

Данная переменная активирует функционал разделения прав доступа по объектам.

Если Вы не планируете использовать этот функционал, можете не указывать эту переменную, либо сконфигурируйте её, указав:

EntityAccessProtection: "Disabled"

Подробнее о настройке переменных окружения.

для MESClient

image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.0"


Note

Указанные образы обновляемых приложений должны быть предварительно добавлены в docker.


Для добавления конфигурации запуска новых приложений ExeRuntimeClient и ExeSched выполните следующие действия:

  1. скопируйте папки data/exeruntimeclient и data/exesched в папку с установленным ПО ExeMES (по умолчанию root/dev/)
  2. добавьте в файл docker-compose следующие структуры:

  exeruntimeclient:
    container_name: exeruntimeclient
    image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:1.0"
    restart: always
    environment:
      MiddlewareApiRootUri: "http://exemesmiddleware/api"    
      TZ: "Europe/Moscow"
      ASPNETCORE_URLS: "https://+;http://+"
      ASPNETCORE_HTTPS_PORT: "8143"
      ASPNETCORE_Kestrel__Certificates__Default__Password: "1"
      ASPNETCORE_Kestrel__Certificates__Default__Path: "/root/.aspnet/https/EXEMESClient.pfx"
      GCCSettings:BroadcastRemoteLicenses: "0"
      GCCSettings:UseRemoteHosts: "1"
      GCCSettings:Remotehosts: "[license_server_ip]"
    ports:     
      - "8143:443"
    volumes:
      - type: bind
        source: /root/dev/data/exeruntimeclient/keycloak.json
        target: /app/keycloak.json
      - type: bind
        source: /root/dev/data/exeruntimeclient/appsettings.json
        target: /App/appsettings.json
      - type: bind
        source: /root/dev/crt/wildcard.mycompany.local.pfx
        target: /root/.aspnet/https/EXEMESClient.pfx
      - type: bind
        source: /root/dev/crt/wildcard.mycompany.local.crt
        target: /etc/ssl/certs/wildcard.mycompany.local.pem
    extra_hosts:
      - "mes-runtime.mycompany.local client.mycompany.local middleware.mycompany.local keycloak.mycompany.local:[host_ip]"

exesched:
    container_name: exesched
    image: "git.exeplant.ru:5050/mes-develop/exesched:1.0"
    restart: always
    environment:
      MiddlewareApiRootUri: "https://middleware.mycompany.local:7142/api"    
      TZ: "Europe/Moscow"
      ASPNETCORE_URLS: "https://+;http://+"
      ASPNETCORE_HTTPS_PORT: "8135"
      ASPNETCORE_Kestrel__Certificates__Default__Password: "1"
      ASPNETCORE_Kestrel__Certificates__Default__Path: "/root/.aspnet/https/EXESched.pfx"
      GCCSettings:BroadcastRemoteLicenses: "0"
      GCCSettings:UseRemoteHosts: "1"
      GCCSettings:Remotehosts: "[license_server_ip]"
      DBConnection: "Server=[host_ip]; User Id=[user]; Database=exesched; Port=5432; Password=[password]; SSLMode=Prefer"
    ports:     
      - "8135:443"
    volumes:
      - type: bind
        source: /root/dev/data/exesched/keycloak.json
        target: /App/keycloak.json
      - type: bind
        source: /root/dev/data/exesched/appsettings.json
        target: /App/appsettings.json
      - type: bind
        source: /root/dev/crt/EXESched.pfx
        target: /root/.aspnet/https/EXESched.pfx
      - type: bind
        source: /root/dev/crt/wildcard.mycompany.local.crt
        target: /etc/ssl/certs/wildcard.mycompany.local.pem 
    extra_hosts:
      - "mes-runtime.mycompany.local client.mycompany.local middleware.mycompany.local exesched.mycompany.local keycloak.mycompany.local:[host_ip]"

Tip

Поля [user], [password], [license_server_ip] и [host_ip] замените в соответствии с Вашей конфигурацией сети (используйте аналогию с Middleware).

Подробнее о настройке переменных окружения.

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


Expand
titleОбновление на версию 1.3
Warning

Процесс обновления БД MESDB до версии 1.3 возможен только с версии 1.2. Для обновления до версии 1.2 см. пункт Обновление на версию 1.2

Для обновления ПО ExeMES 1.3 используется встроенный в Middleware функционал. Для корректной работы функционала обновления необходимо предварительно выполнить следующие действия:

Expand
titleМодифицировать существующий реалм Keycloak

Необходимо добавить в существующий реалм Keycloak новые роли и назначить эти роли требуемой группе пользователей, для этого:

Нужно зайти в приложение Keycloak под администратором реалма и выбрать в выпадающем списке реалм exemes

Image Modified

Далее в левом боковом меню выбрать пункт Clients

Image Modified

В обновившейся центральной части экрана выбрать клиент Middleware

Image Modified

Далее необходимо перейти на вкладку Roles и нажать кнопку Create Role

Image Modified

В открывшемся окне в поле Role Name необходимо ввести название новой роли EAdm в поле Description нужно ввести Edit (manage) Admin Tools

Image Modified

После заполнения полей необходимо нажать кнопку Save.

Аналогично роли EAdm необходимо добавить еще одну роль с именем VAdm и описанием View Admin Tools.

Image Removed

После заполнения полей необходимо нажать кнопку Save.

Для назначения новых ролей определенной группе пользователей необходимо переключиться в левом меню на пункт Groups, затем необходимо выбрать группу пользователей, которой будут доступна роль разрешающая просмотр информации о версии БД MESDB (VAdm) и роль разрешающая производить обновление версии БД MESDB (EAdm). В примере ниже роль VAdm будет добавлена группе EXEMES_Admins. После выбора группы пользователей необходимо перейти на вкладку Role mapping в центральной части экрана и нажать на кнопку Assign role

Image Modified

Во всплывающем окне необходимо выбрать фильтр Filter by clients, правее фильтра в строке поиске указать имя роли VAdm и нажать стрелку для поиска. После необходимо поставить галку напротив группы VAdm и нажать кнопку Assign

Image Modified 

Теперь все пользователи группы EXEMES_Admins будут иметь возможность проверять актуальность версии БД MESDB.

Аналогично для разрешения обновления версии БД MESDB группе пользователей необходимо назначить роль EAdm.

Expand
titleПодготовить БД MESDB версии 1.2 к обновлению

Для того чтобы приложение Middleware корректно обновила БД MESDB необходимо подключиться к БД MESDB любым клиентом СУБД, поддерживающим работу с Postgre версии 15.4 и выполнить следующий скрипт:

CREATE TABLE public."__EFMigrationsHistory" (
"MigrationId" varchar(150) NOT NULL,
"ProductVersion" varchar(32) NOT NULL,
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
);

INSERT INTO public."__EFMigrationsHistory"
("MigrationId", "ProductVersion")
values
('20240312123332_MESDB_V0', '8.0.8'),
('20240708154420_MESDB_V1.2.0', '8.0.8');

Expand
titleОбновить версии приложений Middleware и MesClientMESClient

Для обновления версий необходимо скорректировать файл docker-compose, указав

для Middleware

image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:1.3.0"

для MesClientMESClient

image: "git.exeplant.ru:5050/mes-develop/exemesclient:1.3.0"

Note

Указанные образы обновляемых приложений должны быть предварительно добавлены в docker.

 Далее для обновления необходимо использовать функционал автоматического обновления БД MESDB.

Expand
titleОпциональное обновление

Кроме обязательных действий по обновлению БД MESDB мы предлагаем обновить описания статусов производственных заданий. Это обновление носит рекомендательный характер и никак не влияет на функционал ExeMES.

Для обновления необходимо выполнить следующий скрипт в любом клиенте СУБД подключенном к MESDB

update job_state set state_desc = 'НОВОЕ' where state_cd = 1;
update job_state set state_desc = 'В РАБОТУ' where state_cd = 2;
update job_state set state_desc = 'ВЫПОЛНЯЕТСЯ' where state_cd = 3;
update job_state set state_desc = 'ЗАВЕРШЕНО' where state_cd = 4;
update job_state set state_desc = 'ПРИОСТАНОВЛЕНО' where state_cd = 5;
update job_state set state_desc = 'ЗАМОРОЖЕНО' where state_cd = 6;
update job_state set state_desc = 'ОТМЕНЕНО' where state_cd = 7;
update job_state set state_desc = 'ПРОПУЩЕНО' where state_cd = 8;
update job_state set state_desc = 'ЗАМЕНЕНО' where state_cd = 9;


...