Требования к 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