anchor.diff:        lti_instructions_opendsa_moodle_path %>.
       </p>
   
  -    OpenDSA implements the LTI controller and since we know that LMS expects
  -    Tool Provider to open in an iframe, therefore, in the start of the LTI
  -    controller OpenDSA allows both the launch and the resource endpoints to
  +    LTI controller <em>(apps/controllers/lti_controller.rb)</em> in OpenDSA
  +    takes care of all the requests related to LTI. An LTI-compliant LMS expects
  +    a Tool Provider to open in an iframe. Therefore, at the start of the LTI
  +    controller, OpenDSA allows both the launch and the resource endpoints to
       open in an iframe.<br><br>
       <pre>
         after_action :allow_iframe, only: [:launch, :resource]
  
positive.code:         return '';
        };
      </pre>
      Here <em>return_url</em> is the url of the tool consumer to which result
      has to be returned. <em>urlParams</em> contains the launch url of the
      exercise, that tool consumer will add in the Submission Tool URL. <br><br>
  
      Once Submission Tool URL is added, instructors can publish the exercise to
  
negative.code:       @terms = Term.on_or_future
      end
      </pre>
      Then OpenDSA creates a launch URL for OpenDSA from the request object.
      The protocol is <em>HTTP</em> or <em>HTTPS</em>, and
      <em>host_with_port</em> is a complete URL where OpenDSA is hosted.
      <br><br>
  
    <pre>
  