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

LTI data not updated on import for embedded Warpwire content

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Awaiting Information
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 12.7, 19.3, 20.0 [Tentative], 21.0 [Tentative]
    • Fix Version/s: None
    • Component/s: BasicLTI, Lessons
    • Labels:
      None
    • 20 status:
      Please Merge
    • 19 status:
      Please Merge
    • Test Plan:
      Hide

      On a Sakai system that is integrated with Warpwire:

      1. Create 2 sites, site A and site B. Put one student in site A and a different student in site B.
      2. In site A, as instructor, add the Warpwire tool (Site Info > Manage Tools > External Tool).
      3. In the course menu, click the Warpwire button to create the course media library. Upload some media to the library.
      4. In Lessons, click Add Content > Add Text.
      5. Click the Warpwire icon in the editing tool bar. Select a media asset and insert it. Click Save.
      6. Go to site B, and choose Site Info > Import from Site. Import all content.
      7. As an instructor, in site B, you should be able to view the Warpwire content embedded in Lessons (imported from site A).
      8. Log in as a student who has access to site B (but not site A). This student should be able to view the Warpwire content embedded in Lessons.
      Show
      On a Sakai system that is integrated with Warpwire: Create 2 sites, site A and site B. Put one student in site A and a different student in site B. In site A, as instructor, add the Warpwire tool (Site Info > Manage Tools > External Tool). In the course menu, click the Warpwire button to create the course media library. Upload some media to the library. In Lessons, click Add Content > Add Text. Click the Warpwire icon in the editing tool bar. Select a media asset and insert it. Click Save. Go to site B, and choose Site Info > Import from Site. Import all content. As an instructor, in site B, you should be able to view the Warpwire content embedded in Lessons (imported from site A). Log in as a student who has access to site B (but not site A). This student should be able to view the Warpwire content embedded in Lessons.

      Description

      Pertains to institutions that use 3rd-party tool Warpwire to manage and embed media in Sakai.

      Problem: When an instructor uses Warpwire's ckeditor tool to insert (embed) media in a Lessons page in Site A, when they import the site's content to Site B (using Site Info > Import from Site), students who are in Site B (but not in A) cannot see the media.

      Patch: The University of Dayton developed a patch that fixes missing code in the Sakai import module to create a new LTI reference and associate it with the new course upon import. Dayton is using this patch in production. Warpwire has done some further work on it, tested on Sakai 12 and 19, and is ready to submit it for use in Sakai. See attached patch file.

      Here is an explanation from Warpwire of what the patch does (additional comments are provided within the code):

      • Modifies the LessonBuilderEntityProducer to identify any item that is an LTI link. During the course copy process, it uses the “importLTITool” function to convert links. (Provided by the University of Dayton)
      • Modifies the LessonBuilderEntityProducer to identify SimplePageItem objects in HTML of the page. It searches the text to find URLs and converts them using the same mechanism as the preceding. For security purposes, it ensures that the link originates from the course being copied (to avoid converting arbitrary links).
      • The importLTITool function (written by the University of Dayton) takes in all of the information necessary to create a new LTI launch request. The tool attempts to first get the LTI tool from the global tool provider and if not present it checks the local tool provider to determine if the LTI tool is installed (referenced by the ltiToolId variable). Once the launch details are obtained, the function associates the content from the old course to the new courses, updates the permitted course tool ID and returns the newly created LTI tool ID from the database. A new LTI tool is created in the database for each new course that is copied.
      • This patch is applicable to other LTI-based tools that are globally installed not just Warpwire. For tools that are installed at a global level, this patch will successfully copy the content from one course to another which solve part of the issue outlined in SAK-31644

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mcphaulk Karen McPhaul
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Git Source Code