WP Manifestindependent plugin directory
manifest / integrations / drm-x5-sensei-lms-plugin

DRM-X 5.0 Integration for Sensei LMS

DRM-X 5.0 Sensei LMS plugin for secure video DRM, protected online learning content, HTML5 video encryption, watermarking, and license delivery.

by Haihaisoft · github.com/haihaisoft/drm-x5-sensei-lms-plugin · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/haihaisoft/drm-x5-sensei-lms-plugin/archive/refs/heads/main.zip

Readme

DRM-X 5.0 Sensei LMS Plugin - WordPress Video DRM and Course Protection

DRM-X 5.0 Integration for Sensei LMS connects WordPress and Sensei LMS enrollment with DRM-X digital rights management. It allows an enrolled learner to obtain a DRM license and play encrypted course videos through the ZJGet secure browser while rejecting users who are not enrolled.

This WordPress LMS DRM plugin supports paid online education, membership learning, and corporate training that need video encryption, course enrollment verification, watermarking, revocable licenses, and stronger protection against unauthorized sharing or screen recording.

Jump to the Chinese introduction.

Why use DRM-X with Sensei LMS?

Sensei LMS protects WordPress course access. DRM-X 5.0 adds protection to the media file itself and requires license authorization for playback. Depending on DRM-X account and Rights settings, content owners can apply dynamic watermarks, device controls, license revocation, virtual-machine restrictions, and screen-recording protection.

Learn more about DRM-X 5.0 digital content protection.

Features

  • Requires WordPress sign-in before issuing a DRM-X license.
  • Verifies Sensei LMS enrollment for the course assigned to the DRM-X License Profile.
  • Supports multiple WordPress course post IDs such as 123-124-208.
  • Creates the matching DRM-X user automatically when needed.
  • Blocks revoked or locked DRM-X users.
  • Supports DRM-X International (5.drm-x.com) and China (5.drm-x.cn).
  • Uses the License Profile RightsID submitted by ZJGet without updating DRM-X Rights.
  • Supports a fixed RightsID with UpdateRightWithDisableVirtualMachine.
  • Adds [zjget-player]URL[/zjget-player] for encrypted video embedding.
  • Disables the player in WordPress editing and preview contexts.
  • Includes English and Simplified Chinese interface text.

Requirements

  • WordPress 5.8 or later
  • PHP 7.4 or later with SOAP enabled
  • Sensei LMS installed and activated
  • HTTPS enabled on WordPress
  • A DRM-X 5.0 account, License Profile, Rights, and user group
  • ZJGet secure browser for protected playback

Download and documentation

Installation

  1. Install and activate Sensei LMS.
  2. Open Plugins > Add New Plugin > Upload Plugin.
  3. Upload drmx5-sensei-lms-1.0.0.zip and activate it.
  4. Open Settings > DRM-X 5.0.

Manual plugin directory:

wp-content/plugins/drmx5-sensei-lms/

Plugin settings

Setting Description
AdminEmail DRM-X 5.0 administrator email address.
WebServiceAuthStr Web Service Authorization String configured in DRM-X. Keep it secret.
GroupID DRM-X user group for user creation and licensing.
Service area International uses 5.drm-x.com; China uses 5.drm-x.cn.
RightsID mode Read the License Profile RightsID from POST, or update and use a fixed RightsID.
Fixed RightsID Required only in fixed mode.

RightsID modes

Read RightsID from ZJGet POST data: ZJGet submits the RightsID configured through the DRM-X License Profile. The plugin uses the ID without changing DRM-X permission settings.

Fixed RightsID and automatic update: the plugin calls UpdateRightWithDisableVirtualMachine before licensing. It uses the Sensei enrollment time as the start date when available and sets the expiration to ten years after the license request. ExpirationAfterFirstUse remains -1.

DRM-X License Profile setup

In DRM-X 5.0 Account Settings > Website Integration Settings, configure the same WebServiceAuthStr and use:

https://your-wordpress-domain.example/wp-content/plugins/drmx5-sensei-lms/licstore5.php

The endpoint filename must remain licstore5.php. Use the same HTTPS hostname used for WordPress sign-in.

Course ID

Edit the Sensei course. If its WordPress edit URL contains:

/wp-admin/post.php?post=123&action=edit

enter 123 in the License Profile Your Product ID field. Use a numeric Sensei course post ID, not a lesson ID, slug, product ID, or URL.

Multiple courses:

123-124-208

The plugin checks from left to right and uses the first course in which Sensei reports the learner as enrolled. Access to one listed course does not grant access to another course.

Embed a protected video

Add a WordPress Shortcode block to the Sensei lesson or course content:

[zjget-player]https://cdn.example.com/course/protected-video.mp4[/zjget-player]
  • Use a complete URL beginning with http:// or https://.
  • Put only the raw URL inside the shortcode.
  • Use one ZJGet player on the same page.
  • Player scripts load from www.zjget.com.
  • Editing and preview contexts display a placeholder instead of the player.

License workflow

  1. Save the request and require WordPress sign-in.
  2. Read YourProductID and select the first course with valid Sensei enrollment.
  3. Create the DRM-X user when needed.
  4. Call CheckUserIsRevoked and GetUserDetails for existing DRM-X users.
  5. Apply the selected RightsID mode.
  6. Request the license and return it to ZJGet.

Downloaded encrypted files must pass the same sign-in and enrollment check when requesting a license. The plugin validates course-level access, not restrictions applied only to an individual lesson or page.

Troubleshooting

Problem Check
Learner is asked to sign in again Use the same HTTPS domain for WordPress and licstore5.php.
Browser reports an insecure form Use HTTPS for the site and integration endpoint.
Learner is unauthorized Confirm the numeric Sensei course post ID and current enrollment.
Shortcode is displayed as text Activate Sensei LMS and this plugin; use a Shortcode block.
Player reports an invalid URL Put one complete HTTP or HTTPS URL inside the shortcode.
DRM-X cannot be reached Enable PHP SOAP and verify credentials and service area.

Privacy and security

During user creation or license delivery, the plugin may send the WordPress username, email, display name, IP address, and DRM client/device request data to the selected DRM-X service. Review applicable privacy requirements, use HTTPS, and protect WebServiceAuthStr.

中文简介

DRM-X 5.0 Sensei LMS 集成插件用于连接 WordPress、Sensei LMS、DRM-X 5.0 与 ZJGet 播放器。只有登录 WordPress 且 Sensei 判定已加入指定课程的用户,才能获取加密视频许可证。

主要功能:

  • 验证 WordPress 登录和 Sensei LMS 选课状态。
  • 支持 123-124-208 格式的多课程 ID。
  • DRM-X 用户不存在时自动创建,被吊销或锁定时拒绝许可证。
  • 支持中国版、国际版和两种 RightsID 模式。
  • 使用 [zjget-player]URL[/zjget-player] 嵌入加密视频。

安装后进入 设置 > DRM-X 5.0,填写 AdminEmailWebServiceAuthStrGroupID、服务区域和 RightsID 模式。在 DRM-X 5.0 许可证模板的 Your Product ID 中填写 Sensei 课程文章 ID。

Support

Developed and maintained by Haihaisoft.

Read the full README on GitHub →