LTI is a standard that enables third-party services like Piazza to integrate with learning management systems. All of the major LMSs support LTI, and you can also implement LTI in your custom LMS  .

Here's a few resources to help you get started:

Hosted LMS Environments: 

Moodle: un:admin pw:demo 

Sakai: un:admin pw:admin 

Blackboard: User: nick4686 Password: password 

You can email to receive a key and secret for your school when you’re ready to use the integration for real classes. The key above is for testing purposes only and has limited functionality. Please contact us if you have any questions about Piazza or would like help integrating. 

LTI Parameter Mapping 

Required LTI launch parameters:

lti_version = LT-1p0 lti_message_type = basic-lti-launch-request resource_link_id = <identifies link placement in LMS> 

user_id = <unique identifier for user> roles = <Instructor, Student, TA> context_id = <unique identifier for course> tool_consumer_instance_guid = <unique identifier for LMS> 

Recommended parameters: 

lis_person_name_full = <user name: Jane Q. Public> lis_person_contact_email_primary = <user email:> 

context_title = <course name: Design of Personal Environments> context_label = <course number: SI182> 

Starter Code 

This starter code is a working Piazza LTI consumer. It generates signed parameters that can be saved in a form or added to the body of a request.

Code: PythonDrupal 

Please reach out if you have questions about using or porting this code: