MooWoodle Set Up Guide

Brief Introduction #

Educate the world and sell courses online with our easy to use MooWoodle Plugin. The responsive plugin is an extension of WooCommerce that acts as a bridge connecting Moodle and WordPress. This means, that MooWoodle lets you sell courses created in your moodle account on your WordPress page.  

Features #

  • Course Integration
  • Enrollment Management
  • User Synchronization
  • Bulk Actions
  • Single Sign-On [PRO]
  • Advanced Course Filtering [PRO]
  • Simplify Your Course Management [PRO]
  • Flexible Subscription Plans (Using WooCommerce Subscription plugin) [PRO]
  • Bulk Course Management [PRO]
  • Variations on Courses [PRO]
  • Multiple Pricing Models [PRO]
  • Subscription Support [PRO]
  • Bundle Product Support [PRO]

Requirements  #

PHP is version 7.2 or greater (compatible with the latest PHP 8.2 too)

WordPress 6.0 or greater 



Moodle Configuration #

The initial and crucial step in using MooWoodle is configuring Moodle. By adjusting your Moodle account settings, you enhance its ability to seamlessly exchange data with WordPress. After the data exchange is successfully configured, you’ll have the capability to display your Moodle courses directly on your WordPress page, simplifying the process, and enhancing your sales efforts.

Enable Web Service #

Enabling the web service empowers you to incorporate functions that facilitate seamless communication between Moodle and WordPress.

Since Moodle has Web Services disabled by default, we will have to enable it. The steps to enable Moodle Web Service are – 

  • Go to the Moodle Dashboard and then navigate to Site Administration.
  • On the Site Administration page present in the Development Section is the Advanced Features option. Click on the advanced features option
  • As the Advanced Features page loads, scroll down and tick the Web Service option and Enable web services for mobile devices
  • Save your changes and proceed to External Services Settings. 

Manage Protocol #

Managing Protocols links one website to another. In this case, we just need to enable the REST protocol. Requirements for easily completing this process is given below.

To enable REST protocol follow this :

  • Go to Site Administration and then navigate to the Server tab.
  • Under the Server tab, you will find the Web Services option. Select Manage Protocols from the List of Web Services.
  • On the Manage Protocols page, click on the eye icon. Once selected, the REST protocol will be activated.
Reference : Manage Protocols

External Service Setting  #

Configuring the External Service involves integrating functions into Moodle that open up communication channels with WordPress. This simplifies the process of transferring course data, ensuring a smoother experience.

To start the configuration of the external service let us take a look at the steps given below – 

  • Go to the Site Administration option of your Moodle Dashboard. Once there select the Server Tab
  • Scroll down the Server Tab and select External Services found beside the Web Service section. 
  • Once you have selected the External service option you will be directed to the External Service Page. On the External service page, go to the Custom Services section.
  • To add an external service select the Add button available under Custom Services section. Once you have selected the Add button you will be asked to provide a name for the service. Name your service as ‘MooWoodle” for convenience and select  Add Service
  • Enable “Can download files” and “Can upload files“, if you are synching images from Moodle to WordPress.
  • Do not enable the “Authorised users only” option.
  • After you added the Service add the Functions. To do this simply return to the external service page click the Function button of your MooWoodle Service. You will notice you are being directed to the Functions page.
  • On the Function page, select the add option and copy-paste the codes given below – 
1core_webservice_get_site_infoReturn some site info / user info / list web service functions
2core_user_create_usersThis code will help in creating users
3core_user_get_usersUsing this code the client can search for users meeting the parameters
4core_user_update_usersWith the help of this code, the client can update his/her users
5core_course_get_coursesClients can get courses by adding this course 
6core_course_get_categoriesCourse categories will be available once this code is added
7enrol_manual_enrol_userThis code is required to enrol new users.
8core_user_delete_usersDelete users.
9core_course_get_courses_by_fieldThis code is required to enroll new users.
10enrol_manual_unenrol_usersThis code is required to enroll new users.
11auth_moowoodle_user_syncSync user data with WordPress or external source. [For MooWoodle Pro only]
  • Once all Functions are added return to the Site administration page. 

Access Token #

We are sure you remember how we promised to teach you how to generate the Access Token Required for your MooWoodle Settings. To do so all you have to do is – 

  • Go to Site Administration and then navigate to the Server tab.
  • Under the Server tab, you will find the Web Services option. From the list of web services select the Manage Tokens option. 
  • On the Manage Tokens page select Create Token. Once selected you will be directed to the Create Token page.
  • In the Create Token Page add the following option –
    • User – This refers to the person managing the Moodle. In this case, selected Admin user. 
    • Service – the service implies the external service added by you. In our case, it is the MooWoodle we had added previously. 
    • IP restriction – You can add an IP restriction if required or leave it blank. It is not mandatory and you can happily skip this option.
    • Valid Date – Enable and add the Date till which your courses would be available. In case you plan to make it available at all times skip this option. 
  • Once all required information is added select Save changes. After you have saved your changes you will be re-directed to the Manage Tokens page. 
  • In the Manage Tokens Page, the Token Code will be displayed. Copy this code and paste it to your MooWoodle Setting available on WordPress. 
Reference : Generate Access Token

MooWoodle Configuration #

When you successfully configure moodle, the next part is the configuration of WordPress.

The configuration of WordPress comes under 4 Sections :

  1. Settings
  2. All Courses
  3. Manage Enrolment
  4. Synchronization

Settings #

The settings tab primarily serves the purpose of linking your WordPress site with your Moodle site. To streamline this connection process, we’ve divided it into four distinct sections:

General #

In this section, you’ll establish the connection between Moodle and WordPress using the following tabs:

  • Moodle Site URL: Here, you’ll enter the Moodle site URL, which our plugin will use to retrieve course data.
  • Moodle Access Token: To enable the connection with Moodle, a token is required. You can learn how to create token from here. Alternatively, you can simply log into your Moodle site and go to Dashboard => Site Administration => Server => Web Services => Manage Tokens. Copy the token from your Moodle site and paste it here.
  • Test Connection: This handy option allows you to verify whether your WordPress site is successfully connected to Moodle. If any configuration issues arise, you can access the log button for detailed information on why the connection may not have been established correctly.
  • User Profile Data: The user information setting helps you update the information of any new user purchasing your courses. So, information on new candidates would be available on your moodle account as soon as he/she signs in.
  • Timeout: When WordPress attempts to establish communication with Moodle, there is a possibility that the time taken for this communication exceeds the server’s configured timeout settings. To address this situation, we provide you with the option to adjust the timeout settings as needed.
  • Advance Log: Enabling advanced log settings allows the system to record and store detailed error information and advanced diagnostic data. This helps in capturing and storing comprehensive error-related information for further analysis and troubleshooting.

Display #

The configuration of the Display tab lets you decide about what and where your wish to present your courses. These details make it easier for your learners to know more about your courses. 

SSO [Pro] #

Experience seamless login and logout synchronization between your Moodle™ software and WordPress platforms. Discover how this automated process can save you time and eliminate login-related hassles for both you and your learners.

To facilitate the Single Sign-On process, you will need to create a secret key. The secret key is similar to a password, but it must be alphanumeric and cannot contain any special characters or spaces. For example, a valid secret key would be “1a2b3c4d5e6f7g8”. Otherwise single sign-on wouldn’t work. 

Auto-generating unique codes will help you to create the token as per your need. Then simply copy this code and add the same on moodle end.

Log #

The “Log” option serves as a valuable tool for troubleshooting any connectivity issues between your store and Moodle. It offers a wealth of information and tools to help you pinpoint the root cause of your store’s inability to connect with Moodle. This enables you to identify the necessary changes needed for a successful resolution.

All Courses #

The All Courses section gives the admin a list of all courses in the site. In this page admin can see the following options for each product :

  • Course Name
  • Short Name
  • Product Name of that course
  • Category
  • Enrolled student number
  • The date of the course added
  • Action gives admin the option to Sync the following data regarding courses (Available in Pro)
    • Sync Course Data: If you’ve made changes to courses in Moodle, this option allows the admin to update the same data for that course in WordPress. However, it won’t update the data for the product.
    • Sync Course Data & Update Product : This action on the other hand will update data for for course and it’s product in WordPress.

All Enrolments (Pro) #

All Enrollments” option displays a list of users enrolled in your courses. On this page, you’ll find the following information about the students:

  • Course Name
  • Students Name
  • Enrolled Date
  • Action to unenroll a student

Synchronization #

As discussed MooWoodle is the bridge that connects Moodle to WordPress and WooCommerce.

  • Realtime User Sync [PRO]: This feature enables automatic user synchronization between Moodle and WordPress. When a new user is added on one platform, our system instantly syncs their profile to the other, sending email notifications for swift and informed user updates. This ensures a smooth and unified experience across both platforms.
  • User Information [PRO]: You can choose which user profile data will synchronize when users are transferred between Moodle and WordPress. Thus, if you have chosen to sync only the Full Name field, any new user creations or updates to existing orders will result in the synchronization of their full name between WordPress and Moodle.
  • Existing Users [PRO]: You can select the user synchronization direction you need i.e. from Moodle to WordPress or from WordPress to Moodle.
  • Course Synchronization: One of the prime tasks of this bridge is to synchronize your Moodle data with that of WordPress. This way you don’t have to worry about transferring data back and forth. To simplify the synchronization process, we have divided this into 5 parts:
  1. Moodle Courses : Enabling this option will let your Moodle courses synchronize with that of WordPress. This way students purchasing your courses from the WordPress site can have access to data present in Moodle.
  2. Moodle Course Categories: Similar to the previous settings, enabling this option will let you synchronize your moodle course categories with that of WordPress. So, if you are selling more than one course of two different categories that too would be available to your users.
  3. Create and Update Products: To convert your Moodle courses into WooCommerce ‘products’ you need to toggle this option.
  4. Create New Products (Pro): If you’ve added new courses in Moodle and want to create products only for them, select this option. It won’t affect your old store products.
  5. Update Existing Product (Pro) : If you have edited any courses in Moodle, this option will update it’s product too in your store.
  6. Course Images (Pro): This option will fetch images of the courses from Moodle to WordPress products.

Create a Moodle Course Product  #

To create a course that can be sold on your website, you must follow the given method- 

  • Go to the Product Menu option available on your WordPress Dashboard. Once the Product option is selected, you can click on the All Product sub-menu option
  • On the All Product page, navigate to the course you wish to sell. Hover your cursor over the course of your choice and select the edit option after it appears. After you select the edit option will be transported to the Course page. 
  • Once the Course page appears, you can edit the price by dragging your mouse over the data meta box.
  • Scroll below, and you will see the Course Id field. As your WordPress is synced with Moodle, Courses created by you will appear as options. Select the required course. 
  • Once all changes have been made you can select the Update button and sell your courses. 

Note: Make sure the Automatically Creates Products From Courses option is enabled or else you will be unable to edit and add a price for your courses. 

WorkFlow  #

With this, we come to the end of our tutorial. We hope this tutorial will help you sell and educate people willing to learn your expertise. 

Powered by BetterDocs