Collapsed Topics

Course formats ::: format_topcoll
Maintained by Gareth J BarnardGareth J Barnard
An interchangeable topic or week based format that solves the issue of the 'Scroll of Death' when a course has many topics.
Latest release:
6136 sites
140 fans
Current versions available: 23

An interchangeable topic or week (day for 2.3.1+) based format that solves the issue of the 'Scroll of Death' when a course has many topics / weeks. All sections except zero have a toggle that displays that section. One or more sections can be displayed at any given time. Toggles are persistent on a per browser session per course basis but can be made to persist longer by a small code change. Full installation instructions, code adapt-ions and credits are included in the '' file.

If you have a course with more than fifty two sections then currently the toggle persistence will not work for the fifty third section and above.  Then you need to upgrade to the Moodle 2.5 version+.


The format comes with NO support.  Please see the 'Support' section in '' file that comes with the format.  This is because the format is complex and I regret that I don't have the time / resources to freely assist with questions pertaining to specific enhancements / changes / knowledge improvement.

I will investigate genuine bugs and issue fixes in a timescale set by myself.  When reporting issues you MUST clearly state the full version and release of both Moodle and the Collapsed Topics format as contained within their 'version.php' files - if not it takes me longer to figure out, often resulting in me asking for the details anyway and slowing the process of solving your problem down.  It really helps to read the 'Reporting Issues' section in the '' file and upload and describe in detail the issue you are having on the 'Course formats' forum.


NEW: 'The Complete Guide to Collapsed Topics' (and 'Blurb') book is now available, covering: installation, upgrade, uninstallation, course and global features, resetting, capabilities, language strings, overriding icons / styles in a theme and adding a new icon set.

The Complete Guide to Collapsed Topics book

The Complete Guide to Collapsed Topics book on a book stand

Inside the Complete Guide to Collapsed Topics.

NOTE: The latest version incorporates functionality to support new UK / EU Cookie Law which is implemented as a user acceptance in the 1.9 version and no 'cookie' is used at all in 2.x versions.

Screen casts:

Privacy API support starts with V3.3.1.2 for M3.3 and V3.4.0.2 for M3.4 where the API has been implemented in the minor release of Moodle.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7


Gareth J Barnard
Gareth J Barnard (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • larry's pix
    Mon, Jul 12, 2021, 9:29 PM
    Hi Gareth

    Version (2020071810) update is causing an issue on some of my sites of Moodle 3.9.8. It is not allowing the upgrading process to complete. Sample error output is listed below.

    Invalid get_string() identifier: 'pluginname' or component 'block_accessibility'. Perhaps you are missing $string['pluginname'] = ''; in /lang/en/block_accessibility.php?
    line 353 of /lib/classes/string_manager_standard.php: call to debugging()
    line 7401 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
    line 58 of /course/format/topcoll/settings.php: call to get_string()
    line 110 of /lib/classes/plugininfo/format.php: call to include()
    line 59 of /admin/settings/plugins.php: call to core\plugininfo\format->load_settings()
    line 8672 of /lib/adminlib.php: call to require()
    line 821 of /admin/index.php: call to admin_get_root()
    Invalid get_string() identifier: 'pluginname' or component 'block_ajax_marking'. Perhaps you are missing $string['pluginname'] = ''; in /lang/en/block_ajax_marking.php?
    line 353 of /lib/classes/string_manager_standard.php: call to debugging()
    line 7401 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
    line 58 of /course/format/topcoll/settings.php: call to get_string()
    line 110 of /lib/classes/plugininfo/format.php: call to include()
    line 59 of /admin/settings/plugins.php: call to core\plugininfo\format->load_settings()
    line 8672 of /lib/adminlib.php: call to require()
    line 821 of /admin/index.php: call to admin_get_root()
  • Gareth J Barnard
    Mon, Jul 12, 2021, 11:48 PM
    Dear Larry,

    It looks like you have some contributed blocks that do not define the standard 'pluginname' string that they should do. Please contact their developers and / or add the strings to the plugins.

  • Tue, Jul 20, 2021, 7:22 AM
    Hi -- I'm not understanding the purpose of this enhancement: Added 'Toggle blocks location' functionality. I'm running Moodle 3.10.5, and I don't see what this does. Is there documentation that explains this? Thanks much... Brian
  • Gareth J Barnard
    Tue, Jul 20, 2021, 11:32 PM
    Dear Brian,

    No documentation yet. Its to do with being able to specify the default blocks upon creation of a Collapsed Topics course via the UI. See:

  • Brian
    Thu, Aug 26, 2021, 5:23 PM
    Hi Gareth

    We are on Moodle 3.9.9 (Build: 20210729) and Collapsed Topics format_topcoll 2020071810

    Course designers have created some very long courses (70+ sections, 300+ activities) and since the upgrade to 3.9.9 Moodle (maybe before) we find that although students can load the page OK, we get a php timeout for editors and admins.

    Strangely if we switch the course to "topics" course format it loads fine and if we switch editing on using "collapsed topics" course format it loads fine. It is just when editing is not on, but the role is teacher or admin, the load times out.

    It is of course possible to extend the php timeout, but that is currently set at a minute and such a long page load needs to be fixed.

    I have of course requested course designers to remove hidden content which was being kept as a sort of course archive to reduce the overhead, but wonder if you are aware of any known issues or bugs on collapsed topics? We have a couple of courses which take less than the full minute (so they don't time out) but still take 40-50 seconds to load.

    Thanks if you can help us understand what is going on with collapsed topics.

    Best regards

  • Brian
    Thu, Aug 26, 2021, 6:49 PM
    Ahhh - evidently on very large courses the "Show additional information for quizzes etc" needed to be turned off. Not so much a bug as an extra feature that overloaded very large courses with thousands of enrolled students.
  • Gareth J Barnard
    Fri, Aug 27, 2021, 1:13 AM
    Dear Brian,

    If you could fire up a M3.11 test server and install the same course etc. and install, then if that is a big improvement, I'll expedite the backport to M3.9.

  • Mon, Sep 20, 2021, 4:03 PM
    Found a performance issue with this course format when you have a course with 9000 enrolled users the renderer and module takes a very long time to load the course with many sections.
  • Gareth J Barnard
    Mon, Sep 20, 2021, 10:57 PM
    Dear Barry,

    What version of Collapsed Topics please? If an older version, then please turn off the activity information stuff / consider upgrading. If the current, i.e. for Moodle 3.11, then just turn off the activity information stuff. Either way, I need the version information please.

  • Mon, Oct 4, 2021, 7:40 PM

    i am using "Collapsed Topics" on 2 plateforms. Both are slower... Both Moodle use Moodle 3.11 (20210517) - Collapsed Topics 3.11.01 (2021061200).

    The global setting of the platform allows activity information. Depending on the user, this option may be disabled or enabled in their course. However, whether the course activates or deactivates this option, the access time to a page varies between 10-20 seconds depending number of activities.... whereas if we use the standard format we arrive at 0-2 seconds of access time.

    What should we do to improve this time? we cannot force users (Prof and student = +27'000 users) to turn off activity information stuff.

    On our 2nd platform we have added a visual overlay to have 4 tabs (only 1 tab use collapse Topics). It will take us again some development time to modify version In the old version both platforms had the same access time even with our slight visual addition.

    Thanks for your helps !
  • Gareth J Barnard
    Mon, Oct 4, 2021, 9:22 PM
    a) Upgrade from to (+) as that has 'Add caching to activity meta information in the hope of improving performance'.
    b) Turn off activity information at the 'course setting' level - only one person needs to do this, not 27001 users! (Prof and student = +27'000 users). Thus it does not depend on the 'User' but the setting on the course. Or if your CT courses are following 'Default' then turn off the global setting.
    c) With the code in, it should only be slower the first time the page is acceessed and when the enrolments change etc. A stable course with no such admin changes will be faster after the first page load, assuming that Moodle caching has not been disabled.
    d) If you have to stick with and you want to disable it globally, then comment out the code in 'course_renderer.php', around the comment '//Get further information'.
  • Mon, Oct 11, 2021, 9:29 PM
    Hello! Our instance of 3.9.6 Moodle has a display issue for activity module information. All "show 'module' information" settings for the plugin are turned on. These details are visible to the instructor when in course view mode but they disappear when editing mode is on. This didn't behave this way We have the latest version installed (2020071811). This is occurring in both our custom theme and a standard boost theme. A previous instance of Moodle 3.8.4 with plugin (2019111702) shows these details in both viewing and editing modes.
  • Gareth J Barnard
    Mon, Oct 11, 2021, 9:55 PM
    Dear Eric,

    Version is working as intended.

  • Tue, Oct 19, 2021, 2:51 AM
    Good day Gareth,
    I wonder if I can make the case that instructors are mostly working in Moodle with Editing Mode on, and therefore cannot see the important "Due date" labels on their activities when it would be helpful to see those dates. Might you consider allowing admins to set the visibility of these date labels while in editing mode? Screenshots just so we are on the same page:
    Thank you for considering!
  • Gareth J Barnard
    Tue, Oct 19, 2021, 3:08 AM
    Dear Nathan,

    I see what you mean, however the 'due dates' are removed in M3.11+ in favour of the core ones. This the M3.11 version of Collapsed Topics uses the core functionality for that instead of its own. The core ones do show when editing mode is on.

    Therefore there is no mileage in me spending the time on this, as I'm expending effort on getting to the point where I can create an M4.0 version of the format as the course format API has changed radically.

Please login to post comments