Skip navigation
All Places > Blackboard Open LMS Community > Blog

We are super excited to announce that Open LMS 3.6 is coming October 10th for Sandbox sites and October 17 for production sites!


This release has a feature requested in this community among other exciting things!


Off topic, but we have relaunched our Youtube Channel! (Blackboard Open LMS - YouTube ) We have new content, including a list of "how-to" videos to make the most out of Open LMS. Be sure to check it out, let us know what would you want to see in the channel, and consider subscribing. 



Now, let's get to the release!


Release highlights


HTML support for PLD email editor

Rule creators are now able to add HTML content to the body of the e-mail sent through the personalized learning designer (PLD). This opens the door to new ways to foster learner engagement in the courses.

pld email with html text editor


Snap Course performance - Load on demand for course sections and page modules

Open LMS has now the option to activate the new "Snap course load on demand" or "Lazy load" functionality, which will allow a faster load of course sections and page module content. This feature is particularly useful for Snap courses with a large number of sections, activities, and resources.


Administrators can turn these features on/off: Site administration→Appearance->Themes→Snap→Course display


Snap Advanced feeds

There's a new experimental* feature in Snap's configuration that allows loading content on the notification panels and the course cards list using web components and pagination. This functionality improves Personal menu loading times significantly.


Administrators can turn this feature on/off and select the number of items to display in  Site administration→Appearance→Themes→Snap→Personal Menu

snap settings

*experimental because we would loe your feedback to see if you like this approach, not because it could break 

Snap Resource and Activity cards redesign

Snap updated the design of the Resource and Activity Cards so that they are more coherent in terms of design language. Internal scrolls were eliminated and the restriction message was redesigned. These changes only apply to the small activity and resources cards:

  • URL
  • External tool
  • Lightbox gallery
  • File
  • IMS Content package
  • Folder

Changes made to the design are:

  • Multimedia files, such as videos and pictures are not rendered in the card summary view
  • Scrolls within the card summary were eliminated
  • Card type title and name will render with an ellipsis if the text is too long
  • Card summary description will render a specific amount of text and then it will hide the rest with a white gradient
  • A new restriction icon is introduced. Restriction messages appear as a tooltip for this icon


Collaborate reports for IntelliBoard

The latest version of IntelliBoard now includes reporting capabilities for Blackboard Collaborate sessions, including the ability to report on attendance by course or per learner. 



Updated storage report

As part of the S3 storage migration initiative, the Open LMS admin report for storage has been updated to reflect S3 file dir usage. This change allows admins to properly get the total number of used storage for the site. 


This report can be found in Site administration→Blackboard Open LMS→File Storage Usage

storage report

Updated plugins

  • Intellicart
  • IntelliBoard
  • H5P



More information about the release  

(Will be updated as we approach to the release)

With the Open LMS 3.6 release a quiet change was made to the gradebook; I thought it might be nice to go over the change and visit the Natural grading method and talk about how it is useful. 


Grade calculations get ifs

Buried in the footnotes that I am sure you read on a regular basis was a mention of an update to the gradebook's calculated grades feature. It is a request that goes way back to Moodle 1.9 (aka 2009) that has finally added for your enjoyment. 

Calculated grades background

If you weren't aware, in the gradebook you can create a grade item that is based on a calculation of other grade items. With it you could make a category total that is not just the weighted mean of the grades, but a custom weighted total of selected grade items. I know it sounds pretty advanced, and really it kind of is, but it really comes in handy for the specific times that I need it. How about if you need to go beyond the built in min and max functions? For example, you could make a grade item that is the average of the highest score value of 6 pairs of graded items, I'll take the highest score from each week's homework with two assignments per week in a six week course. Well the calculated grade can handle that for me; the grade total would be =average(max([[Item1]],[[Item2]]), max([[Item3]],[[Item4]]), max([[Item5]],[[Item6]]), max([[Item7]],[[Item8]]), max([[Item9]],[[Item10]]), max([[Item11]],[[Item12]]))

Put an if in there

Well now as of the 3.6 release, you can add an IF statement to the calculation. So if I state in my syllabus that I will add 10 bonus points to the exams total if all the assignments have been turned in(for me this means they've got scores above 0, I'm only dishing out 0's for not trying), I can do that automatically in the gradebook.

=if(min(Assignment1, Assignment2, Assignment3, Assignment4, Assignment5) >0, sum(Midterm1, Midterm2, Final, 10), sum(Midterm1, Midterm2, Final))

Now I could add in logic to make sure the bonus score does not exceed the maximum total score for the exams, or weight the exams, or take the average of the scores whatever logic needs to be in the calculation can be nested in there. Overall the idea is that the if function works like an if in coding or logic.

if(condition, then this, else the other)

if(condition, calculation1, calculation2) 

The if starts with the condition to check. If the condition matches, the middle clause happens for the calculation, if the condition does not match then the third clause is the calculation.

Seems pretty straightforward and lots of potential for fun!


Natural grading method

Introduced a few years back, the Natural grading aggregation feels like the new kid on the block still. I get questions about it pretty regularly so I thought we could discuss it here. What is natural about it and why would I use it? 

Screenshot of the grade settings showing the control of the aggregation and other settings.

The simple version of what is the natural aggregation is that it is the sum of the grade values scaled by their weight. It is a sum with an implied weighting based on the size of the grade item. Five assignments with the same maximum score will all have the same weight, an exam worth double the points will have an effective weight that is double the others. The "natural" bit is that it tries to follow what we naturally mean when we have 5 items in a gradebook with the same total points; they get the same weight. They have the same impact on the final grade because they are worth the same amount. 

How does it work?

Natural aggregation functions as a sum of grades when the weight boxes are left alone. In this situation, the numbers in the weight boxes are just informational and show the effective weights in the sum. Natural aggregation assumes that all of the points will total up to 100% and automatically weights everything based on their contribution to that amount. Here it automatically suggests or shows weights for the assignments based their relative maximum scores. This first one is out of 100 points, that other assignment is out of 40 points so it is 40% of the weight of the first and so on. 

Screenshot of the gradebook setup page showing grade categories, grade items, and grade weights automatically assigned by the Natural aggregation method.

In my course set up, I weight my assignments, participation, and tests grades to be specific amounts of the final grade. Now pen and paper me used to put in the effort before the term to make sure that my number of assignments and their point totals got me to the right total number for the assignments grades part of the course grade. Here in my online course I can do the same thing, but what if I didn't? What if my assignments totalled up to 400 points and the course was 900 points but I wanted the assignments to be worth 25% of the total score, not 44.4? The natural method can support this easily. When I look at the category grade settings, I can just click on the checkbox to override the grade weight for the category. The value there is created by a calculation based on the total points (not including extra credit) in the category compared to the total number of points available in the course. If I override the weight, I can set the assignments to be worth 25% and the participation to be worth 50%. The aggregation will automatically assign the remaining third category of grades to be worth the remaining 25% of the weighting in order to keep the total to 100.  

Where credit is due

If you are looking at that Assignment category layout in the screenshot above, you might have picked out that the total in the weights seems off; the weighting adds up to 110. What happened there? Has the natural method let me down? Don't worry, one of the assignments that is worth 10 in the weighting is also marked as extra credit. 

Screenshot showing the extra credit indicator in the gradebook setup view. The indicator is keyboard accessible.

This item does not actually add to the total available points, but just adds it's value to the student's score in this section. It's weight indicator shows how much potential it has to lift grades in the Assignment category that I have set up. Students who complete this with a perfect score have a potential to move their grade in the assignments by 10%, more generous than I normally am. 

So why use the natural aggregation?

It is not a radical departure from the other methods, and that is a good thing. However in my mind it offers one clear advantage. If I add a collection of activities to my course worth the points that I have given each one and do nothing else, the natural method will gather them up and create a total that acts more or less exactly how I would expect it to handle the scores without me doing anything else.I can see the implied weighting and make changes as needed, but if I took my pen and paper course layout for grades and translated it directly to an online gradebook, natural would give me exactly the same grade I got by hand. 

Natural merges some of the functionality of several of the older grade aggregation methods into one method and adds extra credit support without having to choose a special version of a method. Rather than use sum of grades and then switch to weighted means to get custom weights and then make sure that the weights add up to the right total, I can use natural and have the single aggregation method handle all of that without me needing to keep switching and correcting. 



What's up with Glossary?

Posted by ab37750 Aug 19, 2019

The Glossary activity is there in your add activity list. You've probably looked at it and wondered what to do with it, or how to use it well, or if you are like me even where to start. Well this blog post is for you my friend. Let's talk about what the Glossary tool is all about, how you can use it, and some neat features that can really enhance your course.

Glossary is a normal Moodle activity, but typically is not graded. The most common way to think of using one is as a dictionary or encyclopedia list of entries that explain terms and concepts from the course material. The list can be the authoritative source for terms and definitions for the course provided by the instructor or even from an associated textbook. The list can be shown in different layouts and styles, dictionary, continuous listings (not broken up by first letter), encyclopedia (dictionary with pictures inline with the terms), and FAQ (where the concepts and definitions are called questions and answers.) This screenshot shows a simple, dictionary style listing. 

Screenshot of the list of entries in a glossary. It is searchable and can be filtered by the entry's first letter.

Glossary can be treated as a student contribution and collaboration space where learners can create entries for terms or concepts that they do not understand and have other students provide attempts at answers. Comments and even grading can be used in this approach. 

For my exploration, I will use the authoritative source approach which assumes that the entries are "official". For this purpose I prefer to use the appearance mode called "simple, dictionary style". It provides a clean standard view with terms organized by first letter and dispenses with the notion of who authored each individual entry. Entry authorship is more useful for collaborative glossaries. 


Screenshot of the form for making a new glossary entry.

Each new entry is a combination of a Concept or a Term and it's definition. It is best to keep the Concepts as simple and short as possible. In part because they tend to be easier to search for, and in part because it is easier to use the filter system on single terms and fixed short phrases. Keywords can be thought of as aliases for the concept; any terms that should be considered synonymous to the main concept in the entry. Filters will show this definition for the keywords as well as the concept. 

What's this about filters? 

Screenshot of the course admin tools showing the Filters settings for the course. Screenshot of the enable filter interface.

Maybe you've used them before, maybe not, or maybe you've used them and not known. Filters screen the HTML text on the page and do something when they find a match. Like the MathJax filter that takes LaTeX embedded between the right tags and turns it into a nice math font based mathematical expression on the page. Glossary comes with the glossary auto-linking filter. Auto-linking takes the glossary out of it's isolation in the activity and injects it into the course content.

When enabled in a course or an individual course content item (a Forum or a Page resource as examples) the glossary auto-linking filter finds words in the HTML that match concepts and their keywords and creates a link to the glossary entry that matches. 

Screenshot of a section of text with the glossary auto-link enabled and modals with definitions open.

It even works on itself! Concepts and keywords in glossary definitions can be auto-linked to their definitions. A veritable journey through concepts awaits your learners as they follow a key term in text presented in the course to a definition that opens further definitions for the key concepts it contains. 


The filter matching can be set to match on all or part of the concept term in the text, for example if the concept is for the word trust, whole word matching will only match to the word trust, partial will match to trust in the word trusting. Keywords can be useful here to have more precise control over the matching behavior. Set the match to whole word only and list intended matches in the keywords list to avoid partial matching to terms that are not intended. There is also an option to force case sensitivity, to create constraints on the matching behavior. Auto-linking can be enabled and disabled for each individual term, giving you complete control.


Glossary auto-linking can be enabled everywhere in the course or just in specific activities and content items. If enabled everywhere, it can be disabled in specific activities or content items, like in a summative quiz to avoid showing answers in question text. The glossary auto-linking filter needs to be enabled by a site administrator before it shows up in your course as an option. 


Experiment with the glossary. Add terms and concepts over time; enlist learners to start a glossary and then refine and finalize it. Use the filter in a few areas and then expand them over time. Glossary can be a useful and rewarding tool for teaching and learning when employed in your courses.

I've been playing around with the TinyMCE editor and the Atto Editor for a while and thought it might be useful to share some of my thoughts and findings. 

A little background

You may or may not have been using Open LMS/Moodle for a while so why not give a little history and context. For a number of years, Moodle was using the TinyMCE editor as the HTML editor in the platform. Eventually a custom HTML editor was developed in part to maintain more control over the development and bug fixing needed in the platform. Overall, there are some performance enhancements with Atto over TinyMCE, particularly in pages with multiple instances of the HTML editor. After a while,the TinyMCE editor stopped being formally supported but has still been included due to the large number of users of this older HTML editor. This means that sometimes weird behavior or issues that come up are actually related to the use of the TinyMCE editor. Atto has become the editor of choice and is the default in new installations; but many folks have some issues or confusion about it or are just plain unaware that it is around. 


Managing the tool bar

Atto starts in a more streamlined mode, with fewer options available in both collapsed and expanded mode. In part this is a design decision and in part it is part of a plan to encourage more web friendly and accessible content. The styles are little different overall and Atto does manage styles a bit differently than TinyMCE. We will check out some of the ways they are different, why, and what can be done about it. Both have admin control over what options show up in the tool bars, but most of us have just never used this power. 

Screenshot of the Admin Settings menu in the Text Editors in the Plugins list Screenshot of the Atto Text Editor settings in the Admin tools

When I am adding new buttons to the tool bar, I just copy the "shortname" from the list and paste it into the grouping that I want the button to show up in. For Example, I might add or move the underline button to the style1 grouping by adding a ", underline" immediately after the "italic" on that list. The groupings just help manage and collect buttons with a similar theme together. 



One of the most often singled out items is the lack of color choice in the text editor. Color is not an effective way to communicate importance because we do not all see colors and it is noise that a screen reader user will have turned off, so they will not be notified of this "importance" or information meant to convey in color. Importance should be communicated with headings and tags, not color. That said, if your life is incomplete without it, you can add color to the Atto editor choices. There are two buttons that an admin can add to the tool bar; fontcolor and morefontcolors. Screenshot of the morefontcolors custom color creation interface.

The fontcolor button adds a fixed set of color options while the morefontcolors adds a configurable menu of color choices with an option to allow the user to create a custom color using a color picker.


Adding Images

I have found that while the Atto editor is generally very accessible and responsive friendly, it has a few odd corners. One is in image handling. By default, the editor always requires a fixed size for images that are added. There is no option to leave the size to be unspecified. The result is that often times for a large image, the responsive behavior is limited by the fixed size scale. I usually add the image and then enter HTML mode and just remove the height and width tags. This is probably bad form, but I like the results much better, especially when using Snap and it's responsive classes. 

Where Atto does better than TinyMCE is in a very critical issue; the finding and linking to files. I have seen several issues come up with copying HTML content objects with embedded images and files breaking when the link was made in TinyMCE. If the content is re-created with Atto, the issue goes away. The TinyMCE editor just does not use the correct linking to images in the file repository.


Collapse behavior and HTML+

Some of us like to work in HTML in the editor, and if you are one you might like the HTML+ tool. It is included in the system as an option, and is designed to replace the HTML button. Just change the html entry in the buttons list to be htmlplus. It adds color coding to HTML tags to help identify open or malformed tags. 

You and your faculty might also prefer to always have the editor open fully rather than have a collapse/expand behavior. An admin can remove the collapse option by removing the line "collapse = collapse" from the button line up in Atto. This will force the tool to just load open and not hide options under the collapsed space. 



What have you found with the Atto editor? What is your favorite feature in one that you can't seem to find in the other?


More on H5P

Posted by ab37750 May 14, 2019

Hi folks, I am back and on the H5P train again.

Just an update to kick things off, but I thought I'd start with a note about the more recent updates to H5P in Moodle/Open LMS. One of my favorite bits is the reporting views. They really feel so much more polished and clear, I am loving them. 

From the Grader view in the gradebook, you can click on the H5P activity link to get to this grade report page. 

Screenshot of the H5P Grade Report showing grade information for each student's attempt.

It has a few more details than the gradebook view, but gets more exciting when we dive into the View Answers Report.

For each student we can see the detailed report on their responses without having to navigate out or find additional reports.

Screenshot of the H5P View Answers Report showing detailed information about the answers selected or provided by the student.

Pretty good details on what the actual responses were from the attempt.


Another item for today's post is the idea of creating a template page for the Course presentation activity.

It is easy to really think about the Course presentation as a slide show, the parallels are pretty strong. So as I was knocking out some examples, it occurred to me that the clone page tool is perfect for the job. 

Screenshot of the H5P Course presentation authoring page, highlighting the clone page tool.I can make several different styles of page template, and use the clone page button to make copies of them for each page I want to build. When I am all done, I can toss out the template pages, or use them as the last of that style of page. It can really cut down on the styling time, and make it feel a little more like using Power point or Keynote to author a slide presentation. 

I'll be back with more updates and information. I think next up I will take a tour through the Open Badges 2.0 implementation and some cool new features in there.

Dear Open LMS Community,


In our November 2019 Client Town Hall meetings we focused on doing a quick recap of the features from our previous release, shared some of the exciting features that are coming on Blackboard Open LMS 3.5 and provided a sneak peek of some of our product initiatives for 2019. Here's a quick overview of the topics we covered during this webinar:


Blackboard Open LMS 3.4 Recap

  • Upgrade to Core 3.4: Calendar management, unified user management view, file type selector, etc.
  • Blackboard's Learning Environment: New version of SafeAssign Originality Report, IntelliBoard 5.0, new e-commerce capabilities with IntelliCart
  • Other features and upgrades: New in-app communication channel and custome certificate plugin


What's coming in Blackboard Open LMS 3.5

  • Simple Global Search
  • New criteria for badges
  • LTI advantage 1.1 support
  • Cohort themes
  • Filter questions by tag
  • GDPR and Record RTC plugins now part of Core
  • New PLD action: enroll user


A quick look at some of our 2019 initiatives

  • Main areas of focus
  • Blackboard Data
  • Improvements on our SaaS delivery model
  • QA & code review optimizations and efficiencies
  • Clean and More themes EOL, plus release of Classic theme
  • New hires for our UX team!
  • Profile-based branding
  • IntelliBoard Recommend


In case you missed our Town Hall or if you want to review any topics that we discussed, you can download the PDF deck and watch the recording of your specific territory:



Thank you all for your active participation and we look forward to see you in the next Town Hall!



Carlos Pinto

Product @ Blackboard Open LMS


APAC Open LMS Forum

Posted by lp0068916 Nov 8, 2018

We had fantastic attendance for the APAC Open LMS Forum, presented by Pablo Borbon, Product Management Director for Open LMS, and held on 7 November 2018.


There were some exciting announcements on the upcoming 3.5 release, including the long awaited arrival of global search. The 2019 roadmap was covered, as well as some important considerations about End of Life for themes.


If you missed it, get up to date through the recording below!


APAC Open LMS Forum Recording

Product Management Director

Hi Community Members


I work in the Open Source Product Management team, based in Australia, and I have recently had a couple of questions about extending the formatting options in the Atto text editor, hence this post.


As you may be aware the Atto text editor is the default editor for Moodle. It was designed to help content creators in Moodle create more accessible content.  In theory the course design / content formatting is taken care of by the site branding and theme, however we know in practice many clients enable / require additional features to assist course creators to achieve their desired content display.


To make it easier to create accessible content, by default the Atto editor doesn’t provide a lot of options for formatting. 


A note from Moodle HQ: “Background colour / Font colour

While these are very popular plugins, there are downsides to enabling their use on a site. Firstly - user specified colours may conflict visually with the site colours chosen by the theme designer. Even if the colours of the content do not conflict with the colours of the current theme, if the theme is changed in future, or the content is reused on a different site conflicts may be introduced. There are 2 possible types of conflicts, the first is just a visually unappealing combination of colours, the second is a combination of colours that may produce text that is hard to read for some people. It is preferable if the theme designer uses some interesting colours that meet the accessibility standards required for the site in the theme for the site, and the person creating the content simply uses the proper heading levels (for example) to make use of those styles.”

From: Moodle HQ - Atto Text Editor


After saying that, the recent questions have been around providing access to font colours and customising table formatting.  The following provides an overview of some of the options we have to provide additional formatting features in the Atto editor.


MR Atto additional plugins

The Atto editor comes with core features, and can be extended with additional plugins.  Moodlerooms currently supports the following additional Atto plugins, these plugins are automatically enabled on your Moodlerooms site:

  • Chemistry editor - Edit chemistry equations using the mhchem extension to the MathJax or TeX filter. Useful for full and ionic equations, isotopes, equilibrium reactions, thermochemistry and reaction kinetics. Includes a periodic table of element symbols.
  • File Drag & Drop - This plugin for Moodle's Atto WYSIWYG editor lets you drag any file into Atto so you can upload them into Moodle and add a link to the file within the Atto content.
  • Word count - Simple word count plugin for Atto.
  • HTML+ - The htmlplus plugin provides a version of the HTML plugin with both syntax highlighting and code beautification. It also provides indentation support.
  • More font colours - This is intended to be a replacement for the core fontcolor Atto plugin, allowing the Moodle administrator to freely define a set of colours that can be used by users. If allowed by the administrator, users can also use a colour picker to chose any possible colour.

Lets take a look at how we would enable users to format tables, and choose a font colour, in the Atto editor. 


Are the table formatting features enabled?


When you go to any text editing screen you will see the Atto editor tools, expand the toolbar and click on the table tool, as shown below with the default settings.

Image of create table screen without the formatting features enabled.


If the table formatting features are enabled, the Create table dialog will include additional formatting tools, as shown below.

Image of create table screen with formatting features enabled.


To enable table formatting features:

Role: Site administrator

  • Site Administration > Plugins > Text Editors
  • Atto HTML editor > Table settings
  • Enable all the features you would like to make available.
  • Save changes.

While you can’t currently extend the colours that are provided for the table border and background colours, you can switch to HTML view (</>) in the Atto editor, and modify the colours manually, look out for the following two lines in the HTML, any user who can access the editor can edit the content using the HTML editor view:


Table border HTML example:

<td style="border-width: 1px; border-style: solid; border-color: rgb(125, 159, 211);"></td>


Table background HTML example:

<table style="background-color: rgb(239, 69, 64); width: 80%">


Enable font colour selection tool

The More font colours plugin is an additional tool which provides a tool for font colours which can be added to the Atto toolbar, and additional colours can specified by the site administrator.


To add More font colours to the Atto toolbar:

Role: Site administrator

  • Site Administration > Plugins > Text Editors
  • Atto HTML editor > Atto toolbar settings
  • Toolbar config
  • Add morefontcolors to the tools eg style1 = title, bold, italic, hr, clear, morefontcolors
  • Save changes

Example of Atto toolbar configuration.


Image of an example of the Atto Toolbar configuration.


To add more colours to the “More font colours” drop down:

Role: Site administrator

  • Site Administration > Plugins > Text Editors
  • Atto HTML editor > More font colors
  • Add to the list of available colours
  • Save changes


NOTE: It is also possible for you to enable “allow custom colours” from this screen, which will allows users to select their own colour.


You will now see the font colour tool, selected below has been added to your Atto editor toolbar. In the below example, allow custom colours has been enabled.


Image of Atto editor showing the font colour tool.


Switching editors

While Atto is the default editor you can allow users to choose their preferred editor.  Currently you can switch to the previous editor, TinyMCE editor, which has more formatting options, including table options for selecting the background colour from a colour picker in the table editing tools.  Note this editor is not core for Moodle and may or may not be supported long term.  Moodlerooms recommends and prioritises fixes for the Atto editor.   However this does not have any impact on content created with this editor, and you can freely switch editors without loosing any saved content.


A word on accessible content, accessibility issues often come from user created content. The more we apply custom formatting and change the appearance of elements, the better our personal knowledge and commitment to creating accessible content needs to be. In my experience there is a balance between control and responsibility – with greater control comes greater responsibility!


Interested in more accessibility support, have you heard about Ally?  Blackboard Ally is a revolutionary product that integrates seamlessly into the Learning Management System and focuses on making digital course content more accessible.


I’d love to hear from you…

Have you customised your Atto editor?

Do you have any tips and tricks for creating accessible content?

Share your tips and tricks!


I look forward to hearing your stories, challenges and successes.



Kim Edgar

Senior Product Manager, Open Source

The following SQL scripts might be helpful to find different anomalies on your Moodle site.


Modules and their ID number in your database

Before you adopt one of the following codes, you have to check your module IDs in your database as the codes are based on our modules table and it can be different in your database.


Start with the following query:


select * from mdl_modules


and save it somewhere.


Our most popular modules are:




Your database might be different, so you have to use your ID numbers in the following queries. The code looks similar to this one:


... AND cm.module = 55 -- 55 is our module ID for assignments, you have to use your own ID


Let's find some weird settings in Assignments

Missing 'Grade to pass'

Our assignments use the Attempts reopened: Automatically until pass setting under the Submissions settings. It is a great way to keep the students previous attempts accessible on the VLE, so we can see their progress during their studies. We can also control the number of their attempts (Maximum attempts), normally if it is a formative assessment, the students are allowed to submit unlimited time, but if it is a summative one, they have limited attempts.

Everything works fine apart from one little thing. If you leave the Grade to pass value as 0 under the Grade settings, then everyone will pass the assignment, regardless to the actual grading scale or point, so the assignment never reopens automatically, no one can resubmit anything.

The following report helps you to find mismatching settings:


    gi.courseid, gi.itemname, gi.gradepass, gi.scaleid
    mdl_grade_items AS gi
    mdl_course AS c ON = gi.courseid
    mdl_assign AS ass ON gi.iteminstance =
        AND gi.courseid = ass.course
    mdl_course_modules AS cm ON cm.instance = 
        AND cm.module = 55 -- don't forget to use your own assign module ID here
    mdl_course_sections AS cs ON = cm.section
    gi.gradepass = 0
        AND gi.itemmodule = 'assign'
        AND gi.hidden = 0 -- visible grade item
        AND c.visible = 1 -- visible course
        AND ass.attemptreopenmethod = 'untilpass'
        AND cm.visible = 1 -- visible activity
        AND cs.visible = 1 -- visible course section


If the grade type is Point (e.g. between 0 and 100), the Grade to pass can be a point (e.g. 40), but when the grade type is Scale you have to be more careful.

If the grade type is Scale: every scale item has a number, e.g.


therefore the Grade to pass should be 2 (=PASS) in this case.


Assignments not sending notifications to graders

It is really important that the grader receives notifications about submitted files need to be graded.

Let's find assignments without notifying the grader.


SELECT AS moduleid, AS courseid, c.shortname,
    mdl_assign AS ass
    mdl_assign_plugin_config AS apc ON apc.assignment =
    mdl_course_modules AS cm ON cm.instance = 
        AND cm.module = 55 -- don't forget to use your own assign module ID here
    mdl_course AS c ON = cm.course
        ass.sendnotifications = 0 -- no notification
        AND cm.visible = 1  -- visible activity
        AND c.visible = 1  -- visible course
        AND apc.plugin = 'file'
        AND apc.subtype = 'assignsubmission'
        AND = 'enabled'
        AND apc.value = 1 -- file submission enabled
        AND ass.submissiondrafts = 1 -- student has to press Submit button
        AND ass.grade <> 0 -- graded assignment


File submissions need to be graded but grader cannot upload feedback file


    mdl_assign_plugin_config AS apc
    mdl_assign AS ass ON = apc.assignment
        ass.grade <> 0  -- needs to be graded
        AND apc.plugin = 'file'
        AND apc.subtype = 'assignfeedback'
        AND = 'enabled'
        AND apc.value = 0 -- no feedback file
        AND apc.assignment IN (SELECT 
            mdl_assign_plugin_config AS apc
            mdl_assign AS ass ON = apc.assignment
            mdl_course AS c ON = ass.course
            mdl_course_modules AS cm ON cm.course =
                AND cm.instance =
                AND cm.module = 55 -- don't forget to use your own assign module ID here
            apc.plugin = 'file'
                AND apc.subtype = 'assignsubmission'
                AND = 'enabled'
                AND apc.value = 1 -- file submission enabled
                AND c.visible = 1 -- visible course
                AND cm.visible = 1) -- visible activity
ORDER BY ass.course DESC





The following SQL scripts might be helpful to find different anomalies on your Moodle site.


Modules and their ID number in your database

Before you adopt one of the following codes, you have to check your module IDs in your database as the codes are based on our modules table and it can be different in your database.


Start with the following query:


select * from mdl_modules


and save it somewhere.


Our most popular modules are:




Your database might be different, so you have to use your ID numbers in the following queries. The code looks similar to this one:


... AND cm.module = 11 -- 11 is our module ID for lessons, you have to use your own ID


Let start with Lessons

Re-take a lesson

If a lesson contains at least one quiz page, it is important to think about the 'Re-takes allowed' setting under the Grade section. If enabled, students can attempt the lesson more than once, otherwise they get an error message:

You are not allowed to retake this lesson.

The following report helps you to find these lessons with quiz pages but disabled re-take setting:


    c.shortname, AS cmid, AS lid,,
    mdl_lesson_pages AS lp
    mdl_lesson AS l ON lp.lessonid =
    mdl_course AS c ON l.course =
    mdl_course_modules AS cm ON cm.course = AND cm.instance =
        AND cm.module = 11 -- don't forget to change it, if your modules table is different
        c.visible = 1      -- only visible courses
        AND cm.visible = 1 -- only visible activities
        AND l.retake = 0   -- retakes not allowed
        AND lp.qtype <> 20 -- branch / content, not quiz
        AND lp.qtype <> 21 -- end of branch, not quiz
        AND lp.qtype <> 30 -- cluster, not quiz
        AND lp.qtype <> 31 -- end of cluster, not quiz


The other qtype codes are:

page / quiz typeqtype code


Find graded lessons

The next script helps you to find graded lessons, in our VLE we don't want them to be graded.


SELECT AS cmid, AS cid, AS lname, AS lid
    mdl_lesson AS l
    mdl_course AS c ON l.course =
    mdl_course_modules AS cm ON cm.course = AND cm.instance =
        AND cm.module = 11 -- don't forget to change this number based on your modules table
    l.grade > 0


I hope you will find these reports helpful.






YouTube Video Background

Posted by vs0068169 Apr 2, 2018

For those that want to add a bit more jazz to some special courses you can add a dynamic background by embedding a video behind the page. The screen grabs above based on code I found on the web ages ago here: FullScreen YouTube Video Background In Pure CSS  and then modified here: 


..and then turned it into a plugin here: Moodle plugins directory: Youtube_Page_background


We don't have access to that plugin suite but we can do it manually. If you paste the code into a label and then save it you can have a dynamic and ever-changing background (with audio).


It works best in "Clean" or "More" as you can scroll down and go full video (See pic RHS above). It work fine in "Boost" but you can't scroll.


I've used it for online chill-out rooms (waterfall) , self promotion (a Moodlemoot presentation), and to annoy my coworkers/students. Hope this is useful to someone.



<div class="video-background">

    <div class="video-foreground">

      <iframe src="" frameborder="0" allowfullscreen></iframe>




<div id="vidtop-content">

<div class="vid-info">

  <h1>YouTube Fullscreen Background Demo</h1>

  <p>The International Space Station orbits the Earth every 92 minutes, with its crew seeing a sunrise 15 times a day. It exists as a scientific, educational, and engineering platform in low orbit, 330 to 435 kilometres above the Earth.

     <p>Original timelapse by Riccardo Rossi (ISAA), used under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Raw photos courtesy of

<a href="FullScreen YouTube Video Background In Pure CSS ">Full Example</a>






* { box-sizing: border-box; }

.video-background {

  background: #000;

  position: fixed;

  top: 0; right: 0; bottom: 0; left: 0;

  z-index: -99;




.video-background iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  pointer-events: none;


#vidtop-content {


color: #fff;

     z-index: 2;



.vid-info {

    padding: 1rem;

    font-family: Avenir, Helvetica, sans-serif;


.vid-info h1 { font-size: 2rem; font-weight: 700; margin-top: 0; line-height: 1.2; }

.vid-info a { display: block; color: #fff; text-decoration: none; background: rgba(0,0,0,0.5); transition: .6s background; border-bottom: none; margin: 1rem auto; text-align: center; }


@media (min-aspect-ratio: 16/9) {

  .video-foreground { height: 300%; top: -100%; }


@media (max-aspect-ratio: 16/9) {

  .video-foreground { width: 300%; left: -100%; }


@media all and (max-width: 600px) {

.vid-info { width: 50%; padding: .5rem; }

.vid-info h1 { margin-bottom: .2rem; }


@media all and (max-width: 500px) {

.vid-info .acronym { display: none; }



#Taken From:


We recently tested the new collapsed Topic format which is an alternative to the soon-to-be retired Folder Format. It works pretty much the same, but instead of the yellow-folders that folder-format users were used the community developer went with an interesting blue folder. If you would rather see the fashionable yellow folder that your used to seeing in Format view, I have provided some great CSS adjustments to make the Collapsible Topic view look more like Folder Format.  Check out the screenshot below to see what it looks like in a basic Boost theme with no altercations.


To make the changes, you will need to host the 4 images that I have attached to this blog article in your own domain location.

  1. Download the four images attached to this blog article
  2. Upload them into your own domain
  3. Replace  yourdomain in lines 5, 11, and 18 with the link to the images on your own domain.
  4. Apply the following CSS with the edits from line 3 to your custom CSS


body.jsenabled .course-content ul.ctopics li.section .content .toggle-folder span.toggle_closed, 
#toggle-all .content .toggle-folder h4 span.on, 
body#page-admin-setting-formatsettingtopcoll select#id_s_format_topcoll_defaulttoggleiconset option[value="folder"], 
body#page-course-edit select#id_toggleiconset option[value="folder"] {
    background-image: url(http://yourdomain/yellowfolder.png);
.course-content ul.ctopics li.section .content .toggle-folder span.toggle_closed, 
.course-content ul.ctopics li.section .content .toggle-folder span.toggle_open, 
body.jsenabled .course-content ul.ctopics li.section .content .toggle-folder span.toggle_open, 
#toggle-all .content .toggle-folder h4{
     background-image: url(http://yourdomain/yellowfolder_open.png);
.course-content ul.ctopics li.section .right .cps_centre img.icon {
     display: none;
.course-content ul.ctopics li.section .right .cps_centre, 
.dir-rtl .course-content ul.ctopics li.section .left .cps_centre:before {
     content: url("http://yourdomain/onetopic.png");
div.sectionbody.sectionopen .summary a.collapsefoldericon {
     display: none
.sectionbody.toggle-folder {
  float: right;


If you'd like to add a close button (unexpand, return to all topics on one page button)

  1. Navigate into each topic using the expand (single topic) icon and Choose Edit > Edit section.
  2. Switch to the HTML view of the WYSIWYG and paste the following HTML at the top of your page.
    <a class="topicclose" href="http://yourdomain/course/view.php?id=courseidnumber">
    <img src="http://YOURDOMAIN/onetopic_close.png" alt="close single topic">
  3. Replace yourdomain in line 1 with your moodle domain. ie.
  4. Replace courseidnumber in line 1 with the id number of the course you are in. HINT: You can identify your course's id number by looking at the link displaying in the address bar, or by hovering over the course title in the breadcrumb and notating the id= number that appears.
  5. replace YOURDOMAIN in line 2 with the domain where you hosted the onetopic_close.png image.
  6. Add the following CSS to your CUSTOM CSS of whichever theme your course exists in.
.topicclose {
position: absolute;
right: 30px;
margin-top: -30px;


Screenshot of Collapsed Topic view in Boost Theme with no Altercations


Screenshot of a single topic with the close button code and icon implemented.


There has been some discussion in the Idea's section of the Moodlerooms Community about being able to set the resource box size for files in SNAP to be full-width. Though there isn't an option to choose the width, you can adjust the width of ALL or specific types of resources boxes using the following CSS code in the SNAP Custom CSS option box in the Theme settings. This setting will apply site wide, but it will make your resources boxes appear full width, similar to the other elements in the course.  Use the first CSS code to adjust all elements or choose from some of the element types listed below. If you'd like a specific resource type adjusted. Add a comment and I'll add it to the list!



body.snap-resource-card li.snap-resource.snap-resource {
  width: 100%;



Or to adjust a single resource type , use one of the following:



body.snap-resource-card li.snap-resource.modtype_url {
  width: 100%;


HTML Files

body.snap-resource-card li.snap-resource.snap-mime-html {
  width: 100%;


PDF Files

body.snap-resource-card li.snap-resource.snap-mime-pdf {
  width: 100%;



body.snap-resource-card li.snap-resource.modtype_scorm {
  width: 100%;



body.snap-resource-card li.snap-resource.snap-mime-document {
  width: 100%;


Powerpoint Files

body.snap-resource-card li.snap-resource.snap-mime-document {
  width: 100%;

Useful User Tours

Posted by jason.hardin Aug 14, 2017

User tours is an awesome new feature that was originally a community plugin for Moodle 3.1 that we added to Moodlerooms and then in Moodle 3.2 has become a core part of Moodle. user tours are a way for administrators and institutions to create walkthroughs for instructors and learners about how to use Moodle and Moodlerooms. Moodle HQ created a great video on User tours, which covers what a user tour looks like to a learner as well as how an administrator creates a user tour. If you are interested in understanding how user tours work and how to create them then I recommend watching the video.


For this blog post, I wanted to focus on user tours that already exist in the community that I think are useful for institutions to enable on their site for new instructors and learners. All of these user tours are available within the user tours repository on When searching for user tours I recommend that you ignore the Moodle version number because user tours work by finding CSS locators in the HTML. Most of the user tours will work for the version of Moodle that Moodlerooms is running for you because the CSS locators in of most of Moodle's pages don't change from release to release. I do recommend that you test any user tour on your sandbox site before you install it onto your production site.


Beyond this list, there aren't a lot of user tours in the community. Two tours come with Moodle 3.2 for Boost Administration and Course view in Boost. If you have some time try to create a user tour. We will also be working to add user tours for clients in up coming releases.

Blackboard World is coming next week. For those in the Moodlerooms community who are attending, we want to make sure you know whom to look for to talk about Moodlerooms. We have the most Moodlerooms focused staff attending this year than any other time before. We also have our largest contingent of Moodle institutions attending this year as well.


From our client engagement teams we have the following individuals attending:

From our product management team we have the following individuals attending:

We have many sales folks attending and specifically I wanted to call out some of our great sale engineers whom you have probably known for years:

I am really excited to see everyone in New Orleans this year. The hashtag for this year is #BBWorld2017.