Группы требований к Marketplace-приложению, выполнение которых необходимо обеспечить при его разработке:
- Требования к функциональности.
- Требования к front-end части.
- Требования к безопасности.
- Требования к совместимости.
- Требования к пакетам.
Требования к функциональности
- Marketplace-приложение решает бизнес-задачу, которую невозможно решить базовыми инструментами разработки или это решение является трудозатратным, или оптимизирует решение бизнес-задачи.
-
Marketplace-приложение не дублирует базовую функциональность приложения Creatio. Если Marketplace-приложение расширяет базовую функциональность приложения Creatio, то используйте уже реализованную функциональность.
Примеры соблюдения текущего требования:
- При разработке нового коннектора к телефонии расширьте функциональность вкладки [ Звонки ] ([ CTI panel ]) базовой коммуникационной панели, которая используется для управления звонками.
- При разработке нового коннектора к чатам расширьте функциональность вкладки [ Чаты ] ([ Chats ]) базовой коммуникационной панели, которая используется для управления чатами. Нет необходимости в разработке пользовательского интерфейса для отображения чатов.
- При реализации пользовательского действия для контакта добавьте это действие в меню кнопки [ Действия ] ([ Actions ]) на панели инструментов страницы контакта. Нет необходимости в замещении CSS-стилей и реализации новой кнопки в другом месте страницы контакта.
Требования к front-end части
-
Требования к иконке раздела Marketplace-приложения:
- Cтиль — плоское изображение белого цвета без мелких элементов или линий, фон без заливки.
- Формат — *.png или *.svg.
- Размер — не более 38х38 пикселей. Обратите внимание, что размер самой иконки без учета отступов от границ — 32х32 пикселей.
- Для выбора подходящей иконки раздела Marketplace-приложения рекомендуем использовать библиотеку иконок разделов.
-
Первое слово названия всех элементов интерфейса начинается с заглавной буквы. Нет необходимости использовать заглавную букву для каждого слова названия элемента интерфейса.
Формирование названия элемента интерфейса рассмотрено на примере пользовательского поля.
Пример названия пользовательского поля[ Порядковый номер ] ([ Serial number ]) [ Порядковый Номер ] ([ Serial Number ]) - Для интерфейса Marketplace-приложения используйте базовые элементы страниц и навигации приложения Creatio (например, поля, кнопки, вкладки и т. д.).
- Предоставьте пользователю возможность использовать базовую функциональность приложения Creatio в исходном коде, независимо от того, Marketplace-приложение реализует новую функциональность или расширяет базовую функциональность приложения Creatio.
-
Принципы, которых необходимо придерживаться при разработке функциональности Marketplace-приложения:
- Чистота. Помогите пользователям ориентироваться в вашем Marketplace-приложении, разработав понятный и логичный интерфейс. Формулируйте названия элементов интерфейса, как призывы к действию (например, добавить, загрузить и т. д.).
- Консистентность. Сделайте ваше Marketplace-приложение функциональным для разных функциональных и организационных ролей компании.
- Специфичность. Предоставьте пользователю возможность использовать вспомогательные технологии, которые реализованы в Marketplace-приложении (например, ввод данных с помощью клавиатуры и мыши, сенсорный ввод).
Требования к безопасности
- Marketplace-приложение не приводит к снижению производительности приложения Creatio.
- Marketplace-приложение разработано с учетом лучших практик по информационной безопасности. В своем Marketplace-приложении используйте рекомендованные вызовы API Creatio, гарантируйте, что Marketplace-приложение не содержит уязвимостей Open Web Application Security Project (OWASP) Top 10 и не используйте компоненты с известными уязвимостями. Подробнее об уязвимостях читайте на официальном сайте OWASP.
- Marketplace-приложение получает доступ к данным законным путем и не осуществляет их отправку из приложения Creatio, в которое оно установлено. При интеграции с внешними приложениями явно опишите любую необходимую отправку данных на странице Marketplace-приложения и запретите отправку данных до авторизации пользователя.
- Marketplace-приложение не использует анонимные веб-сервисы без реализации альтернативного способа авторизации. Подробнее читайте в статье Пользовательские веб-сервисы.
- Marketplace-приложение не использует внешние библиотеки с неизвестных источников.
Требования к совместимости
- Новые Marketplace-приложения совместимы с базами данных MS SQL и PostgreSQL (личный кабинет разработчика —> вкладка [ Installation and setup ] —> блок [ Compatibility ] —> свойство [ DBMS compatibility ]). Совместимость Marketplace-приложения с базой данных Oracle опциональна.
- Marketplace-приложение поддерживает работу на платформе .NET Framework (личный кабинет разработчика —> вкладка [ Installation and setup ] —> блок [ Compatibility ] —> свойство [ Platform ]). Marketplace-приложение опционально поддерживает работу на платформе .NET Core.
- Marketplace-приложение совместимо с актуальной версией приложения Creatio.
- При релизе новой версии существующего Marketplace-приложения разработчик гарантирует совместимость обновления с предыдущей версией текущего Marketplace-приложения.
- При релизе новой версии существующего Marketplace-приложения разработчик описывает все выполненные исправления и модификации (личный кабинет разработчика —> вкладка [ Packages and updates ] —> свойство [ Whats new? ]).
- Marketplace-приложение совместимо с базовыми продуктами (личный кабинет разработчика —> вкладка [ Installation and setup ] —> блок [ Compatibility ] —> свойство [ Product compatibility ]) и версиями (личный кабинет разработчика —> вкладка [ Installation and setup ] —> блок [ Compatibility ] —> свойство [ Version compatibility ]) Creatio. Если в качестве базового продукта вы используете платформу Studio Creatio, то Marketplace-приложение совместимо со всеми базовыми продуктами Creatio.
- Разработчик поддерживает все версии Marketplace-приложения, которые используют клиенты с действующими лицензиями Marketplace-приложения или платным пакетом поддержки.
Требования к пакетам
- Marketplace-приложение выпущено в виде отдельного приложения для платформы Creatio и/или настройки на стороне внешнего приложения.
- Marketplace-приложение поставляется с настроенными метаданными. Подробнее читайте в статьях Настроить метаданные приложения и Добавить метаданные для опубликованного Marketplace-приложения.
- Кастомизации, которые выполняет Marketplace-приложение, поставляются в пакете. Запрещены кастомизации вне конфигурации приложения (например, создание или изменение файлов в файловой системе приложения).
- Функциональность Marketplace-приложения содержит уникальный идентификатор (префикс) разработчика (личный кабинет разработчика —> вкладка [ General info ] —> блок [ Marketplace developer settings ] —> свойство [ Developer prefix ]). Запрещена разработка Marketplace-приложения без префикса или с префиксом Usr.
- Marketplace-приложение загружено в виде *.zip-архива (личный кабинет разработчика —> вкладка [ Packages and updates ] —> свойство [ Add file ]), который содержит один или несколько пакетов в формате .*gz.
- Все .*gz-архивы пакетов содержатся в корневом каталоге *.zip-архива. Вложенные каталоги не используются.
-
Для названия *.zip-архива использован шаблон: Name-of-Marketplace-application-Number.Of.Package.Version.
Формирование названия *.zip-архива рассмотрено на примере пользовательского Marketplace-приложения.
Пример названия пользовательского *.zip-архиваSalesloft-connector-1.15.zip Salesloft_connector_01.06.2022_10_16.zip