Collapsed TopicsIf you’re teaching a course with a good deal of content spread over many weeks, it can be difficult to format your organization of the information without subjecting your students to scrolling… and scrolling… and scrolling (sometimes known as the “Scroll of death”). A super popular course format plugin that addresses this issue is Collapsed Topics by Gareth Barnard. Gareth has recently updated the plugin for Moodle 2.9 and, by all accounts, it is better than ever.

Post Pages - Post Inline - WIRIS

For a quick look at how Collapsed Topics works, looks and feels, check out this screencast:

More information on this plugin can be found here.
Do you use the Collapsed Topic plugin for your courses? What do you think of it? What would you improve? Leave us a comment below and let us know what you think.
Previous articlePresentation from MootUS15: Using Governance to Maintain Transparency, Buy In, and Support
Next articleSection Menu prototype ready for testing, coming in Moodle 3.0


  1. Thanks Stephen 🙂

    I am planning on releasing an M3.0 version when it comes out. It will continue to offer the same features and use YUI for as long as it’s in core. One day I’ll update that to jQuery when the supporting core API updates too.

    At the moment I’m really happy with the format and have no plans to change it. I consider that its feature rich enough to perform the job that it needs to do. I’m wary about making it too complex and therefore overwhelming.



  2. P.S. I’ve recently updated the format so that the M2.7, 2.8 and 2.9 versions have all the same features, such as not showing the date on a temporal layout when the section name is set if desired. I do need to update the screen cast as it is a little out of date!

  3. I have been using the Collapsed Topics course format for a long time and I like it especially for my face-to-face classes with 30 sessions per semester. Being able to set the structure to “current topic first” definitely helps students to find the relevant material right away without a lot of scrolling.
    From an instructor’s perspective I would like to see a date option for “make this topic current.” Until now the instructor has to click on the light bulb to make this topic current. Many times instructors either forget to do this or do it late, which defeats the purpose of this course format when set to “current topic first.” An instructor can only set the availability of a topic in “Restrict access” of topics. There is no checkbox to combine the date restriction with “make this topic current.” Getting rid of this manual task for instructors is my improvement request for Collapsed Topics.

  4. Hi Hartmut,

    There is always the ‘Current week first’ structure that is automatic.

    I am very wary of making Collapsed Topics have AI code that attempts to guess what the user wants. That path leads down to bad decisions and ‘forcing’ the user to do what the software wants and not vice versa. So in the scenario where the user sets two topics to have an identical restrict access date – which could happen – which topic should be current? A human could work that out because they know the ‘intent’ and full back story to the course, the computer does not and could easily ‘force’ a bad decision. In this case it could be the first one it finds, then if that’s wrong, how could the user override that, another button? That makes things even more complex. I maintain that software should be simple and flexible. Leave the thinking to the neural net hardware and software.



  5. Hi Gareth,

    Thanks for your response and especially for maintaining the course format Collapsed Topics. You are right about the ‘Current week first’ structure, which is automatic. This structure is good for one session per week.

    I use ‘Current topic first’ when I am teaching a class with 2 sessions per week. Such a class really benefits from your course format ‘Current topic first.’

    Now I will try to understand a possible conflict that may arise when two topics are restricted for the same date with the option set “Make this topic current.” Which one should the system pick? My suggestion is to go for the topic with the lowest number. So if topic 2 and topic 3 are set for the same date and both of them have also the option set “make this topic current,” topic 2 should be the current topic.

    Your next question is: how can a user override a bad decision of the software? Or in my example: how can the user override that the system gave access to topic 2 and put it at the top thus indicating it as the current topic when the user actually wanted to have topic 3 as current topic? The user can simply click on the light bulb in topic 3 and make it the current topic.

    In my understanding the access restriction of a topic in collapsed topics format can be set for a specific date and time and is not set for a time frame, meaning: the topic will be accessible when this date and time is reached. So the command to make this topic accessible is executed once. After this, the topic will be accessible. It can also be overridden by another decision.

    My question is: Why is it not possible to combine the access to this topic with the other feature of putting the topic at the top? In Course format / structure you offer the options: topic, week, current topic first, current week first, day. An additional option could be: ‘current topic first by date’ so users could choose if they want to use this feature. Only a suggestion. I still like Collapsed Topics Course Format and I am thankful for all the time and effort that you invested in this topic. This additional feature would make Collapsed Topics even more attractive and beneficial for instructors.

    With kind regards,

  6. Hi Hartmut,

    Sorry for the delayed response. I’ve needed to think about this.

    I’m not keen on changing the functionality and scope of ‘Current topic first’ by introducing looking by accessible date when there is the ‘current topic’ button and hence would confuse things.

    Therefore this leaves adding a ‘order by accessible date’ layout type thing, as ‘current topic first by date’ would be confusing with ‘current topic first’. This would take lots of time to implement and I think I would have to now refactor the code to improve it first to allow the addition of a new requirement. That’s the nature of software engineering for you. Given the time involved, then money would play a part in this.

    Kind regards,



Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.