Требования к Marketplace-приложению

Средний

Группы требований к 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