Panopto resource module

Activities ::: mod_panopto
Maintained by Ruslan Kabalin, Tony Butler
This is Panopto resource module plugin developed by Lancaster University to simplify using Panopto video recordings in Moodle courses. The plugin lets Moodle decide if user is allowed to access video resource and provides access to recording on demand. Plugin respects all Moodle resource availability features, such as group restriction or activity completion.
Latest release:
43 sites
1 fans
Current versions available: 2
This is Panopto resource module plugin developed by Lancaster University to simplify using Panopto video recordings in Moodle courses. This plugin works differently to official Panopto block plugin. First, it does not do rolling sync enrolled users with the Folder on Panopto, instead it grants access directly to video on demand. This eliminates the need to place recordings at certain folder in Panopto to make it available in Moodle and respects all Moodle resource availability features, such as group restriction or activity completion. Choosing a video is implemented as repository plugin, which makes navigation and selecting the video more convenient for teacher.

In short, the plugin lets Moodle decide if user is allowed to access video resource, and does background work to provide access to recording on demand. This approach is somewhat simpler than used in official Panopto Block plugin and still secure, but might be not suitable for everyone.

This plugin requires Panopto video platform, which is a commercial software. For more details see 


  • This is resource module plugin, not a block, e.g it supports separate groups, availability, completion features.
  • Moodle resource module permission is the definitive source of authorisation, e.g. separate groups, availability features, category enrolments are respected.
  • Repository plugin makes navigation, searching and choosing the right video easier.
  • No need to maintain a separate folder per course in Panopto and sync enrolled users for folder access.
  • Any video can be added to course irrespective of its location in Panopto folder structure as long as teacher who adds it has editing or publishing rights.
  • Moving video to different folder will not break access, access is granted to video, not to folder.
  • Same video can be used in different courses, no need to duplicate it and place at different folders.
  • Does not clash with manual permissions allocation via Panopto interface, you can grant user access manually to folder or video if required.

Use-case and a word of caution

At Lancaster University, Panopto is used for automated lecture recordings, but Panopto is not the main point for accessing recorded videos by students. In other words, students are always accessing video recordings through Moodle. If you are using Panopto as main video hosting platform and you expect students to see folders that are matching Moodle courses (like when Panopto Block is used) this plugin will not provide that functionality.

Installation and Configuration

This plugin requires Panopto repository plugin to be installed and configured, it is using it for navigation through directory tree on Panopto side and other API calls.

For details on plugin configuring and how to link it with Panopto, please refer to documentation.


This plugin is part of set Lancs Panopto.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3


Ruslan Kabalin (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Thu, Sep 27, 2018, 11:20 PM
    Approval issue created: CONTRIB-7460
  • Fri, May 8, 2020, 5:46 PM
    has anybody tried using both this plugin as well as the official block_panopto Plugin on the same moodle instance? If so does it work seamlessly or did you experience any problems?
    Thanks in advance!
  • Sun, May 10, 2020, 7:52 PM
    Hello Nikolai, This plugin was designed as replacement of block_panopto, which did not provide features we needed at that point. The main drawback of block plugin was a management burden it added for publishers to allocate videos to course folders on panopto site (which lead to a numerous copies of same video across Panopto site and extra effort to make it accessible in the course). This plugin resolved this by allocating viewing permissions directly to video on demand (i.e. same video can be used at multiple courses without need to copy to specific folder), needless to say it respects all course features such as group restriction in Moodle, completion, viewing rights to users who can access course via category permission rather than direct enrolment, etc (see plugin description on GitHub for full list).

    Technically, both plugins can work together I suppose, but you would still need to maintain video allocation the old way (i.e. put them in the course folders to make them appear in the block). This can be confusing and make permissions not intuitive (e.g. if you remove video from course folder in Panopto, but it remain as activity, people would still be able to view it, or for example of same video is in course folder on Panopto and used in Moodle activity restricted to course group, everyone enrolled in the course will be able to view it, so group restriction will not apply). What is your reasoning behind the need of using both plugins? If you only need a block that will show all Panopto videos used in the course (that were added as activity modules), it is easier to develop a block plugin that will simply list them (and will respect current user permissions as well, i.e. will not list videos restricted to course groups that user has no access).

    If you want to discuss more, please create a ticket for this plugin on bug tracker (see URL in description above).
  • Thu, May 21, 2020, 7:02 PM
    Is there any feasibility of including an activity completion setting based on whether a given video has been viewed?
  • Sat, May 23, 2020, 3:30 AM
    Hello Alastair! It already support completion 'on view', meaning that an activity becomes marked complete as soon as a user clicks on it.

    More complicated logic might be possible with adding custom completion rules to module that would make extra Panopot API query to UsageReporting.GetSessionUserExtendedDetailedUsage (e.g. to determine what proportion of video has been viewed, how many attempts to view has been made, etc.) and draw completion result from this data (matching it with some completion criteria, e.g. n% of video has been viewed). This is not currently implemented, but possible to develop.
Please login to post comments