Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-44809

Fix Cookie Regresson in Lessons External Tool Import (Content Item)

    XMLWordPrintable

Details

    • Bug
    • Status: RESOLVED
    • Major
    • Resolution: Fixed
    • 20.3
    • 20.3, 21.0, 22.0 [Tentative]
    • BasicLTI
    • None
    • Merged
    • Merged
    • Hide

      By the way - this does not fail on localhost - only on a real server like nightly.  There is some documentation here:

      https://github.com/csev/sakai/blob/SAK-44809/basiclti/docs/IMPORTLOR.md

      This URL will change to a master URL when the Pull Request gets merged.

      Install an LTI tool https://www.py4e.com/tsugi/lti/store/  | 12345 | secret - make it an LTI 1.1 content item tool, send all the data, and only check the "Allow the tool to provide a common cartridge (usually to be imported into a tool like Lessons)" placement.

      Then go into (Lessons -> More Tools -> External Tool Import), select the tool and ask for an import.  Flash bang boom - you see the log in screen in the popup.

      Then make it an LTI 1.3 tool and do the import again.   Setting up LTI 1.3 on www.py4e.com might require some help from Chuck - or just have Chuck do it.  There are no "Lessons" on sakai.tsugicloud.org - which would be easier to test but it won't support the import / migration use case / protocol.

       

      Show
      By the way - this does not fail on localhost - only on a real server like nightly.  There is some documentation here: https://github.com/csev/sakai/blob/SAK-44809/basiclti/docs/IMPORTLOR.md This URL will change to a master URL when the Pull Request gets merged. Install an LTI tool https://www.py4e.com/tsugi/lti/store/   | 12345 | secret - make it an LTI 1.1 content item tool, send all the data, and only check the "Allow the tool to provide a common cartridge (usually to be imported into a tool like Lessons)" placement. Then go into (Lessons -> More Tools -> External Tool Import), select the tool and ask for an import.  Flash bang boom - you see the log in screen in the popup. Then make it an LTI 1.3 tool and do the import again.   Setting up LTI 1.3 on www.py4e.com might require some help from Chuck - or just have Chuck do it.  There are no "Lessons" on sakai.tsugicloud.org - which would be easier to test but it won't support the import / migration use case / protocol.  

    Description

      When Lessons is receiving the results of a LTI Import Content item return (Lessons -> More Tools -> External Tool Import) - it does not receive the return URL properly so as to reestablish the Sakai session cookie in the iframe in the latest browsers.  So after you ask for the import to happen you get the dreaded login screen.

      This is the "content migration" placement.  Other Lessons placements for content item / deep linking work fine. 

      The strategy is to take some of the over-simplified ContentItem processing code and move it into LTIAdmin tool where it can share code and testing and implementation with the rest of the deep link / content item stuff is done (including the ugly / complex effort to recover cookies)

      This also will make this feature work both with Content Item (LTI 1.1) and Deep Linking (LTI Advantage).  Currently it only works with LTI 1.1.

      Gliffy Diagrams

        Zeplin

          Attachments

            1. lessons_import.gif
              lessons_import.gif
              7 kB
            2. lti1.1_lessons_import.gif
              lti1.1_lessons_import.gif
              11 kB
            3. SAK-44809-Importing.png
              SAK-44809-Importing.png
              286 kB
            4. SAK-44809-Oops-Login.png
              SAK-44809-Oops-Login.png
              305 kB
            5. sakai-export_11.imscc
              272 kB
            6. sakai-export13.imscc
              273 kB

            Issue Links

              Activity

                People

                  csev Charles Severance
                  csev Charles Severance
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Git Integration