Skip to content
Snippets Groups Projects
  1. Jan 24, 2023
    • michaelroytman's avatar
      fix: bug in rending buttons and message in PII sharing consent dialog · d95de6e8
      michaelroytman authored
      This commit fixes a bug in the PII sharing consent dialog.
      
      The bug resulted in bizarre behavior when there were more than one LTI component in a unit. For example, if there were two LTI inline launches in a unit, two "OK" button would appear in a single component, instead of in their respective components. Another example is that clicking the "View resource in a [modal|new] window" buttons under two LTI components resulted in the "OK" and "Cancel" buttons as well as the PII sharing prompt appearing in a single component, instead of in their respective components.
      
      This is because the dialog-container div that is dynamically created in the Javascript was not scoped to the LTI component, so there was a div with a id of "dialog-container" for each component configured to share PII. When dynamically inserting and removing buttons and the PII sharing prompt, the Javascript would simply find the first div with the dialog-container ID and operate on it, instead of the div appropriate to the component the user is interacting with.
      d95de6e8
  2. Dec 15, 2022
    • michaelroytman's avatar
      fix: LTI 1.1 form URL is relative URL and LTI 1.3 form URL is expected to be absolute · e1e0f131
      michaelroytman authored
      This commit fixes a bug in the way that the the form_url is used in the Javascript.
      
      For LTI modal launches in the courseware microfrontend (MFE), the Javascript prepends the value of window.location.origin to the form_url when sending a message via postMessage to window.parent.
      
      This is because the form_url included in the template by the XBlock handler does not include a port and hostname for LTI 1.1 launches.
      
      In LTI 1.3, however, the form_url should include the port and hostname, because it's user input (e.g. fields on the XBlock). Because of this, LTI 1.3 modal launches do not work, because the Javascript appends a port and hostname to a URL that already has a port and hostname, resulting in something like "http://localhost:18000http//localhost..."
      
      This commit changes the way that the launch URL is calculated by the Javascript. The version of LTI being used is included in the template by the Python code, which is read by the Javascript. The Javascript then adds the port and hostname for LTI 1.1 form URLs but not for LTI 1.1 form URLs.
      e1e0f131
    • michaelroytman's avatar
      feat: replace PII consent modal with inline PII consent dialog and show for all LTI launch types · 8e357d40
      michaelroytman authored
      This commit replaces the consent modal that appears before personally identifiable information (PII) is shared via an LTI launch with an inline consent dialog. The consent dialog better supports the three LTI launch types (i.e. inline, modal, and new_window). This commit also fixes a bug where the PII consent modal was not being displayed for inline or modal launches.
      8e357d40
  3. Nov 22, 2021
  4. Nov 15, 2021
  5. Nov 12, 2021
  6. Nov 04, 2021
  7. Aug 14, 2020
  8. Nov 02, 2016
  9. Mar 25, 2016
  10. Jan 26, 2016
  11. Dec 29, 2015
  12. Nov 30, 2015
Loading