Setting Up the Class Fork (LTI 1.3)

Jason Carroll Updated by Jason Carroll

Follow this process whenever a course with Codio units (integrated into Canvas with LTI 1.3) is through QA and being finalized for Master version. Make sure this is done before the first section of the course copies.

NOTE: The class fork will always be set up on the main instance of the course, typically the class ending in "-M" (i.e. "CIS525-M").

Part 1: Initial LTI Setup and Content Migration

Inside the LTI/LMS area under the Admin section of the left nav of the Dev/QA Source course in Codio, Toggle “ENABLE LTI COURSE COPY” to ON and click “SAVE”.

Verify LTI 1.3 Codio App Installation
  1. In Canvas -M course, click ‘Settings’
  2. Click ‘Apps’
  3. Do you see the “Codio 1.3 LTI” in the apps list? 

Part 2: Setting Up Master Source

Configure Course Override
IMPORTANT: If this is your first time adding the override code, then copy the course override code template (javascript) and add it to your browser bookmark bar:
(function()%7Bvar%20jsCode%20=%20document.createElement('script');jsCode.setAttribute('type',%20'module');jsCode.setAttribute('src',%20'https://ecornell.s3.amazonaws.com/casey/canvas/setCodioParentId.js?nonce=%27%20+%20(new%20Date).getTime());document.body.appendChild(jsCode);%7D());
  1. Navigate to the LTI/LMS tab in the Codio master source course.
  2. Locate the parent course ID in the Codio master source course LTI/LMS tab.
  3. Copy just the parent code!
Do not press the Copy button. Do not select “codio_parent_course_id=”
  1. In the Canvas course navigate to a page containing Codio, then click the override bookmark. Insert the Codio parent ID
  1. Click ‘Change Parent ID
SIS ID

When forking Codio for the Master Course (appending -M to a course code), ensure that the SIS ID in Canvas "Course Details" includes the "-M" suffix. If it's missing, add it and save the settings.

As you can see in the above screenshot, the SIS ID is missing "-M" like it needs when we are creating the final Master course. You would need to add "-M" to the end of the SIS ID here to make it "WCM121-M."

Fork the Course
  1. Open any unit in the course in Canvas and the Codio course will fork. This might sound like magic, but now that you have copied the SIS ID, Codio just needs any exercise to be opened for it to generate the new fork instance.
During the fork process, before adding an SIS ID, the new course may be linked to the Dev/QA course in Codio. This occurs because the course link (in contrast to the *parent* link) parameter will point to the existing course ID. However, once the SIS ID is added, the fork will be triggered, and a new Codio course will be created based on the *parent* (assuming the override parameter has been correctly set). This is part of the new LTI 1.3 course creation workflow, where only the parent course can be changed, and the original course link parameter remains static.
  1. Rename the new Codio by replacing the title after the code with "Master-Source"; cut and paste the title into the "DESCRIPTION" field
    Changing the name of the Master-Source course

Part 3: Testing and Finalization

  1. Test that it was successful by copying the -M Canvas course to make sure the fork is working correctly:
    1. “Copy Course” from Settings
    2. Change the Name and Code (“FORK TEST”)
    3. After the copy is complete, add SIS ID (“+FORKTEST”)
    4. Open a Codio module to make sure a new Codio course was created
Clean Up
  1. Delete the Canvas and Codio Fork Test courses
Remove fork test course from Codio
  1. Archive Dev/QA courses in Codio
  2. Make archived courses read-only
Finalize Master Source
  1. In Codio master source course, navigate to the Course Details tab.
  2. In the Course Management section, disconnect parent course in Codio and verify master source is standalone.

Verify LTI Settings
  1. Check LTI/LMS settings
  2. Verify course override ID matches
Important Notes to remember!
-Verify all content loads properly after each step
-Pay attention to window sizes and formatting
-Double-check points and titles after re-embedding in an Assignment page
-Wiki pages require manual width adjustment to 100%
-Assignment pages automatically handle width settings

How did we do?

Setting Up the Class Fork

R Studio - Exclusion List for R Code

Contact