[Modules] expand and collapse the activities under each header

Headers can be used to subdivide the activities in modules, but each header makes the module longer and longer.  To reduce scrolling for students, I suggest allowing the headers to be expanded and collapsed

47 Comments
Steven_S
Community Champion

@dan_baeckstrom  I think that rather than always starting with all expanded, it would be better to save the last view, or to default to all incomplete module activities expanded (based on module rules). 

Including an expand all button (on each module since this idea is about headers within modules) would better support students looking for something they might misplace, rather than starting the page with all levels expanded every single time.  (My courses have long modules pages, but students need nothing from the first third of the course to complete the second third of the course, for example.)

Is there a way you can design this to be integrated with the course, so that students do not have to install anything to take advantage of it?  I intend this more as a navigation solution for my students than for myself.

I agree about it being a good idea for indented levels to work the same way.  It did not occur to me that might be possible though!

Steven_S
Community Champion

I would also like to see more flexibility in the module rules for my long modules, and I think that subdividing those rules by headers would be a good way to provided that flexibility: https://community.canvaslms.com/t5/Idea-Conversations/Allow-headers-within-modules-to-subdivide-modu...

dan_baeckstrom
Community Explorer

@Steven_S 

Given the very strong misgivings expressed by support personnel in another thread here about navigational problems caused by nested compaction, I think that it would be safest to always start the page fully expanded. Future developments maybe could include optional save-and-recall of the collapse status. However, it would also get much more cumbersome to implement a solution where all choices of collapse/expand are correctly saved and reloaded. For now I'd like to stick to basics.

I don't know of any solution that would not entail installation of an extension on each machine – apart from the very obvious one, that Instructure integrates this feature on the server side. One reason for me to write and publish the extension is that if a lot of people like it, Instructure might be inclined to develop a server-side solution – as was the case with my extension Canvas Quick Student View...

Steven_S
Community Champion

@dan_baeckstrom   I understand the concerns noted much earlier.  But the concerns about content getting lost in nested modules are entirely resolved by an expand all button.  The origin of those concerns comes more from methods to achieve the same thing that involve pages with embedded internal links to pages.  That type of nesting can thoroughly hide content because there is no expansion available.  Simply expanding and collapsing content on the main modules screen, means that noone ever has to hunt for content hidden within links on subsidiary pages of a module.  The key is having the magic "expand all" button to pair with the powerful "collapse all" feature you have demonstrated.

Also, canvas already allows modules to automatically remember which modules were entirely collapsed, and it auto-scrolls down to the first expanded module.  I'm suggesting that this should be consistent with that existing feature.  Collapsed modules should stay collapsed.  Within a module, I also think that completed header requirements that a student has collapsed should stay collapsed as well.  I do not think that change would receive the push back you are concerned about.  I do understand that it requires added programing, however!  What you accomplished already is more than i could do for myself. 

I hope canvas appreciates your efforts and makes use of them in a way that all students can use.

 

dan_baeckstrom
Community Explorer

The Canvas Modules Compactor extension is now also available as an add-on for Firefox from this location.

Also, version 0.2 is now uploaded to Chrome Web Store and will update automatically on all installed extensions shortly. This version includes the "expand all content" button suggested by @Steven_S .

Note that presently, the extension is only compatible with versions of Canvas hosted on domains whose names match the   *.instructure.com/*   pattern (plus canvas.gu.se/* ). However, requests for inclusion of other host names can be made to cmc.extension@gmail.com

Steven_S
Community Champion

@dan_baeckstrom  You work fast!  Careful or we might start sending special requests for new apps 🙂

dan_baeckstrom
Community Explorer

@Steven_S 

Well you can always make a wish... I won't feel compelled to fulfil those I don't fancy. Come New Year, I will retire from my teacher job so then I might get to spend more time coding 🙂 

Btw it seems that I have solved the issue with updating the arrow structure after module editing, but it will have to wait a little for more testing before I upload.

dan_baeckstrom
Community Explorer

@Ron_Bowman : Was it something like this you were looking for with the module icons?

I agree that the indentation gets cleaner this way. I'll include it as an optional feature in an upcoming version of the extension.

 

dan_baeckstrom_0-1614892079860.png

Ron_Bowman
Community Champion

@dan_baeckstrom 

Dan -

Yes! that is what I was looking for.  Looking at your sample, it looks a lot better to me.

Thanks for working on that improvement.    I have been busy the last couple of days trying to figure out what to do with an online exam where Canvas went into a server overload for 30 minutes in the middle of the exam.  So now I have a big mess to deal with.

Ron

ellisonl15
Community Participant

While we're on the subject of collapsing things, wouldn't it be nice to collapse discussion threads? (I certainly think so!)

@dan_baeckstrom, maybe a fun weekend activity for you sometime?