anchor.diff:        <em>ContentItemSelectionRequest</em>. The next step is for a Tool
         Provider is to verify if it is a valid LTI request and after that provide
         an interface for selecting content items. Once user select content items,
  -      TP should return the details of selected items in a JSON array back to
  -      the TC at URL received in <em>content_item_return_url</em> parameter.
  -      Remember that, TP should always return user to TC even if they do not
  -      select any items.
  -    </p>
  -    <p>
  -      When Tool Consumer sends a POST request to Tool Provider, it may send the
  -      following parameters:
  +      Tool Provider should return the details of selected items in a JSON array
  +      back to the Tool Consumer at URL received in
  +      <em>content_item_return_url</em> parameter. Remember that, Tool Provider
  +      should always return user to the Tool Consumer even if they do not select
  +      any items.
  +    </p>
  +    <p>
  +      When a Tool Consumer sends a POST request to a Tool Provider, it may send
  +      the following parameters:
       </p>
       <strong>lti_message_type=</strong> ContentItemSelectionRequest (Required)
       <p>
  
positive.code:       that they can embed into their course. <%= link_to "Click here",
        lti_path %> to read more about LTI.
      </p>
      <h3>LTI Advantage</h3>
      <p>
        LTI Advantage is next step towards interoperability and is a package of
        extensions that enable deeper integration of tools with LMS. These
        extensions are built on the core LTI standard (v1.1 or higher).
        Currently, there are following three LTI Advantage extensions:
      </p>
      <p>
        <strong>Names and Role Provisioning Services:</strong> This extension
        enables LMS to send list of course participants and faculty defined
        groups to learning tools. It also allows to learn who has not yet
        accessed a tool. It is a new name of Membership Service.
      </p>
      <p>
        <strong>Deep Linking:</strong> Provides a more intuitive way to add
        content from a tool provider by providing support for various types of
        content items such as a playlists, hyperlink, iframe or a file. It is the
        new name for Content Item Message.
      </p>
      <p>
        <strong>Assignment and Grade Services:</strong> Enables tools to pass
        results of assignment back to the LMS. Along with the scores, it also
        supports comments to be returned to LMS if provided. It enables
        instructors to maintain grades and comments in one a single place (LMS
        grade book). It is the new name for Gradebook Service.
      </p>
      <br>
      Following is a detailed explanation of each of these extensions with
      examples taken from IMS website.
      <br>
      <h3>Names and Role Provisioning Services</h3>
      <p>
        The Names and Role Provisioning Services provides access to data about
        users' roles within a course for example a list of enrollments in a
        course. It automates course enrollment in tool providers and enables
        instructors to receive reporting on student activity within a learning
        tool, such as the list of users and their roles or a list of participants
        who have not accessed the course yet. LTI does not pass user information
        in its default configuration and Names and Role Provisioning Services
        automates the provision of student lists to an external tool. Sending the
        list of students enables external tool to pre-provision accounts for all
        users rather than creating one when student launches for the first time.
      </p>
      <p>
        In order for a tool to be able to use this service, in LTI 1.x, the tool
        consumers have to pass an endpoint as a custom parameter with the name of
        <strong>custom_context_memberships_url</strong>. To implement Names and
        Role Provisioning Services, a TP only needs to send a signed GET request
        to this endpoint and in return TP will receive a membership list.
      </p>
  
      <p>
  
negative.code:     </p>
      <h3>Deep Linking</h3>
      <p>
        Deep Linking provides a more intuitive way to add various types of
        content items from a Tool Provider (TP) into the tool consumer. This
        extension supports different types of content items such as a hyperlink,
        an embedded image or other media type, embedded HTML, iframe and a file.
        A typical use case as mentioned by IMS would be: "to allow a user
        within a Tool Consumer (TC) to click a button on the toolbar of a text
        box editor, which opens a Tool Provider within an iframe (or pop-up
        window), use the interface provided to select one or more items, and have
        the selected item(s) returned to the Tool Consumer and inserted into the
        text box. This may be an instructor adding content to a content page, or
        could be a student selecting an attachment to submit as part of an
        assignment".
      </p>
      <p>
        The first step in deep linking message is that a POST request is
  