This is an working example webapp for a LTI Advantage Tool using the LTI related libraries of UOC.
It has a main controller, which displays general info about the LTI launch:
- User
- Context
- Which services are available
- List of names and roles of the context if the NameRoleService is available
- Access to Assignment and Grade service (see below)
Also has a DeepLink controller (edu.uoc.elearn.lti.provider.controller.DeepLinkController
) for managing
DeepLinking launches.
Last but not least, it has an Assignment and Grade Service client for managing LineItems, viewing LineItems results and Score users to line items.
The application is very simple. Controllers are in the edu.uoc.elearn.lti.provider.controller
package.
Configuration of the LTI Tool is made as follows:
-
Beans with tool's implementations are defined in the
edu.uoc.elearn.lti.provider.config.LTIConfig
class (See https://github.com/UOC/java-lti-1.3-core and https://github.com/UOC/java-lti-1.3-jwt for more info) -
Tool definition is made using parameters from
application.properties
andapplication-profile.yml
(for each spring profile).You'll notice that these files has values. It has values for IMS reference implementation and IMS Certification.
Keys defined in
application.properties
refers to the UOC's tool and platform in IMS reference implementation and can be used.
You'll need to set your maven installation to work with Github packages, following https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages#authenticating-to-github-packages
Repository info:
<repository>
<id>github-uoc-lti-core</id>
<name>GitHub UOC Apache Maven Packages</name>
<url>https://maven.pkg.github.com/uoc/java-lti-1.3-core</url>
</repository>
<repository>
<id>github-uoc-lti-jwt</id>
<name>GitHub UOC Apache Maven Packages</name>
<url>https://maven.pkg.github.com/uoc/java-lti-1.3-jwt</url>
</repository>
<repository>
<id>github-uoc-lti</id>
<name>GitHub UOC Apache Maven Packages</name>
<url>https://maven.pkg.github.com/uoc/java-lti-1.3</url>
</repository>
<repository>
<id>github-uoc-lti-springboot</id>
<name>GitHub UOC Apache Maven Packages</name>
<url>https://maven.pkg.github.com/uoc/spring-boot-lti-advantage</url>
</repository>
Once set, install it using maven:
./mvnw install
Or run using:
./mvnw spring-boot:run