Enabling Moodle Web Services
The following steps will set up the web services portion of the Moodle API integration. All of these features can be found under the Site Administration section of your Moodle instance with the appropriate admin level permissions.
1. In your Moodle instance, navigate to Site Administration and go to the Advanced Features section. Check the box next to Enable Web Services, and then click on the Save Changes button.
2. Go to the Plugins tab, and navigate to the Web Services section. Choose Manage Protocols. Enable REST Protocol and save your changes.
3. Go back to the Web Services page, and select External Services.
4. Click on Add a Custom Service and input these values:
Short Name: ExamSoft
5. Click on the Save Changes button once completed.
ExamSoft will now appear in the list of External Services.
6. Click on the Functions hyperlink, and then the Add Functions hyperlink. Add each of these functions:
7. Return to the Web Services section, and choose Manage Tokens.
8. Click Add, and enter the following information:
User: Select an Admin User
Service: Select the ExamSoft service defined in Step 4
IP Restriction: Leave empty
Valid until: Do not enable
Click Save Changes. This token will be needed later. We recommend that you copy all information to a Notepad or Word file for later use.
Configuring the ExamSoft Tool
1. Under the Plugins tab, find the Activity Modules section and select External Tool. From there, select Manage Tools, and then Configure a Tool Manually.
2. Click on the Add External Tool Configuration hyperlink. Provide the following values:
Tool name: Suggestion: "ExamSoft Admin Panel"
Tool base URL: https://lmsintegration.examsoft.com/lms/admin.jsp
Consumer Key: Value provided by your ExamSoft representative
Shared secret: Value provided by your ExamSoft representative
Show tool type when creating tool instance: checked
Default launch container: New window
Privacy: Set all controls to Always
Save your changes. Once saved, the tool will appear in the list.
Configuring the ExamSoft Tool in a Course
Once the above step is completed, you are now ready to add the external tool to a course.
1. Inside any Moodle course (perhaps a course that is only available to administrators), switch to editing mode.
2. In edit mode, click on the Add an Activity or Resource link and choose External Tool.
3. Fill in the form as follows:
Activity name: ExamSoft Admin Panel
Preconfigured Tool: Select the tool you created in the previous steps
Privacy: Enable all privacy options
Launching the external tool will show the ExamSoft LMS Broker Configuration.
1. On Page 1, fill out the URL of your instance in the first field, and the Token that was created in Step 7 of the first section. You will also select what type of Course ID and Student ID will be pushed over to the ExamSoft side. If you will be using SAML, check the box to Enable SAML. Choose your SAML ID type from the drop-down menu. Click Save.
2. On page 2, all fields will be pre-configured, except for the option for Lab Client. If your institution uses lab machines only, then you will need to enable this option.
3. On page 4, specify Roles "editingteacher" for the Instructor field, and "student" for the Test Taker field.
4. To sync courses, you will need to provide a list of course IDs in the Course ID List box. You will use whatever ID type that you had selected in Step 4. You can add multiple IDs by separating them with commas, or you can use the CSV option to import a list of courses. When the courses are added in the list, click Save at the bottom of the page, and the course(s) will be added into the sync list. Note that the courses included in the list will dictate which courses and students are synced to your ExamSoft Portal.
5. If you would like to schedule a sync to occur on a daily basis, open your ExamSoft Portal. Select the Admin tab, then Global Settings. On the global settings page, select LMS Settings. Here, you will select the time for the automatic sync to occur. Note that this feature must be configured by the ExamSoft Key Administrator.