Submit a ticket My Tickets

Client Migration Testing Guide

Welcome to Moodle!

We’re so pleased to be able to assist with your Moodle deployment. If you are reading this document, the Moodle team has more than likely finished your test migration. To proceed to the live or final migration, we need you to thoroughly examine the test migration site, and look for anything out of place. After all, you are very familiar with your site, the course content, and your users—and we have only begun to get to know your site. This guide aims to assist you/your team with the systematic assessment of your test migration so that we can remedy any issues that may result from changing to Moodle infrastructure. 

In case you come across any roadblocks or technical difficulties during your testing, it's highly recommended that you get in touch with the Moodle DevOps Engineer (Moodle engineer) who's overseeing the process. They possess the required expertise and knowledge to help you resolve any issues or errors you may encounter.

How to Use This Guide

In this guide, we are going to give a general overview of a testing procedure. You must use this guide as a starting point - not a comprehensive guide - to test all the little settings and configuration choices that make your Moodle site unique.

In general terms, Moodle professionals recommend testing six key areas of the site that can be summarized as: 

  1. Aesthetics

  2. Authentication methods

  3. Enrollment methods

  4. Course flow and data

  5. Emails, notices, language

  6. Plugins and LTI connectors

We’re going to break these down one-by-one, but first, let’s get ready for testing.

Getting Ready to Test

Preparing to test your Moodle test migration site is a straightforward process and can significantly save time in the long run. Follow these steps to begin:

  1. Log in to the site using your administrator/manager credentials.

  2. Generate a test user, preferably with a valid email address. Take note of the username and password for future reference.

  3. Enroll the test user in several existing courses as a Student/Learner. No need to modify rosters or data; remember, this is a testing environment designed for changes.

  4. Ensure that most of the courses you have enrolled your test user into are visible to users… but not all.

  5. Identify three instructor-type users as examples. Once initial tests with the test user are complete, switch perspectives to that of existing teachers using the "log in as" feature.

Special Note: If possible, involve one or two instructors in the testing process. Collaborating with a team can expedite the work and unveil nuances that may go unnoticed by an administrator.

Now that your test user is set up, open a second browser or use an incognito window to log in to your test account using the username and password you established for the user. This enables you to have one window logged in as an Administrator and another as your test user/test student.

Moving forward, we'll refer to the test migration site as the test site and your production site as the live site.

Section One - Aesthetics Review

In this section, we will delve into the visual aspects of your test site to ensure its alignment with the live site. Confirming that your site's theme is available and activated on the test site is crucial. If the appearance of the test site is different from the live site, check to see which theme the site is using by going to: Site Administration > Appearance > Themes > Theme selector. If your old theme is not installed, request that your Moodle engineer install the correct theme plugin for you.

Proceed to assess the functionality of your test site's Javascript. Javascript plays a pivotal role in the functionality of buttons and drop-down menus in Moodle. To verify its proper operation, enter various courses across different categories. For each course, activate editing, click the "Add an activity or resource" link or button, and ensure the activity selector box loads correctly. Then, click the "Edit" link next to an existing activity or resource, confirming that the drop-down menu appears and allows interaction. Any failure in these steps may signal a Javascript issue, necessitating notification to your Moodle engineer.

During migrations, custom CSS and Javascript can sometimes become corrupted. Validate that the content of custom CSS and Javascript (if any) on your live site matches that on the test site. Navigate to Site Administration > Appearance > Additional HTML and inspect the three text boxes. If any CSS or Javascript is absent on the test site, copy it over from the live site and save changes.

Next, ensure proper configuration of your Dashboard page on the test site. Confirm that its layout and block arrangement mirror those of your live site. Log in as a student (your test account) and a teacher, verifying the correctness of their respective Dashboards. If discrepancies arise, navigate to Site Administration > Appearance > Default Dashboard page, comparing settings with those on your live site. Align the page settings, and use the "Reset Dashboard for all users" button on your test site to synchronize all user Dashboards. Repeat this process for each user type, ensuring each Dashboard behaves correctly and aligns with the Default Dashboard page layout.

If your site utilizes course-level themes (where the theme for a course differs from the overall theme for the site), inspect several relevant courses on the test site to ensure their themes are intact and functional. For any courses experiencing theme-loading issues, check the theme's installation status and request installation by your Moodle engineer, if needed.

Section Two - Authentication Methods Review

This section focuses on Authentication methods. It is imperative to verify that your preferred authentication method remains available and enabled on the test site. Navigate to Site Administration > Plugins > Authentication > Manage authentication to view a list of enabled authentication methods and the user count for each method. Confirm, for instance, that if your institution employs SAML2 for 4,000 users, you observe a row labeled SAML2 with 4,000 users.

Next, assess the login flow for both yourself and your test user. Log out of the site and log back in, ensuring the process mirrors that of your live site. While the login process may be straightforward for Manual authentication, more complex login flows, such as single sign-on, necessitate a comprehensive check of each step. Post-login, confirm whether redirection aligns with the live site. This examination should encompass both your account and the test user's account, emphasizing testing with the primary authentication method used by the majority of your users. For instance, if SAML2 is the prevalent method, don't solely test the Manual authentication; include testing the SAML2 process as well. SSO settings may have to be changed/adjusted to work with the test site.  Your ITS department may need to get involved (if applicable).  This would be a valuable discussion to engage in with your Moodle engineer.

In the case of a single sign-on authentication method, additional configuration might be required on your local system to establish the authentication connection. This could involve actions like whitelisting Moodle stack IP addresses within your local network or Identity Provider before attempting to log in. Ensure these necessary configurations are addressed to facilitate seamless authentication.

Section Three - Enrollment Methods Review

In this section, we will review the Enrollment methods to ensure their proper functionality. Begin by identifying the enrollment methods in use and verify their availability and activation. To accomplish this, navigate to Site Administration > Plugins > Enrollment > Manage enrollment on your test site, where you'll find a list of available methods. Confirm that this list matches the one on your live site.

For each active enrollment method, confirm the settings on the test site, if available, by comparing them with the corresponding settings on your live site. If you employ Cohort Sync Enrollment, ensure the presence of cohorts by visiting Site Administration > Users > Accounts > Cohorts.

Conduct test enrollments using your primary enrollment method(s), adjusting the process based on your enrollment methods in your live site. For manual enrollments, manually enroll your test user in a course. If NexSIS is in use, validate your ability to send a test flat file or API request to the test site, ensuring proper user enrollment. You might consider NexSIS if your planned enrollment method is not going to work due to any number of factors. More information regarding NexSIS. If you are interested, please reach out to your Moodle Account Manager.

Following these enrollment tests, proceed to unenroll all users enrolled using the same method and confirm the smooth operation of the unenrollment process.

This comprehensive examination guarantees that your enrollment methods are intact, properly configured, and seamlessly functional on the test site, aligning with the standards set on your live site.

Section Four - Course Flow and Course Data Review

Next, it's crucial to assess the course flow and data to ensure optimal functionality. Compare the gradebook information of a minimum of three courses across diverse categories on the test site with their counterparts on the live site. Confirm the presence of all student grades on the test site. Additionally, visit the Gradebook Setup page and confirm that the weights and grade categories on the test site match with those on the live site.

Identify at least two courses with activity completion enabled. Enroll your test user account as a student in these courses and manually log in using the actual username and password, rather than using the Login as function. Proceed to complete various activities or mark them as complete. If there are access restrictions, ensure that completing specific activities grants access to the correct subsequent ones.  (This step might best be accomplished by enlisting the help of one or more course instructors who are more familiar with the structure of their course content.)

Lastly, identify at least two courses with course completion enabled. Enroll your test user account as a student, and manually log in as before. Fulfill the necessary criteria for course completion and verify that the course is successfully marked as complete for the test user.

Section Five - Notices, Emails, Language Review

Section Five - Notices, Emails, Language Review

Next, you will want to ensure that notices, emails, and language settings are set up properly. You will want to check the Notifications page at Site Administration > Notifications. Look out for alerts or warnings and complete any new settings if necessary. Confirm that the Moodle version aligns with your expectations.

In Administration > Server > Email > Outgoing mail configuration, check if the settings still correspond to your previous host or need adjustment for compatibility with Moodles SMTP or your own service. If you are not sure about these settings, please ask your Moodle engineer.

Your Moodle engineer will typically disable email for the test site, since we don't want the test site emailing your users the same as the live site might. Take note, that this will be one of the first things to enable and test after your final migration is completed.

Finally, verify the correctness of language settings by navigating to Site Administration > Language > (all three subcategories). In each subcategory (Language settings, Language customization, and Language packs), ensure that the settings on your test site match those on the live site.

Section Six - Plugins and LTI Connections Review

The final area of focus is on plugins and LTI connections. Start by confirming the presence of all essential plugins on your test site. Navigate to Site Administration > Plugins > Plugin overview to access a complete list of plugins. If any rows in the table have a yellow or red background color, it indicates that the associated plugin is listed as installed in your test site’s database but is not currently enabled or installed on your test site’s codebase. Ensure these missing plugins were also absent on your live site; otherwise, inform the Moodle engineer overseeing your site migration and request the installation of the missing plugin(s). You may also request your engineer to perform a plugin cleanup to remove any missing or unused plugins from the test site’s database and the plugins overview page.

Your live site may contain custom plugins, proprietary plugins, and more complex plugins that may add some complexity to your migration.  If you are aware of any custom plugins or proprietary plugins in use on your current live site, please inform your Moodle engineer as soon as possible. These would be plugins that need special setup or additional setup that may not be inherently obvious. Proprietary plugins are plugins that need to be purchased from the plugin creator which may add extended features or customizations. Custom plugins would be ones created by a developer, possibly in house or contracted, that are not available in the Moodle plugin repository.

Lastly, validate that all necessary LTI tools are configured and functioning correctly. Visit Site Administration > Plugins > Activity modules > External tool > Manage tools to view a complete list of configured LTIs. Confirm the presence of all LTIs from your live site on the test site. Test each LTI by adding it as an activity to a test course and ensure that, after saving the LTI settings, you can access the activity, and it loads its content correctly. If any LTI activities fail to load properly, revisit the settings for the specific LTI from the Manage tools page mentioned earlier.

Ensure to check your External Services (APIs) as these may or may not function during the test migration.  Be aware you may have to change some settings during the live migration/post migration. These can be found in Site Administration > Server > Web Services > External Services.  Here, there will be a number of built in services and potentially Custom Services.

You will want to make sure that these services still work post migration. So, keep note of these.

If they do not, you may have to work with your external vendors to reconfigure URLs, IPs, or other factors that may have changed during the migration.

Key Takeaway

Emphasizing a meticulous testing approach, you can ensure a thorough examination of your test migration, identifying and resolving any issues before moving forward with the live migration.

Did you find it helpful? Yes No

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