Wise Ed · Wise Technologies · Slovenščina

Wise Ed and Moodle - the administrator's guide

For the school's Moodle administrator. Two connections, each on its own and each optional: the web services keep Moodle's courses, enrolments and groups in step with Wise Ed and read the gradebook back; LTI 1.3 opens Wise Ed inside a Moodle course and, with LTI Advantage, exchanges grades with Moodle's gradebook. About half an hour, with Moodle's administration and Wise Ed's LMS settings screen open side by side.

Wise Ed's addresses for this school
Login initiation
https://wise-tt.com/web/{school}/lti/login
Launch (tool URL)
https://wise-tt.com/web/{school}/lti/launch
Redirect URI
https://wise-tt.com/web/{school}/lti/launch
Deep linking (content selection)
https://wise-tt.com/web/{school}/lti/launch
Public keyset (JWKS)
https://wise-tt.com/web/{school}/lti/jwks

Opened without the school's addresses: {school} is the school's code, the one in its Wise Timetable address. The LMS settings screen in Wise Ed shows the exact addresses too.

Before you start

Part A - the web services (the Moodle sync)

Needed for: courses made per subject and year, students and teachers enrolled, the timetable's groups as Moodle groups, the Moodle gradebook read back. Not needed if the school only wants Wise Ed inside Moodle courses (Part B).

A1 - Switch on web services

Site administration > General > Advanced features

Tick Enable web services and save.

A2 - Switch on the REST protocol

Site administration > Server > Web services > Manage protocols

Enable REST protocol (the eye icon). Wise Ed uses REST and nothing else.

A3 - A user for Wise Ed

Site administration > Users > Accounts > Add a new user

A4 - A role with exactly what Wise Ed needs

Site administration > Users > Permissions > Define roles > Add a new role

Use role archetype: No role. Short name wiseedsync, full name Wise Ed sync, Context types where this role may be assigned: System. Set these capabilities to Allow (search the list by the capability's name):

CapabilityWhy
webservice/rest:useto use the REST protocol at all
moodle/category:managemake a category per programme and year of study, and see their ID numbers
moodle/category:viewhiddencategoriesfind the categories Wise Ed made even when hidden
moodle/course:createmake a course per subject and year
moodle/course:visibilitypart of making a course (Moodle's service definition asks for it)
moodle/course:viewsee every course without being enrolled in it
moodle/course:viewhiddencoursesfind the courses Wise Ed made even when hidden
moodle/course:updatesee the course ID numbers by which a second run recognises its courses
moodle/course:viewparticipantsread who is enrolled in a course
moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:updatefind accounts by e-mail address and read enrolments (Moodle's own list for these functions)
moodle/site:accessallgroupsread the enrolments of every group
enrol/manual:enrolenrol students and teachers
moodle/role:assigngive them their role in the course (with A5)
moodle/course:managegroupsmake the timetable's groups and put the students in them
gradereport/user:view, moodle/grade:viewallread the gradebook of every student of a course
enrol/manual:unenrolonly if the office switches on Take out who no longer belongs (only enrolments Wise Ed itself made are ever taken out)
moodle/user:createonly if the office switches on Make Moodle accounts

A5 - Let the role give the course roles

Site administration > Users > Permissions > Define roles > Allow role assignments

In the row Wise Ed sync tick Student, Teacher and Non-editing teacher, and save. Without this Moodle answers wsusercannotassign. If the school uses other role numbers than Moodle's standard 5 / 3 / 4, the office types them into Wise Ed's LMS settings.

A6 - Give the user the role

Site administration > Users > Permissions > Assign system roles > Wise Ed sync

Add the user wiseed.

A7 - The service and its 15 functions

Site administration > Server > Web services > External services > Add

Name Wise Ed, short name wiseed, tick Enabled and Authorised users only, Add service. Then Functions > Add functions and add all of these - every one is standard Moodle core:

FunctionFor
core_webservice_get_site_infothe connection check
core_course_get_categories, core_course_create_categoriesthe categories
core_course_get_courses_by_field, core_course_create_coursesthe courses
core_user_get_users_by_field, core_user_create_usersthe accounts (the second only with Make Moodle accounts)
core_enrol_get_enrolled_users, enrol_manual_enrol_users, enrol_manual_unenrol_usersthe enrolments
core_group_get_course_groups, core_group_create_groups, core_group_get_group_members, core_group_add_group_membersthe groups
gradereport_user_get_grade_itemsthe gradebook read back

Then Authorised users of the service: add wiseed.

Courses need the Manual enrolments method, which Moodle adds to new courses by default (Site administration > Plugins > Enrolments > Manage enrol plugins: Manual enrolments enabled; in its settings Add instance to new courses ticked).

A8 - The token

Site administration > Server > Web services > Manage tokens > Create token

User wiseed, service Wise Ed. Valid until and IP restriction may stay empty (ask Wise Technologies for the server's address if you want to restrict it). Save, and copy the token: Moodle shows it once.

A9 - Into Wise Ed

The office opens LMS settings > Moodle, types the Moodle address (https://...) and the token, and saves. Wise Ed stores the token sealed; it is never shown again. On the Moodle screen, Check the connection must answer "Connected to ... Every function Wise Ed needs is allowed." If a function is missing it is named - add it in A7.

Part B - the LTI 1.3 tool

Needed for: Wise Ed inside a Moodle course (the subject's timetable, its exam dates and registration, a student's grades, "my progress") and, with the grade services, Wise Ed's points and final grades in Moodle's gradebook and Moodle's activity grades back in Wise Ed - with no web-service user at all.

B1 - A new tool

Site administration > Plugins > Activity modules > External tool > Manage tools > configure a tool manually

B2 - Tool settings

FieldValue
Tool nameWise Ed
Tool URLhttps://wise-tt.com/web/{school}/lti/launch
LTI versionLTI 1.3
Client IDMoodle fills it in when you save - you copy it in B5
Public key typeKeyset URL
Public keysethttps://wise-tt.com/web/{school}/lti/jwks
Initiate login URLhttps://wise-tt.com/web/{school}/lti/login
Redirection URI(s)https://wise-tt.com/web/{school}/lti/launch
Custom parametersleave empty - each link Wise Ed makes carries its own
Tool configuration usageShow in activity chooser and as a preconfigured tool
Default launch containerEmbed, without blocks (or New window)
Supports Deep Linking (Content-Item Message)ticked
Content Selection URLhttps://wise-tt.com/web/{school}/lti/launch

B3 - Services: the grade services to tick

ServiceChoose
IMS LTI Assignment and Grade ServicesUse this service for grade sync and column management - Wise Ed makes its own columns (one per assessment component, one for the final grade) and reads the course's columns
IMS LTI Names and Role ProvisioningUse this service to retrieve members' information as per privacy settings - Wise Ed learns who the course's students are, so it can send a score to a student who has not opened Wise Ed yet
Tool SettingsDo not use this service

B4 - Privacy

FieldValue
Share launcher's name with toolAlways
Share launcher's email with toolAlways - Wise Ed recognises students and teachers by e-mail
Accept grades from the toolAlways
Force SSLticked

Save changes.

B5 - What Moodle shows you

On the tool's card press View configuration details (the list icon). Moodle shows six values; keep them for B6: Platform ID, Client ID, Deployment ID, Public keyset URL, Access token URL, Authentication request URL.

B6 - The platform in Wise Ed

The office opens LMS settings > Inside the LMS (LTI 1.3) > A new platform:

Wise Ed fieldFrom Moodle (B5)
Namehow the office calls it, e.g. Faculty Moodle
IssuerPlatform ID
Client idClient ID
Deployment idsDeployment ID
Authorisation addressAuthentication request URL
Token addressAccess token URL
Key set addressPublic keyset URL
Grades through LTIBy hand to start (the office presses Send); Every night once the office trusts it
Sendpublished component points, confirmed final grades (either or both)
Name of the final grade columnas teachers and students will see it in Moodle's gradebook
Token audienceleave empty for Moodle

Add the platform. Switching grades on is asked first; Save anyway confirms.

B7 - Wise Ed in a course

In a course: Edit mode on > Add an activity or resource > Wise Ed > Select content. Wise Ed opens and the teacher chooses what it shows - The subject's timetable, Exam dates and registration, The student's grades in this subject, The student's progress, or another part the school uses - and presses Add to the course. Save. Each choice is its own link; a course may have several.

B8 - The first opening

The grade exchange with a course begins when somebody opens Wise Ed from it: that launch tells Wise Ed the course's gradebook and member-list addresses. The course then appears on Wise Ed's Moodle grades screen under LMS courses that opened Wise Ed, with the subject Wise Ed found for it (from the link, from the course Wise Ed made, or from the subject code as the course's short name). The office corrects the subject or the year there when needed.

Part C - testing with the dry run

Nothing is written to Moodle by reading a preview, on either side.

  1. The sync. On the Wise Ed Moodle screen: Check the connection, then read the Preview: every category, course, enrolment and group it would make, in words, and what cannot be done and why. For a first run the office limits Only these programmes in the settings to one programme. Apply writes exactly the preview; a second Apply finds nothing to do.
  2. Grades to Moodle. On the Moodle grades screen: Preview what would be sent lists the columns it would make in each course, the scores and final grades it would send, and what it does not send and why. Send sends exactly that. In Moodle: Course > Grades > Grader report shows the columns and the scores. A second Send sends nothing.
  3. Grades from Moodle. Read the LMS columns back brings the course's own activities (assignments, quizzes) into the mapping list, marked by LTI. The office maps one onto a part of the subject's assessment and presses Carry into Wise Ed; nothing reaches a record before that.
  4. The calls. Calls to the LMS on the same screen lists every call Wise Ed made - what, when, Moodle's answer. Only errors narrows it.

Troubleshooting, by what the screen says

The sync (web services)

Wise Ed passes Moodle's own error code on: "Moodle's own code is ...".

Moodle's codeWhat it meansWhat to do
invalidtokenthe token is wrong, expired or deletedA8 again; the office types the new token
accessexceptiona function is not in the service, or the user is not an authorised user of it, or the role lacks webservice/rest:useA7 (functions, authorised users), A4
wsusercannotassignthe role may not give Student / Teacher / Non-editing teacherA5
nopermissions, requireloginerrora capability of A4 is missingA4, A6
shortnametaken, categoryidnumbertakena course or category with that short name / ID number exists (made by hand)none usually: Wise Ed links a course it finds by short name; tell Wise Technologies if it repeats
invalidrecorda course or user Wise Ed knew was deleted in Moodlethe next preview makes it again
http_403, http_404, not_jsonthe address is not the Moodle's own, or REST is offthe Moodle address in Wise Ed; A2
unreachableMoodle could not be reached (a firewall, a VPN-only Moodle)Moodle must be reachable from the internet over https

Opening Wise Ed from a course (LTI 1.3)

Wise Ed saysWhat it meansWhat to do
This LMS is not registered with this school's Wise Ed yet.the Issuer in Wise Ed is not Moodle's Platform ID (or the client id differs)B5 / B6: copy them again, exactly
The LMS's request could not be verified.a check of the launch failed: the key, the client id, the deployment id, the time on Moodle's server, or a page opened twiceB6 Key set address, Client id, Deployment ids; the server clocks; open Wise Ed again from the course
Wise Ed cannot answer right now. Try again in a minute.often: Wise Ed could not read Moodle's Public keyset URL to check the launchB6 Key set address; if it stays, tell Wise Technologies
This Wise Ed page has expired.the page inside the course was open for over an houropen it again from the course
Wise Ed did not recognise you by your e-mail address.Moodle did not send the e-mail, or it is not the address Wise Ed hasB4 Share launcher's email Always; the person's e-mail in Moodle
This course is not linked to a subject in Wise Ed.Wise Ed found no subject for the Moodle coursethe office chooses it on the Moodle grades screen (B8), or the teacher adds the link again through Select content
The course's teacher chooses what Wise Ed shows in it.a student opened the content selectionnone - only a teacher adds Wise Ed to a course

Grades through LTI - the codes of Calls to the LMS and of the preview

Wise Ed saysWhat to do
The platform has no token address in Wise Ed.B6: Token address = Moodle's Access token URL
Wise Ed's own LTI key cannot be used on this server.tell Wise Technologies
The LMS did not accept Wise Ed's signed request for a token.in Moodle the tool's Public keyset must be Wise Ed's JWKS address and Public key type Keyset URL (B2); in Wise Ed the Client id and Token address must be Moodle's (B6); Token audience empty
The LMS does not let Wise Ed use the grade service or the member list in this course.B3: grade sync and column management and the member list; then open Wise Ed from the course once again
This LMS course has not given Wise Ed a gradebook address.B3, then open Wise Ed from the course once (B8)
The LMS refused Wise Ed access to this course's gradebook.the tool may be hidden or removed from the course, or the course closed
The LMS no longer has this column (or course).it was deleted in Moodle; the next Send makes the column again
The LMS refused what Wise Ed sent.Moodle's own words are beside it - read them
The LMS could not be reached. · The LMS did not answer in time. · The LMS failed while answering (an error on its side). · The LMS asked Wise Ed to slow down.nothing: Wise Ed sends it again by itself, waiting longer each time (10, 30, 90, then 270 minutes, at the next run of its scheduled job, which runs twice an hour); after the fifth attempt it names it as not taken
The LMS answered something Wise Ed cannot read.B6: the addresses must be Moodle's own
Not sent (in the preview)What to do
... is a student of "..." in the LMS, but no Wise Ed student has that address.the student's e-mail in Moodle differs from the school address in Wise Ed - correct one of them; B4 Share launcher's email Always
... has a score, but has not opened Wise Ed from "..." yet and the LMS shares no member list.B3 member list (Names and Role Provisioning)
Wise Ed does not know which subject the LMS course "..." is.the office chooses it in LMS courses that opened Wise Ed
... has no published assessment scheme for ...the subject holder publishes the scheme in Wise Ed
"..." takes its points from an LMS column, so they are not sent back.nothing - that part is graded in Moodle, and sending it back would only echo it
The school's grade scale counts down (1 is best) ...a gradebook cannot show such a grade as points; final grades stay in Wise Ed

Canvas, Brightspace, Blackboard

The same tool, the same addresses (above). In each, grant the LTI Advantage scopes https://purl.imsglobal.org/spec/lti-ags/scope/lineitem, .../lineitem.readonly, .../result.readonly, .../score and https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly, share the user's name and e-mail, and copy the platform's issuer, client id, deployment id and its authorisation, token and key-set addresses into Wise Ed (B6).

These platforms move their menus now and then; their own documentation for LTI 1.3 tools is the final word. Wise Ed asks nothing of them that is not in the IMS LTI 1.3 / LTI Advantage standard.

What travels, and what is kept

Wise Technologies d.o.o. · Ljubljana · wise-tt.com