Лицензирование приложений Marketplace
Glossary Item Box
Общие сведения
Платные приложения Marketplace должны быть лицензированы для контроля их использования. Основные типы лицензий:
- Именные лицензии — предоставляют доступ к приложению для конкретных пользователей. Эти лицензии привязываются к учетным записям и не могут быть использованы другими пользователями. Администратор системы может в любой момент перераспределить именные лицензии. Как распределить лицензии между пользователями Creatio можно узнать из статьи "Распределение лицензий между пользователями".
- Серверные лицензии — не предусматривают необходимости лицензирования отдельных пользователей. Все пользователи Creatio, обладающие соответствующими правами, будут иметь доступ к функциональности, которая лицензируется.
Независимо от типа лицензии в нее могут входить:
- Объекты лицензирования — названия пользовательских объектов, добавленных в приложение Marketplace. В этот список могут входить любые пользовательские объекты, например, объект раздела, детали или справочника.
- Операции лицензирования — названия операций, добавленных в логику приложения для проверки наличия лицензии на использование определенной функциональности. Например, в один из базовых разделов системы было добавлено дополнительное действие, с которым нужно связать операцию лицензирования. При вызове этого действия в программной логике приложения сначала должна выполняться проверка наличия лицензии, а затем, в зависимости от результата, работа функциональности должна быть либо продолжена, либо прервана.
Количество оплаченных и предоставленных пользователям лицензий разработчик приложения Marketplace может узнать, обратившись в службу поддержки Marketplace (marketplace@terrasoft.ru).
Какими могут быть способы лицензирования
Возможные способы лицензирования зависят от типа лицензии и предмета лицензирования (табл. 1).
Табл. 1. — Возможные способы лицензирования
Тип лицензии | Предмет лицензирования | Бизнес-кейсы |
---|---|---|
Именная | Объекты | Приложение Marketplace представляет собой новый раздел в Creatio. Разработчик хочет получить плату за каждого пользователя, работающего с разделом. |
Именная | Операции |
Приложение Marketplace представляет собой коннектор к внешнему сервису. Разработчик хочет получить плату за каждого пользователя, которому предоставляется доступ к сервису. Например, коннектор к системе телефонии, доступ к использованию которого оплачивается для отдельных пользователей. |
Серверная | Объекты | Приложение Marketplace представляет собой новый раздел в Creatio. Разработчик хочет получить фиксированную плату, независимо от того, сколько пользователей будет работать с разделом. |
Серверная | Операции |
Приложение Marketplace представляет собой коннектор к внешнему сервису. Разработчик хочет получить фиксированную плату за коннектор, независимо от того, скольким пользователям будет предоставляется доступ к сервису. Например, коннектор к Web-чату, в ходе работы которого регистрируются лиды/обращения в Creatio. Клиент оплачивает лицензию независимо от количества пользователей. |
Именная | Объекты и/или операции |
Приложение Marketplace представляет собой раздел, в котором созданы записи, использующие коннекторы к разным внешним сервисам. Разработчик хочет получить плату за каждого пользователя, которому предоставляется доступ к разделу. Также разработчик хочет получить плату за каждый коннектор к сервису. Например, в рамках вертикального решения доработан раздел [Заявки]. В нем реализована интеграция с внешней системой, в которой регистрируются заявки. Клиент оплачивает доступ к функциональности раздела для каждого пользователя. |
ВАЖНО
Запрещается одновременное использование именных и серверных лицензий, лицензирующих одинаковые объекты и операции.
Каким может быть срок действия лицензии
В лицензии указывается срок ее действия. Платформа Creatio следит контролирует сроки действия лицензий. Если срок действия истек, работа лицензируемого объекта или операции будет заблокирована.
В зависимости от срока действия, лицензии могут быть двух типов:
- Годовая — предназначена для приложений Marketplace, распространяемых с годовой подпиской. Срок действия лицензии — один год. После завершения срока действия лицензии клиент должен снова оплатить годовую подписку и получить новую лицензию.
- Бессрочная — предназначена для приложений Marketplace, которые необходимо оплатить один раз. Срок действия лицензии не ограничен.
Процесс выпуска лицензии для нового продукта
1. Во время создания приложения Marketplace разработчик должен решить:
a) Что будет входить в лицензию — объекты лицензирования или операции (возможны оба варианта). Также он должен сформировать список лицензируемых объектов и/или операций.
b) Определить тип лицензии — именная или серверная. Основные типы лицензий Creatio и варианты их использования перечислены в разделе "Лицензирование в Creatio" документации пользователя.
с) Определить срок действия лицензии — лицензия годовая или бессрочная.
К СВЕДЕНИЮ
Если в лицензию будут входить операции лицензирования, то в программном коде приложения необходимо реализовать проверку наличия лицензии. Для объектов лицензирования логика проверки уже реализована в базовой версии Creatio.
ВАЖНО
Имена лицензируемых объектов должны содержать префикс, указанный при настройке профиля разработчика. Префикс разработчика — это уникальный префикс, который устанавливается в названиях пользовательских схем, пакетов, а также в названиях пользовательских колонок в объектах-наследниках системных объектов и позволяет определить функциональность, созданную разработчиком. Префикс должен содержать цифры или буквы латинского алфавита. Длина префикса — от трех до пятнадцати символов. После регистрации префикс не может быть изменен.
2. После успешной проверки приложения сотрудниками Marketplace разработчик должен предоставить список лицензируемых объектов и операций, а также информацию о типе и сроке действия лицензии команде поддержки Marketplace (marketplace@terrasoft.ru).
3. На основании предоставленного списка служба поддержки Marketplace генерирует лицензии для этого приложения.
4. В дальнейшем, после заказа и оплаты приложения Marketplace, пользователю будут установлены необходимые лицензии службой поддержки Marketplace.
Как реализовать проверку лицензий в продукте
Проверка объектов лицензирования
Если в лицензию приложения входят только объекты лицензирования, то никаких доработок в приложении Marketplace не требуется. Проверка наличия лицензии для объектов лицензирования выполняется базовыми средствами Creatio.
Проверка операций лицензирования
Если в лицензию приложения входит операция лицензирования, то в нужных местах исходного кода приложения необходимо предусмотреть проверку наличия лицензии на выполнение этой операции.
Для этого необходимо использовать один из методов класса LicHelper библиотеки Terrasoft.Core:
- GetHasOperationLicense — возвращает true, если лицензия найдена, и false, если лицензия отсутствует.
- CheckHasOperationLicense — возвращает true, если лицензия найдена. Если лицензия отсутствует — генерирует исключение LicException.
Сигнатуры методов:
public bool GetHasOperationLicense(string sysPackageOperationCode); public bool CheckHasOperationLicense(string sysPackageOperationCode);
Здесь строковый параметр sysPackageOperationCode должен содержать название лицензируемой операции, переданное в службу поддержки Marketplace.
Примеры использования методов:
UserConnection.LicHelper.GetHasOperationLicense("MyMarketplaceApplication.Use"); UserConnection.LicHelper.CheckHasOperationLicense("MyMarketplaceApplication.Use");
ВАЖНО
Проверку наличия лицензии на операцию можно выполнить только на серверной стороне приложения. Если приложение Marketplace работает только с клиентской частью Creatio, то необходимо:
- создать пользовательский конфигурационный сервис, в котором реализовать проверку наличия лицензии;
- добавить в приложение программную логику обращения к созданному сервису.
ВАЖНО
Проверка наличия лицензии на операцию непосредственно в пользовательских схемах является небезопасной, поскольку исходный код пользовательских схем конфигурационных пакетов доступен для чтения и замещения. Поэтому рекомендуется использовать объекты лицензирования.
Демонстрационный режим работы приложения
Если в приложении Creatio нет загруженных лицензий ни для одного из продуктов, то по умолчанию включается демонстрационный режим работы приложения. В демонстрационном режиме пользователю доступна вся функциональность Creatio, но в каждую таблицу базы данных можно добавить не более 1000 записей.