OpenERP 7 integration with Moodle
OpenERP 7.0, The full featured ERP making the switch from an ERP to a suite of integrated business applications. So far, the world was split between ERPs and best of breed applications. With 7.0, OpenERP combines the key benefits of stand-alone apps (ease of use, quick to deploy, highly customizable, ...) with the integrations and feature coverage only ERPs used to provide to their customers.
Moodle (Modular Object-Oriented Dynamic Learning Environment) is a free source e-learning software platform, also known as a Learning Management System, or Virtual Learning Environment (VLE).It was originally developed by Martin Dougiamas to help educators create online courses with a focus on interaction and collaborative construction of content, and is in continual evolution. The first version of Moodle was released on 20 August 2002.
Moodle has several features considered typical of an e-learning platform, plus some original innovations (like its filtering system). Moodle is very similar to a learning management system. Moodle can be used in many types of environments such as in education, training and development, and business settings.
Some typical features of Moodle are:
- Assignment submission
- Discussion forum
- Files download
- Grading
- Moodle instant messages
- Online calendar
- Online news and announcement (College and course level)
- Online quiz
To integrate openERP with moodle, first you need to install a moodle server(I used moodle 2.4.3 version).Then create an Admin user and activate the web service in moodle.
For activate web service in moodle.
- In moodle, site administration ->plugins ->web services ->manage protocols -> activate the xmlrpc web service.
- In moodle, site administration ->plugins ->web services ->manage tokens -> create a token: When creating token, you need to select a web service.So you can select the existing web service or can create new service for this particular integration.If you want to create seprate web services for this integration, Goto site administration ->plugins ->web services -> External services -> add external service and add the functions.Ex:
- In moodle, site administration ->plugins ->web services ->overview -> activate webservice.
In openERP 7.0, there is a module named 'event_moodle' which help us to interact with a Moodle platform.So first install 'event_moodle' module, when you installing, it will shows a pop up window to set up the configuration such as server name, token, user and password.Provide the server name, created token and the username, password of the admin user(admin user have all the privileges).
Fig: Configuration window when installing module in OpenERP
In this integration, the openERP event is mapped to moodle courses and the registrations of event is mapped to moodle users.So when you create and confirming an event, correspondig course will be created in your moodle server.Similarly when you create and confirming a registration for a particular event, corresponding user will be created in moodle server and a role such as student, teacher etc is assigned to this created user.Here the default role is student.
Fig: Event created in OpenERP
The username and password of this user is randomly generated and it is stored in registration form of OpenERP('Moodle username' and 'Password for Moodle User' fields).This user can login to the moodle server and he can add his own course,blogs,messages etc.
Fig: Registration form in OpenERP with moodle user and password after confirmation
The corresponding course created in moodle server is as shown below:
Fig: Course created in Moodle
The User created corresponding to the confirmed registration of a selected event is shown below. And if we modify the 'Event Confirmation' mail by including the url of moodle, username and password of the registration, help the registrant to get the login details of moodle account.
Fig: User created in Moodle
The role assigned to this created user is as shown below:
Fig: Role of user in Moodle
As OpenERP is a concrete ERP solution and moodle is a good e-learning platform, so developers can extend the functionality by adding new plugins in moodle and corresponding changes in OpenERP.