Setting up the VETtrak Moodle Integration

There are two aspects to configuring the integration. There is a Moodle component and a VETtrak component. Lets begin by looking at the Moodle configuration side. 

This is an overview of the functionality in the updated integration:

  • Link occurrences to Moodle courses. Link your VETtrak occurrences to courses in Moodle, or create new courses in Moodle for occurrences from VETtrak.

  • Map occurrence units/tasks to Moodle activities. You can map multiple units and tasks in your VETtrak occurrence to multiple course activities in Moodle, allowing those units and tasks to be resulted in VETtrak as the corresponding activities are completed in Moodle.

  • Transfer enrolments to Moodle. Send one or multiple enrolments in an occurrence, along with the client details, to Moodle for online learning.

  • Remove enrolment from Moodle. You can right-click an enrolment that has been transferred to Moodle to remove it from Moodle.

  • Auto-update course in Moodle. Updating the dates or status of an occurrence in VETtrak will automatically update the dates or visibility of the corresponding course in Moodle.

  • Download results. A screen in VETtrak allows you to download the activity data from Moodle and record corresponding unit and task results in VETtrak. This screen allows you to review and adjust any of the result data before saving it into VETtrak.

  • Update enrolment status on completion. You can configure the integration to update the status of the enrolment in VETtrak when the student completes the course in Moodle.

  • Auto-push VETenrol web enrolments to Moodle. Each occurrence can be configured to automatically send processed web enrolments to Moodle, allowing students to start their online learning automatically after online enrolment if desired.

Lets start with the Moodle configuration.


Moodle setup


Installing Moodle is outside the scope of this article so we will assume that your Moodle instance is setup and installed.


With Moodle installed and setup we need to change some settings before VETtrak can communicate with your Moodle instance.

Login as your admin user and navigate to the Site Administration page (/admin/search.php)

In the Site Administration page, Search for the following settings:

REST protocol, and enable it:

Web services authentication, and enable it: 

Allow extended characters in usernames, and enable it: 

Debug messages, and set it to NORMAL: 

External service

Now we need to add an external service to expose the API end points required for the integration with VETtrak. Go to '/admin/settings.php?section=externalservices' and click Add.

We suggest that you configure the Service as shown below, making sure the Enabled and Authorised Users Only options are both ticked:

Now add the required list of functions clicking the ‘Functions’ section on your new service. Search each of them and hit add until you have added the whole list. 

API Functions

The follow is a list of Moodle API functions required by the VETtrak Moodle integration:

  • core_webservice_get_site_info
  • core_course_get_categories
  • core_course_get_courses_by_field
  • core_course_get_contents
  • core_course_create_courses
  • core_course_update_courses
  • core_user_get_users
  • core_user_create_users
  • core_user_update_users
  • core_enrol_get_enrolled_users
  • enrol_manual_enrol_users
  • enrol_manual_unenrol_users
  • core_course_get_course_module
  • gradereport_user_get_grade_items
  • core_completion_get_course_completion_status
  • core_course_get_courses
  • core_course_import_course

Token/Auth user

VETtrak can communicate with Moodle using two methods, either using a user accounts username/password or a token on behalf of a user. Choose one of the following options:

  1. Username/password: Add the user you wish to authenticate with by clicking the ‘Authorised users’ section on your service.

  2. Token: Navigate to manage tokens and add a new token. Set it up using your new web service and a user that has been added to the service (/admin/webservice/tokens.php)

The Token method is recommended.

Now lets look at the VETtrak side.

VETtrak setup

Now that Moodle should be correctly installed and configured, open VETtrak and setup a Moodle LMS in the configuration manager. You will need to have both the LMS integrations feature and the Moodle results plugin in your registration key for the Moodle LMS product to be available. Contact VETtrak Support if you do not have the LMS integration add-on or the Moodle Resulting plugin available in your registration key.  

Getting started

Navigate to Manage > Configuration and right click on the LMS Integrations item. Select Add LMS Integration to reveal the following page:

Step 1

Add a name for the integration, code (if desired), choose the transfer levels that can be used and the organisations if you have Multi RTO enabled. Choosing a default organisation is good idea (especially if you only have one RTO).  


Step 2

On the second page of the LMS Integration Configuration Wizard, you will be presented with the Moodle configuration frame.

VETtrak provides two options to authenticate with Moodle. Either simple using a username/password or a token.

It is suggested that the Token method be used and is a better option for security reasons

Once an authentication method has been chosen the Moodle API connection can be tested via the ‘Test connection’ button.

Here are some details about each of the Moodle specific config items:

  1. When checked a Course completions tab becomes visible in the Transfer Results from Moodle LMS wizard. This tab will list any students’ courses that have been completed in Moodle. Whether they have completed the course will depend on the course completion settings on the Moodle course.

  2. Role ID is required when enrolling a student into a Moodle course. This should be the ID that aligns with your Moodle student role. By default, this is 5 and generally will not need to be edited.

  3. If checked, when VETtrak creates a new user in Moodle it will set their ‘Authentication method’ to ‘VETtrak authentication’, use this only when using the Moodle VETtrak authentication plug-in to allow new students create from VETtrak to log into Moodle using their student portal credentials. Unchecked, VETtrak will tell Moodle to create the password itself. If you have configured SMTP settings correctly in Moodle this will email the student temporary account details with a link to setup their Moodle account.

  4. As Moodle does not provide us with a start date for activities, the scenario can arise where all we know is the graded date, which is used to default the finish date of the result in VETtrak. This leaves an error stating that the result must have a started date. When this preference is checked we will use the start date of the VETtrak enrolment to avoid this error and streamline the process. However, the start date of the enrolment will be ignored when:

    • More than one activity is mapped to the unit/task as we use the earliest graded date of the two as the start date

    • An expected start date has been entered against the unit in the training plan

  5. By default VETtrak does a single match attempt using Client Code. Optionally, an additional match can be configured:

    If no match is found or no match rules are configured VETtrak will create a new Moodle user – unless a Moodle user ID is present in the LMS student identifier field within the personal wizard.
    1. “Match VETtrak client code with Moodle user ID number’

      When checked, VETtrak clients will be matched with Moodle users that have an ID number matching their VETtrak client code.

    2. “Match VETtrak client with Moodle user by fields’

      Selected fields will be used to check for an existing Moodle user before creating a new one. Fields are combined via an AND operation. E.g. Email and First name must both match if selected

  6. When checked, students will lose access to Moodle course content beyond their enrolment finish date. Uncheck this setting if you want your students to maintain access to the course content forever.

  7. Checking this option will retrieve Results on a per-course basis. This option should typically be left unchecked unless you have a large number of learners in your occurrences, and you are experiencing slowness when retrieving Results from Moodle.

Click Next to continue.


Step 3

The third step of the LMS Integration Configuration Wizard will allow you to configure the Outcomes that VETtrak will record when results are transferred from Moodle.

Unticking the Record Result option for an Outcome will prevent VETtrak from recording the Outcomes in that column when results are transferred from Moodle.

Selecting a Delivery Strategy will update the Clients' Training plan when results are transferred from Moodle.

Clicking Next will allow you to configure the Task Statuses that can be recorded when transferring results from Moodle.

After configuring your Tasks, click Next, then Finish to finish setting up your Moodle Integration.

RELATED: Linking a VETtrak Occurrence to a Moodle Course

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.