Annotation of loncom/html/adm/help/tex/Domain_Configuration_LTI_Tools.tex, revision 1.4.2.1

1.1       raeburn     1: \label{Domain_Configuration_LTI_Tools}
                      2: 
                      3: By adding one or more External Tools to a domain, you will be enabling use of your LON-CAPA domain as an LTI Consumer (where LTI = Learning Tool Interoperability). Under the LTI protocol, the user's identity, as well as the course context, can be sent to the external tool (the Provider) which will trust the identity and role information provided by LON-CAPA (the Consumer). Any LON-CAPA data being provided are included in an encrypted form in the tool launch page sent to the user's web browser by LON-CAPA. The external tool will assign appropriate privileges to the user within the tool, based on the user's role.  
                      4: 
                      5: The shared key and secret used to encrypt data sent to the Tool Provider are typically provided to you when contact the Provider to let them know you would like to use their tool with your Learning Management System, i.e., with the LON-CAPA service for your domain.
                      6: 
                      7: When a Domain Coordinator includes ``External Tools (LTI)'' as one of the domain settings to display/modify via the ``Set domain configuration'' link in the Main Menu, a table will be displayed listing all currently available External Tools (i.e., LTI Providers) configured for use in the domain, as well as an ``Add'' checkbox (for the last row in the table), used to add a new External Tool.
                      8: 
                      9: Internally in LON-CAPA each external tool you configure for your domain receives a unique numerical ID (starting at 1), which remains unchanged, regardless of any future changes made to the configuration for that particular tool.  A drop-down list in the left column of the External Tools table can be used to change the order in which available tools are listed in both the domain configuration table, and in the dropdown list in the ``External Tool Editor'' item available in the Course Editor (``External tab''), when one or more tools are available in the course's domain.
                     10: 
                     11: Settings available for each External Tool in the domain are as follows:
                     12: 
                     13: \begin{itemize}
                     14: 
                     15: \item{\textbf{Required settings}}
                     16: 
                     17: The Provider name will be the Tool name shown in the listing of available External Tools in the Course Editor.
                     18: 
                     19: Keys and secrets for LTI Tools, which should be specific to a LON-CAPA domain, are stored internally in a separate GDBM file from the other domain configuration information in your domain. For each LTI Tool, the unique key and secret will be provided to you by the Tool Provider, as will the remote URL which will handle LTI launch requests from link(s) to instance(s) of the tool in LON-CAPA courses in your domain.
                     20: 
                     21: Each LTI tool can be configured to allow additional information to be appended to the Tool URL for each tool instance by a Course Coordinator.  There are four other required settings: Version, Message Type, Signature Method and Nonce lifetime. You will likely use the default values provided for each of the four. 
                     22: 
                     23: \item{\textbf{Optional settings}}
                     24: 
                     25: There are five optional settings, for which you can set default values, which optionally you may allow a Course Coordinator to override for each tool instance: Display target (iFrame, Tab, or Window), Width and Height (if target is Window), default link text, and default explanation. 
                     26: 
1.4.2.1 ! raeburn    27: Optionally you can also upload a small image file, which will be used as an icon for the file type for each tool instance in the Course Editor.
1.3       raeburn    28: 
1.1       raeburn    29: \item{\textbf{User data sent on launch}}
                     30: 
1.4       raeburn    31: For each External Tool, you will set what data are sent when it is launched. You can choose to send any or all of: Full Name, First Name, Last Name, E-mail address, Role (i.e., current ``LTI'' role, as determined from current role in LON-CAPA), and User (either username or username:domain) for the user launching a tool instance in a course. 
1.1       raeburn    32: 
                     33: \item{\textbf{Role mapping}}
                     34: 
                     35: LTI uses a more restricted set of roles - Instructor, Content Developer, Teaching Assistant or Learner - than are available in LON-CAPA.
                     36: 
                     37: For each tool you will set mapping to an LTI role to be used for each standard LON-CAPA role. At a minimum you should likely set that Course Coordinator (LON-CAPA) will map to Instructor (LTI), and Student (LON-CAPA) will map to Learner (LTI). 
                     38: 
                     39: \item{\textbf{Configurable in course}}
                     40: 
                     41: The five optional settings: display target (and width and height, when target is window), default link text, and default explanation can be set to be configurable for each instance of a tool in a course by the Course Coordinator.
                     42: 
1.4       raeburn    43: In addition, two other items sent on launch to the external tool - Course label and Course title - can be set to be configurable by a Course Coordinator. If Course label is not configurable, the institutional course code for the LON-CAPA course will be used, whereas if Course title is not configurable, the LON-CAPA course title will be used, respectively, for context\_label and context\_title, as part of the data sent to the external tool on launch.
1.1       raeburn    44: 
                     45: Lastly, the Provider URL can be set to be configurable, so that a Course Coordinator can specify text (potentially unique for each tool instance), such as a path or query string, which will be appended to the default Provider URL to which the encrypted LTI data are sent on launch.
                     46: 
                     47: \item{\textbf{Custom items sent on launch}}
                     48: 
                     49: Besides the set of standard LTI items, you may also add name=value pairs to send additional data to the LTI Provider on launch of the tool in a LON-CAPA course.
                     50: 
1.4       raeburn    51: LON-CAPA will automatically prepend \emph{custom\_} to the name of each custom item you set in the tool configuration when preparing the data to send to the external tool.
1.1       raeburn    52: 
1.4       raeburn    53: If the entry in the \emph{value} textbox is of the form: LONCAPA::env\{lcenvkey\}, where \emph{lcenvkey} is the name of an item in LON-CAPA's own \%env hash, then the LONCAPA::env\{lcenvkey\} value in the custom\_name=value pair sent on launch will be the value of \$env\{lcenvkey\} in effect in the user's LON-CAPA session. Otherwise, whatever value is set in the domain configuration for the tool for item \emph{name} will be sent as the pair: custom\_name=value.
1.1       raeburn    54: 
                     55: \end{itemize}
                     56: 
1.4       raeburn    57: For reference the complete set of parameters (other than custom\_*) which could be present in the data POSTed on LTI launch (depending on how the tool is configured) is as follows:
1.1       raeburn    58: 
                     59: \begin{verbatim}
                     60: 
                     61: basiclti_submit
                     62: context_id
                     63: context_label
                     64: context_title
                     65: context_type
                     66: ext_ims_lis_basic_outcome_url
                     67: ext_ims_lis_memberships_url
                     68: ext_ims_lis_memberships_id
                     69: launch_presentation_document_target
                     70: launch_presentation_locale
                     71: launch_presentation_height
                     72: launch_presentation_width
                     73: lis_outcome_service_url
                     74: lis_person_contact_email_primary
                     75: lis_person_name_family
                     76: lis_person_name_full
                     77: lis_person_name_given
                     78: lis_person_sourcedid
                     79: lis_result_sourcedid
                     80: lti_message_type
                     81: lti_version
                     82: oauth_consumer_key
                     83: oauth_nonce
                     84: oauth_signature
                     85: oauth_signature_method
                     86: oauth_timestamp
                     87: oauth_version
                     88: resource_link_id
                     89: resource_link_title
                     90: roles
                     91: tool_consumer_info_product_family_code
                     92: tool_consumer_info_version
                     93: tool_consumer_instance_description
                     94: tool_consumer_instance_guid
                     95: tool_consumer_instance_name
                     96: tool_consumer_instance_url
                     97: user_id
                     98: 
                     99: \end{verbatim}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>