WEBSERVICE Integration - COURSE
Versions
Current version
2.0 (2025011503)
2.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2025011503
Version release name: 2.0
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to automatically create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates the course creation process. Additionally, the plugin now includes a scheduled task within Moodle, which runs periodically via cron, to ensure that the courses in Moodle are always in sync with the courses available from the external endpoint.
The plugin mirrors its courses with an external endpoint, which is very useful for institutions that use an external academic system outside of Moodle.
Installation
- Copy the plugin folder to moodle_root/local/.
- Access the Moodle admin panel to finalize the installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from an external microservice.
- Creates courses automatically from the courses array in the response.
- Enrolls users in courses automatically.
- Generates a CSV of missing users that were not found in Moodle.
- Includes a cron task to synchronize the courses in Moodle periodically with the courses from the microservice.
Requirements
- Moodle 4.x or higher.
- PHP 7.3 or higher.
- Admin permission.
Usage
- Set the correct endpoint for your API request.
- Access the plugin page in Moodle: Site administration -> Courses -> WEBSERVICE Integration - COURSE
- Confirm courses creation.
- Download the CSV report of missing users, if applicable.
- The cron task will run periodically to sync courses from the microservice to Moodle.
Json Format
{
"courses": [
{
"shortname": "unique_field1",
"name": "Exemple name - Geography Course",
"participants": [
{ "username": "00000000074" },
{ "username": "00000000076" },
{ "username": "00000000077" },
{ "username": "00000000078", "roleid": "teacher" },
{ "username": "00000000069" }
]
},
{
"shortname": "unique_field2",
"name": "Exemple name - Physics Course",
"participants": [
{ "username": "00000000023", "roleid": "teacher" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
},
{
"shortname": "unique_field3",
"name": "Exemple name - Math Course",
"participants": [
{ "username": "00000000023", "roleid": "professor" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
}
]
}
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
- index.php: Handles user interaction and workflow.
- lib.php: Helper functions for course creation and enrollment.
- lang/en/local_webcourse.php: Language strings.
- classes/task/create_course_enrol_users_task: Task responsible for periodic course synchronization.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
2.0 (2025011502)
2.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2025011502
Version release name: 2.0
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to automatically create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates the course creation process. Additionally, the plugin now includes a scheduled task within Moodle, which runs periodically via cron, to ensure that the courses in Moodle are always in sync with the courses available from the external endpoint.
The plugin mirrors its courses with an external endpoint, which is very useful for institutions that use an external academic system outside of Moodle.
Installation
- Copy the plugin folder to moodle_root/local/.
- Access the Moodle admin panel to finalize the installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from an external microservice.
- Creates courses automatically from the courses array in the response.
- Enrolls users in courses automatically.
- Generates a CSV of missing users that were not found in Moodle.
- Includes a cron task to synchronize the courses in Moodle periodically with the courses from the microservice.
Requirements
- Moodle 4.x or higher.
- PHP 7.3 or higher.
- Admin permission.
Usage
- Set the correct endpoint for your API request.
- Access the plugin page in Moodle: Site administration -> Courses -> WEBSERVICE Integration - COURSE
- Confirm courses creation.
- Download the CSV report of missing users, if applicable.
- The cron task will run periodically to sync courses from the microservice to Moodle.
Json Format
{
"courses": [
{
"shortname": "unique_field1",
"name": "Exemple name - Geography Course",
"participants": [
{ "username": "00000000074" },
{ "username": "00000000076" },
{ "username": "00000000077" },
{ "username": "00000000078", "roleid": "teacher" },
{ "username": "00000000069" }
]
},
{
"shortname": "unique_field2",
"name": "Exemple name - Physics Course",
"participants": [
{ "username": "00000000023", "roleid": "teacher" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
},
{
"shortname": "unique_field3",
"name": "Exemple name - Math Course",
"participants": [
{ "username": "00000000023", "roleid": "professor" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
}
]
}
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
- index.php: Handles user interaction and workflow.
- lib.php: Helper functions for course creation and enrollment.
- lang/en/local_webcourse.php: Language strings.
- classes/task/create_course_enrol_users_task: Task responsible for periodic course synchronization.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
2.0 (2025011501)
2.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2025011501
Version release name: 2.0
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to automatically create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates the course creation process. Additionally, the plugin now includes a scheduled task within Moodle, which runs periodically via cron, to ensure that the courses in Moodle are always in sync with the courses available from the external endpoint.
The plugin mirrors its courses with an external endpoint, which is very useful for institutions that use an external academic system outside of Moodle.
Installation
- Copy the plugin folder to moodle_root/local/.
- Access the Moodle admin panel to finalize the installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from an external microservice.
- Creates courses automatically from the courses array in the response.
- Enrolls users in courses automatically.
- Generates a CSV of missing users that were not found in Moodle.
- Includes a cron task to synchronize the courses in Moodle periodically with the courses from the microservice.
Requirements
- Moodle 4.x or higher.
- PHP 7.3 or higher.
- Admin permission.
Usage
- Set the correct endpoint for your API request.
- Access the plugin page in Moodle: Site administration -> Courses -> WEBSERVICE Integration - COURSE
- Confirm courses creation.
- Download the CSV report of missing users, if applicable.
- The cron task will run periodically to sync courses from the microservice to Moodle.
Json Format
{
"courses": [
{
"shortname": "unique_field1",
"name": "Exemple name - Geography Course",
"participants": [
{ "username": "00000000074" },
{ "username": "00000000076" },
{ "username": "00000000077" },
{ "username": "00000000078", "roleid": "teacher" },
{ "username": "00000000069" }
]
},
{
"shortname": "unique_field2",
"name": "Exemple name - Physics Course",
"participants": [
{ "username": "00000000023", "roleid": "teacher" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
},
{
"shortname": "unique_field3",
"name": "Exemple name - Math Course",
"participants": [
{ "username": "00000000023", "roleid": "professor" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
}
]
}
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
- index.php: Handles user interaction and workflow.
- lib.php: Helper functions for course creation and enrollment.
- lang/en/local_webcourse.php: Language strings.
- classes/task/create_course_enrol_users_task: Task responsible for periodic course synchronization.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
2.0 (2025011500)
2.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2025011500
Version release name: 2.0
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to automatically create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates the course creation process. Additionally, the plugin now includes a scheduled task within Moodle, which runs periodically via cron, to ensure that the courses in Moodle are always in sync with the courses available from the external endpoint.
The plugin mirrors its courses with an external endpoint, which is very useful for institutions that use an external academic system outside of Moodle.
Installation
- Copy the plugin folder to moodle_root/local/.
- Access the Moodle admin panel to finalize the installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from an external microservice.
- Creates courses automatically from the courses array in the response.
- Enrolls users in courses automatically.
- Generates a CSV of missing users that were not found in Moodle.
- Includes a cron task to synchronize the courses in Moodle periodically with the courses from the microservice.
Requirements
- Moodle 4.x or higher.
- PHP 7.3 or higher.
- Admin permission.
Usage
- Set the correct endpoint for your API request.
- Access the plugin page in Moodle: Site administration -> Courses -> WEBSERVICE Integration - COURSE
- Confirm courses creation.
- Download the CSV report of missing users, if applicable.
- The cron task will run periodically to sync courses from the microservice to Moodle.
Json Format
{
"courses": [
{
"shortname": "unique_field1",
"name": "Exemple name - Geography Course",
"participants": [
{ "username": "00000000074" },
{ "username": "00000000076" },
{ "username": "00000000077" },
{ "username": "00000000078", "roleid": "teacher" },
{ "username": "00000000069" }
]
},
{
"shortname": "unique_field2",
"name": "Exemple name - Physics Course",
"participants": [
{ "username": "00000000023", "roleid": "teacher" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
},
{
"shortname": "unique_field3",
"name": "Exemple name - Math Course",
"participants": [
{ "username": "00000000023", "roleid": "professor" },
{ "username": "00000000076" },
{ "username": "00000000087"},
{ "username": "00000000078"}
]
}
]
}
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
- index.php: Handles user interaction and workflow.
- lib.php: Helper functions for course creation and enrollment.
- lang/en/local_webcourse.php: Language strings.
- classes/task/create_course_enrol_users_task: Task responsible for periodic course synchronization.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
1.0 (2024121300)
1.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024121300
Version release name: 1.0
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Release Notes - Local WEBCOURSE Plugin
Version 1.0 (2024-12-13)
Initial Release
This is the initial release of the Local WEBCOURSE plugin for Moodle.
Features:
- Automatic Course Creation: Fetches course data from an external microservice and automatically creates courses in Moodle.
- User Enrollment: Enrolls users in the newly created courses based on their usernames fetched from the microservice. If users are already present in Moodle, they are directly enrolled. Non-existent users are logged in a downloadable CSV file for later manual enrollment.
- Customizable Role for Enrollment: The default role for enrolled users is set to student, but this can be changed in the plugin settings.
- Configurable External API Endpoint: Set the URL of the external microservice API for course and participant data retrieval.
- Course Category Selection: Admins can specify the category where new courses will be created during the configuration process.
- Error Handling: Displays clear error messages in case of invalid API responses or missing user information, providing a CSV file of missing users for manual handling.
Installation:
- Download and place the plugin folder in the
moodle_root/local/directory. - Complete the installation by accessing the Moodle Admin panel and following the configuration steps.
- Set the endpoint URL of the external API and specify the course category to be used for course creation under Plugins > Local Plugins.
Changes:
- New Plugin: Local WEBCOURSE is now available to integrate Moodle with an external microservice to automatically create courses and manage enrollments.
- External API Format: The plugin works with an external microservice returning a structured JSON format for courses and participants.
1.0 (2024121200)
1.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024121200
Version release name: 1.0
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates course setup.
Installation
- Copy the plugin folder to
moodle_root/local/. - Access the Moodle admin panel to finalize installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from a microservice.
- Creates courses automatically.
- Enrolls users based on usernames.
- Generates a CSV for users not found in Moodle.
Requirements
- Moodle 4.x or higher
- PHP 7.3 or higher
- Admin permission
Usage
- Set the correct endpoint for your requisition.
- Access the plugin page in Moodle:
/local/webcourse/index.php. - Input the course ID from the external microservice.
- Confirm course creation.
- Download the CSV of missing users, if applicable.
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
index.php: Handles user interaction and workflow.lib.php: Helper functions for course creation and enrollment.lang/en/local_webcourse.php: Language strings.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
1.11 (2024121003)
1.11
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024121003
Version release name: 1.11
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates course setup.
Installation
- Copy the plugin folder to
moodle_root/local/. - Access the Moodle admin panel to finalize installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from a microservice.
- Creates courses automatically.
- Enrolls users based on usernames.
- Generates a CSV for users not found in Moodle.
Requirements
- Moodle 4.x or higher
- PHP 7.3 or higher
- Admin permission
Usage
- Set the correct endpoint for your requisition.
- Access the plugin page in Moodle:
/local/webcourse/index.php. - Input the course ID from the external microservice.
- Confirm course creation.
- Download the CSV of missing users, if applicable.
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
index.php: Handles user interaction and workflow.lib.php: Helper functions for course creation and enrollment.lang/en/local_webcourse.php: Language strings.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
1.11 (2024121002)
1.11
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024121002
Version release name: 1.11
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates course setup.
Installation
- Copy the plugin folder to
moodle_root/local/. - Access the Moodle admin panel to finalize installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from a microservice.
- Creates courses automatically.
- Enrolls users based on usernames.
- Generates a CSV for users not found in Moodle.
Requirements
- Moodle 4.x or higher
- PHP 7.3 or higher
- Admin permission
Usage
- Set the correct endpoint for your requisition.
- Access the plugin page in Moodle:
/local/webcourse/index.php. - Input the course ID from the external microservice.
- Confirm course creation.
- Download the CSV of missing users, if applicable.
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
index.php: Handles user interaction and workflow.lib.php: Helper functions for course creation and enrollment.lang/en/local_webcourse.php: Language strings.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
1.11 (2024121001)
1.11
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024121001
Version release name: 1.11
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates course setup.
Installation
- Copy the plugin folder to
moodle_root/local/. - Access the Moodle admin panel to finalize installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from a microservice.
- Creates courses automatically.
- Enrolls users based on usernames.
- Generates a CSV for users not found in Moodle.
Requirements
- Moodle 4.x or higher
- PHP 7.3 or higher
- Admin permission
Usage
- Set the correct endpoint for your requisition.
- Access the plugin page in Moodle:
/local/webcourse/index.php. - Input the course ID from the external microservice.
- Confirm course creation.
- Download the CSV of missing users, if applicable.
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
index.php: Handles user interaction and workflow.lib.php: Helper functions for course creation and enrollment.lang/en/local_webcourse.php: Language strings.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
1.1 (2024121000)
1.1
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024121000
Version release name: 1.1
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates course setup.
Installation
- Copy the plugin folder to
moodle_root/local/. - Access the Moodle admin panel to finalize installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from a microservice.
- Creates courses automatically.
- Enrolls users based on usernames.
- Generates a CSV for users not found in Moodle.
Requirements
- Moodle 4.x or higher
- PHP 7.3 or higher
- Admin permission
Usage
- Set the correct endpoint for your requisition.
- Access the plugin page in Moodle:
/local/webcourse/index.php. - Input the course ID from the external microservice.
- Confirm course creation.
- Download the CSV of missing users, if applicable.
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
index.php: Handles user interaction and workflow.lib.php: Helper functions for course creation and enrollment.lang/en/local_webcourse.php: Language strings.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza
1.0 (2024120300)
1.0
Plugin type: Local plugins
Frankenstyle component name: local_webcourse
Version build number: 2024120300
Version release name: 1.0
Maturity: Stable
Supported Moodle versions: 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/maxwell-hgr/moodle-local_webcourse
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/maxwell-hgr/moodle-local_webcourse/issues
Moodle Plugin: Local WEBCOURSE
Description
This plugin integrates Moodle with an external microservice to create courses and enroll users. It validates users, generates a CSV file for non-existent users, and automates course setup.
Installation
- Copy the plugin folder to
moodle_root/local/. - Access the Moodle admin panel to finalize installation.
- Configure the external API endpoint in the plugin settings.
Features
- Fetches course data from a microservice.
- Creates courses automatically.
- Enrolls users based on usernames.
- Generates a CSV for users not found in Moodle.
Requirements
- Moodle 4.x or higher
- PHP 7.3 or higher
- Admin permission
Usage
- Set the correct endpoint for your requisition.
- Access the plugin page in Moodle:
/local/webcourse/index.php. - Input the course ID from the external microservice.
- Confirm course creation.
- Download the CSV of missing users, if applicable.
Error Handling
- Displays errors for invalid inputs or missing API responses.
- Warns about missing users with a downloadable CSV report.
File Structure
index.php: Handles user interaction and workflow.lib.php: Helper functions for course creation and enrollment.lang/en/local_webcourse.php: Language strings.
License
This project is licensed under the GNU General Public License.
Author
Maxwell H. S. Souza