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
  • Fri, Apr 16, 2021, 9:39 PM
    Greetings Gareth.
    When using this plugin - we get four extra blocks in the course (when the course is created with Collapsed Topics format). Or, when we import a course, and import into Collapsed Topics. The "extra" blocks are: "Search Forums", "Latest News", "Upcoming Events", and "Recent Activity". We really like the Collapsed Topics Format - however, is there a way to turn off the blocks so that they don't appear in the courses by default? We're even have a bit of "extra issues" when we create courses using the Ellucian ILP interface- we get two each of the 4 blocks instead of just one of each of the blocks. So - a few questions:
    1) Are the 4 blocks even supposed to be there?
    2) If they are supposed to be there - Is there a way to turn them off?
    3) Any idea why duplicates are being created at times?
    4) Any suggestions for troubleshooting these issues?

    Love the tool, thanks for the work that you do for the community.
  • Gareth J Barnard
    Fri, Apr 16, 2021, 11:56 PM
    Dear John,

    1) Yes.
    2) See the config.php file in the format.
    3) No.
    4) See 2.

    Kind regards,

  • 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.

Please login to post comments