Hi Champs,

After a break here is some great stuff related to Moodle the world know LMS integration with Sitecore(.NET website) application to have your data sync in both the system to have great user experience to authors and editors.

Below are the steps by which you can achieve the Moodle Integration.

As Moodle is created/using php we have two ways to connect our application to Moodle which as below.

Connecting to MySQL database of Moodle and fetch the data from db.

  1. Need to create the stored procedure.
  2. Then need to add this stored procedure in the application.
  3. By the help of pipeline we can add the Sitecore items from the Moodle data.
  4. Disadvantage of this approach is that it is bulky operation and it will take lot of time.
  5. Second problem is for bulk data migration failure can happen on regular basis because it is a SQL operation with transaction which can fail.

Create the web-service.

  1. We need to create the web-service for our Sitecore application (in php).
  2. Then the integration of this web-service has to be done with the .NET application.
  3. So this approach has to use LMS separately with the Sitecore application so that the content management and learning file management will not create the ambiguity.
  4. In this approach the Content editor of Sitecore can manage the LMS also and all part of LMS system (Moodle) are configurable from the Sitecore.
  5. Another advantage of this approach that we can directly import all the data from Moodle to show it on the MVC.NET pages with the help of Sitecore wild card.
  6. In Sitecore wildcard you can save the ID’s of Moodle items and can corresponds to Sitecore items so that it is perfect solution to create the page and represent data related to training from Moodle and other stuff from Sitecore.
  7. Another advantage is you can add this service to Scheduler which will create the Sitecore item for respective newly created Moodle item and it will utilized with website.

Below are some references where we have details about Moodle Architecture and Implementation.

 

Thanks for Browning!!!