Фильтры

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

 

Например:
Пакет А - в нем сборка.
Пакет Б - в нем C# схема, что ссылается на сборку.
При выгрузке в ФС и компиляции ошибка в схеме, так как она не видит сборки.

 

Временное решение:
Проставить пакету свой Maintainer и InstallType, чтобы пакет выгрузился в Terrasoft.Configuration\Pkg. Тогда работает.

0 комментариев
Показать все комментарии

На данный момент вложения чатов сохраняются в базу данных.
Метод SaveFileFromStream класса OmnichannelProviders.AttachmentsDownloader использует стандартный метод entity.SetStreamValue("Data", ms).
Метод SaveFile класса Terrasoft.Configuration.Omnichannel.Messaging.OmnichannelOutcomeMessagingService использует стандартный метод entity.SetStreamValue("Data", attachment.Content).

При этом с недавнего времени появились абстрактные интефейсы для работы с файлами в системе (Terrasoft.File).
https:/academy.terrasoft.ua/docs/developer/back_end_razrabotka/api_dlya_raboty_s_fajlami/obzor

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

Идея:
Доработать матоды OmnichannelProviders.AttachmentsDownloader.SaveFileFromStream и Terrasoft.Configuration.Omnichannel.Messaging.OmnichannelOutcomeMessagingService.SaveFile, чтобы они работали через интерфейсы Terrasoft.File.

1 комментарий

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

Показать все комментарии

Кто знает где скачивать обновленные версии helm-пакетов ExchangeListener? Для пакетов Docker есть bpmonline/exchangelistener Tags

Если верить статье , то актуальная версия должна быть в документации. Но там не актуальная версия. Саппорт предоставил более новую версию.

Террасофт! создайте единое хранилище версий по типу версий системы https://ftp.creatio.com/support/downloads/!Release/installation_files/

0 комментариев
Показать все комментарии

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

1. EventListener'ы выполнялись согласно иерархии пакетов (в случае если у них один общий предок - BaseEntityEventListener).

2. Реализовать возможность вызова переопределенного Listener'а

2 комментария

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

Не думаю, что данная проблема на самом деле проблема.

Вся логика описана в листенере - подразумевает под собой, что ее не нужно переопределять (так работают модули на JS, переопределять нельзя, но наследоватся можно).

Если необходимо в разных пакетах вызывать логику в определенном порядке, и изменять ее (оверрайд), то логику можно вынести в хелпер (А) - отдельный класс в котором реализована вся логика. А уже в листенере  создавать фабрикой екземпляр данного хелпера и вызывать его метод.
В такой архитектуре есть возможность в наследуемом пакете добавить класс (Б) наследник хелпера и пометить атрибутом [Override].
Тогда при создании екземпляра А в листенере первого пакета по факту создастся екземпляр класса Б, где уже будет дописана или изменена логика.

Показать все комментарии
Идея
Обсуждение

А давайте добавим наследование в No-code?
 

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

Аналитик, вооруженный инструментами No-code рисует поля, процессы, не используя ни строчки кода. В итоге всё работает, всем нравится.

И тут другие отделы ходят такую же функциональность в свои разделы.

Что же делать аналитику?

  • с помощью copy-paste копировать все процессы для разных объектов (можно представить, если вдруг через пару месяцев в них все надо вносить изменения)
  • просить разработчика сделать код, в который можно передавать параметры, тем самым отказываясь от No-code

А можно было бы создать некий абстрактный процесс, в который параметрами передавать объекты и поля, которые будут использоваться в элементах чтения и модификации данных (тем более, умный аналитик называет поля однотипно). И тогда достаточно будет задать стартовые сигналы из разных объектов, а процесс будет одинаково выполнять действия для любого переданного в него объекта

1 комментарий

Здравствуйте!

 

Мы зарегистрировали пожелание на команду разработчиков для рассмотрения вашей идеи в одной из будущих версий Creatio.

 

Спасибо, что помогаете развивать наш продукт!

Показать все комментарии