Working with Modules
Workflow for the end-user
Example work flow for a teacher using a Module (ModuleX) that has been embedded into the top menu of itslearning.
-
In the top menu of itslearning the teacher clicks on the ‘ModuleX' menu item.
-
The 'ModuleX' web application appears in the content frame below the itslearning main menu.
-
The teacher can navigate and use the ModuleX web pages.
-
When the teacher wants to access pages in itslearning he clicks the top menu navigation.
Workflow behind the scenes
-
In the top menu of itslearning the teacher clicks on the ‘ModuleX’ menu item.
-
Itslearning calls the agreed 'ModuleX' web application URL passing extension parameters.
The 'ModuleX' web application decodes the parameters, using the shared secret to ensure they are genuine.
The 'ModuleX' web application has access to the user’s name and ID, but may need more information on the user. If so, the 'ModuleX' Web app calls the REST API to get detailed information on the user – such as their SyncKey. See Rest API
-
-
The 'ModuleX' application appears in the content frame below the itslearning main menu
-
The teacher can navigate and use the ModuleX web pages.
-
When the teacher wants to access pages in itslearning they click the top menu navigation.
Setting up a Module extension as a customer
In itslearning, site and organisation administrators can manage Modules.
-
Site administrators can manage Modules for any user group and hierarchy within the site
-
Organisation administrators can only manage Modules for the users within the hierarchies they have access to
How to manage a Module
-
Go to Home > Administration > Manage apps > Manage menus and select 'Add module'
-
Select for which organisation/hierarchy within your site the Module web application should be visible
-
Select which section (Administration menu, Top menu, Supervisor menu, Course menu, Assessment record, ePortfolio menu) your Module web application should be visible
-
Select which user groups (Aministrators, Teacher, Students, Guests, Mentor, Headteacher) should have access to your Module web application.
User group
Condition
Administrator
User must have role in hierarchy = Administrator in selected site/organisation/hierarchy
Teacher
User must have role in hierarchy = Teacher in selected site/organisation/hierarchy
Student
User must have role in hierarchy = Student in selected site/organisation/hierarchy
Guest
User must have role in hierarchy = Guest in selected site/organisation/hierarchy
Mentor
User must have role = Mentor in selected site/organisation/hierarchy
Headteacher
User must have role = Headteacher in selected site/organisation/hierarchy
Open the Module internal page from external pages (deep linking)
Itslearning has an endpoint to open a Module extension internal page. This URL can be used anywhere (for notifications, external systems, any place in itslearning). When user opens this link, itslearning shows the Module extension with a specific internal page if this is supported by the Module.
/ExtensionModule/ExtensionModuleRedirect.aspx?client_id={ExtensionModuleApplicationKey}&launch_parameters={ExtensionModuleLaunchParameters}
Parameters |
Description |
client_id |
The application key of your Module |
launch_parameters |
The launch parameters that sends to the Extension Module and add possibility for open the specific content of this Module. |
Personalising data displayed in the Module web application
In order for the Module web application to show specific user data, there must be an agreed common identifier or other way to uniquely identify the user between system. If a MIS/SIS creates users in itslearning, they can sign an unique 'SyncKey' to each user. This identifies the user to both itslearning and the external system.
Using the itslearning REST API for plugins, the Module web application can get access to more detailed information on the user who has called the application (like synckey, email and other unique data). The itslearning REST-based services are protected via OAuth.
See also Best practices, tips and tricks on how to grant access to extended data..