К некоторым ресурсам требуется предоставить доступ ограниченному числу пользователей.
Это называется "конкурентной лицензией". Одна конкурентная лицензия - один пользователь может смотреть ресурс.
В ELiS модуль ELiS DRM может контролировать доступ к любым ресурсам, имеющим специальное служебное поле field_concurrency_license типа "целое".
Поле field_concurrency_license большее 0 означает сколько одновременных сессий могут открыть пользователи. Если поле не установлено или field_concurrency_license = 0, то число конкурентных лицензий не задано и число одновременных доступов не ограничивается.
Поле field_concurrency_license работает не как механизм открытия доступа, а как механизм закрытия, если число сессий превысило порог. При этом чтобы доступ был пользователю разрешен в виде занятия конкурентной лицензией, он должен иметь право на чтение ресурса.
В случае со скачиваемыми произведениями для которых запрещено скачивание без DRM, может возникнуть ситуация, что скачали все доступные ресурсы и тогда с сайта уже смотреть нельзя. Чтобы этого не происходило, можно создать поле field_concurrency_license_online типа "целое" и в нем указать сколько конкурентных лицензий зарезервировано для просмотра только с сайта. Это число должно быть меньше или равно числу конкурентных лицензий и если не задано или установлено в ноль, то скачивание ограничено только общим числом конкурентных лицензий.
Режим конкурентных лицензий работает таким образом, что считает конкурентным обращением каждое когда открывается плеер, т.о. если один пользователь откроет плеер в двух разных окнах плеер, это будет учитываться как два конкурентных обращения, по этой же причине не получиться делиться аккаунтом для одновременного доступа.
Обращаю внимание, что в ситуации когда можно скачать незащищенный документ, нет возможности узнать, что он был удален, поэтому такое скачивание не учитывается при контроле конкурентных лицензий.
Поля field_concurrency_license и field_concurrency_license_online не создаются при включении модуля ELiS DRM и их следует создавать в ручном режиме. Также следует учитывать, что поля используют данные ELiS PlayLog и будут работать только для тех ресурсов, для которых работает логирование.