Moodle Blocks

General

Moodle customers can install the Leganto Moodle Block to get additional functionality within their Moodle instance, in addition to the standard LTI support. This block displays all lists associated to the current course.

Supported Moodle versions: 3 or higher.

This plugin is based on the Alma Courses API. You will be required to supply your Alma API key when configuring the settings.

Installation

Download the installation from here: https://github.com/bhecht2/leganto_moodle_block

Follow the following steps to install:

https://docs.moodle.org/37/en/Installing_plugins#Installing_a_plugin

The block

Each list title is a link. Select a title to open the list in Leganto in a new browser tab.

The block inside the course page:

Settings

The following fields appear in the block settings in Moodle.

 

Important fields

Alma API URL (Mandatory) – The relevant URL for your region. Make sure you enter a URL exactly like in the example in the screen. If the URL differs from the example, the block will create wrong permalinks!

API Key (Mandatory) – Your Alma API key

Normalization code (Optional) – The plugin sends the Moodle course code to the Alma API. You may want to normalize this code before it is sent. To do this, you must configure normalization rules in Alma and then place the relevant code here.

To configure normalization rules in Alma:

Configure any set of rules. The field type must be “Course Code”.

The “LTI Profile” contains the code you need to place in the Moodle Blocks settings in the “Normalization Code” field. If you select “All”, configure “All” in Moodle.

Permalink Base URL (Mandatory): The base URL of your Leganto environment.

Alma Institution Code (Mandatory): Your institution code, such as 44HKK_INST.

Authentication Method (Mandatory): Set to “SAML” for most users. If a user is not logged in to Leganto, this field determines the authentication method to be used.

Other fields

Display number of items – When set to false, saves an API call to server (call #3 below)

Use cache – (Recommended) When active a cache mechanism will be used. This will reduce the number of  API calls to your server

Cache expiration time – The time in minutes until a list will be refreshed  since it was last put in the cache. 360 is a possible recommended value to put here.

API calls used by the Moodle Block

NOTE: See the cache parameters above to reduce the number of API calls performed by the block.

This plugin calls your Courses API in Alma to retrieve the needed data to be displayed.

The Moodle Block triggers the APIs every time a user enters a page that displays the block.

The following are the API calls used:

  1. Retrieve Courses  – Extract the course code from current page and search courses by course code
    (if no courses are found an additional call to the same API is done to search courses by searchable IDs)
  2. Retrieve Reading Lists – for each course found fetch the associated reading lists
  3. Retrieve Citations – for each reading list found fetch the relevant citations (for displaying the number of citations in each list)

Example: Assuming a course is associated to a single list a block will be calling 3 different API calls every time it is displayed.

Important – API threshold

When using this block you might want to consider the amount of users exposed to this block and the amount of API calls that will be triggered.

Before using this block make sure you know what your API threshold is in Alma and make sure you know what is the expected amount of API calls that will be added by using this block.

 

Contributing fixes and enhancements

The code for this plugin is stored in Github.

This code is to be used by the community of Leganto.

This code was initially done by Exlibris, and then on was improved by the community.

You are welcome to contribute and add additional features.

Please contact me at: Barak.Hecht@exlibrisgroup.com and I will provide you privileges in Github.