Navigate to Adjacent Objects: Relative Navigation

Idea created by Ron Marx on May 4, 2017
    Open for Voting
    Score6
    • Susan Nugent
    • Debra Russell
    • Linnea Thompson
    • Jeffrey Brady
    • Melissa Rasmussen
    • Ron Marx

    This is an idea to enable relative path navigation in Canvas using the same LMS function that creates Next and Previous buttons at the bottom of the Canvas window of the object being displayed. This would apply to any object that can be added to a module, and most particularly Content Pages. Imagine the savings in design time being able to hard code navigation for the object +1, +2, +3 or -1, -2, -3 from the current view.

     

    Example:
    Five (5) pages in a module all contain a banner navigational element. As shown below, these are drawn as tabs but are coded as <a> links, each of which must be linked to absolute page references using the Canvas Content Selector.

    5E Tabbed Navigation

    The scale of work is daunting if you consider, for instance, a focused unit of study containing just five lessons. Since Canvas only permits absolute links, four tabs need to be linked to the associated lesson pages, requiring 20 separate linking actions per lesson. Five lessons require 100 links.

     

    Suggested solution:
    Create a function similar to the Javascript browser history function called by an onclick event.

    onclick=“javascript:history.go(-1)

     

    Since Canvas already performs this function when it creates the Previous and Next navigation buttons at the bottom of an assignment, quiz, content page and discussion (and virtually all items that can be placed in a module), then providing an extension to create relative navigation seems plausible and straightforward.

     

    This function might default to the next item in the module sequence, but accepts a parameter that acts to go “next” or “previous” by the number of steps designated by the designer.

     

    <script>
    function moduleNav() {
        module.items();
    }
    </script>

     

    For example, based on existing Canvas navigation function/s, a new function could be added that provides hooks to a call from HTML code:

     

    • <button onclick=“moduleNav()”>ModNav</button>
      would default to the next object in the module library.
    • <button onclick=“moduleNav(-1)”>ModNav</button>
      would navigate to the previous object in the module library.
    • <button onclick=“moduleNav(+2)”>ModNav</button>
      would navigate to the second object after the current item. the module library.

     

    In conclusion, the number of designer clicks to link these navigational tabs would be reduced to ZERO. Template pages would be used and customized for lesson title and specific focused unit of study the lesson belongs to.

     

    This feature keeps the Subject Matter Experts focused on dropping content into course shells instead of performing a mindless, repetitive routine. As important, this feature would also encourage teachers/designers to organize their courses in a logical manner, with branches to enrichment and remediation activities that creates a virtual breadcrumb trail, and keeps their students on track.