Frappe Moodle App
A Frappe v16.x app that integrates with Moodle (v5.1) using the Moodle Web Services REST API. It allows Frappe users to link or create Moodle accounts and access Moodle directly from a Frappe website or workspace.
- Author: jdpark7
- Repository: https://github.com/jdpark7/frappe-moodle-app
- GitHub stars: 0
- Forks: 0
- License: GPL-3.0
- Category: Integrations
- Maintenance: Minimally Maintained
Install Frappe Moodle App
bench get-app https://github.com/jdpark7/frappe-moodle-app
Add the Frappe Gems badge to your README
Maintain Frappe Moodle App? Paste this into your README:
[](https://frappegems.com/gems/apps/jdpark7/frappe-moodle-app)
About Frappe Moodle App
frappe-moodle-app
A Frappe v16.x app that integrates with Moodle (v5.1) using the Moodle Web Services REST API. It allows Frappe users to link or create Moodle accounts and access Moodle directly from a Frappe website or workspace.
Frappe App Name: moodle
Features
- Link Frappe users to Moodle accounts using email matching
- Create Moodle user accounts from Frappe (via Moodle REST API)
- Secure storage of Moodle service token using Frappe Password fields
- Website dashboard & workspace UI for Moodle integration
- Password-safe UX (no password disclosure, autocomplete disabled)
Requirements
- Frappe Framework: 16.x
- Moodle: 5.1
- Moodle Web Services enabled (REST)
- A dedicated Moodle service user (e.g.
ws_frappe)
Moodle Setup (Web Services)
1) Enable Web Services
Moodle Admin: - Site administration → Advanced features → Enable web services - Site administration → Server → Web services → Manage protocols - Enable REST
2) Create a service user
Create a Moodle user (example):
- Username: ws_frappe
- Role: minimal permissions only
3) Create External Service & Token
- Site administration → Server → Web services → External services
- Create a service (e.g.
Frappe Integration)
- Create a service (e.g.
- Add required functions (see below)
- Manage tokens
- Create a token for user
ws_frappeand the service
- Create a token for user
4) Required External Functions (minimum)
Depending on features used:
- core_user_get_users_by_field
- core_user_create_users
Add additional functions only if your dashboard logic requires them.
Installation (Frappe Bench)
1) Clone the app
cd /path/to/frappe-bench/apps
git clone https://github.com/jdpark7/frappe-moodle-app.git moodle
2) Install the app on your site
cd /path/to/frappe-bench
bench --site [your-site-name] install-app moodle
3) Run migrations and build assets
bench --site [your-site-name] migrate
bench build
bench restart
Related Integrations apps for Frappe & ERPNext
- Insights — Open Source Business Intelligence Tool
- Raven — Simple, open source team messaging platform
- Frappe Whatsapp — WhatsApp cloud integration for frappe
- Frappe Assistant Core — Infrastructure that connects LLMs to ERPNext. Frappe Assistant Core works with the Model Context Protocol (MCP) to expose ERPNext functionality to any compatible Language Model
- Biometric Attendance Sync Tool — A simple tool for syncing Biometric Attendance data with your ERPNext server
- Frappe React Sdk — React hooks for Frappe
- Frappe Js Sdk — TypeScript/JavaScript library for Frappe REST API
- Mcp — Frappe MCP allows Frappe apps to function as MCP servers