Revolutionizing Learning with Headless LMS Solutions

Slide Note
Embed
Share

Offering tailored technology solutions, 3ipunt is an official Moodle Premium Partner focusing on customized communications technology services. Utilizing a service-based architecture, they enable Moodle to work as a headless system by serving data to external interfaces. Their adaptive approach allows seamless integration with various technologies, making learning more dynamic and engaging. 3ipunt's expertise lies in providing cost-effective solutions with a personalized touch, enhancing the e-learning experience for users.


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.



Uploaded on May 12, 2024 | 0 Views


Presentation Transcript


  1. Moodle as Headless LMS | CONTENT | MOBILE | CONSULTING | GAMIFICATION | MEC TRAINING | IMS-LTI INTEGRATIONS | LEARNING ANALYTICS EMAIL: Xavier Paz - xavier@tresipunt.com Jos Mar a Tom s - jmtomas@tresipunt.com ADDRESS: C. de Val ncia, 359 08009 Barcelona C. de M ndez lvaro, 20, 28045 Madrid #letselearntogether

  2. WHO ARE WE? Xavier Paz Jos Mar a Tom s 3ipunt Senior Developer xavier@tresipunt.com 3ipunt Senior Developer jmtomas@tresipunt.com #letselearntogether

  3. 3ipunt is an official Moodle Premium Partners, members of the 1EdTech Member) and AWS (Amazon partners, as well as members of CatPL and EdutechCluster. We are focused in offering customized solutions communications technology, with a high added value, a reduced cost and a close and accessible treatment. (Contributing Web Services) ABOUT US in information and We also identify ourselves with the concept bespoke: we like to provide a high added value to our projects, so these also provide things to us. We offer technology as a service to our customer. At 3ipunt we adapt technology to the customer needs to offer an customized integral solution for each project and scenario. #letselearntogether

  4. AGENDA Introduction & scenario Services Approach Documentation Headless system Roadmap Tokens Q & A #letselearntogether

  5. THE TALE #letselearntogether

  6. Introduction Client with Moodle Workplace and additional external apps that need to consume it. Different technologies and languages (Angular and .NET) Makes no sense to build a custom LMS from scratch. Consume Moodle as a service? Users still need to use Moodle as usual. Use famous content service as question and resources bank for courses. #letselearntogether

  7. SCENARIO #letselearntogether

  8. THE SET-UP #letselearntogether

  9. APPROACH Moodle adaptation factor. Service based architecture. Is Moodle ready to work as headless? Not sure, but it seems possible. Let s check headless JSON and Restful canon. Moodle can serve all its data and content to an external interface developed in any technology. Consume moodle common services, following the standard for future coherence. Changes in apps? No problem, logic still valid. Connect Moodle with different technologies: React, Angular, Node, Python, VUE. Using moodle does not limit you to PHP. #letselearntogether

  10. THE HOOK #letselearntogether

  11. HEADLESS SYSTEM Local plugin connects Moodle with the outside world. Any change in Moodle is extended in any connected sources. Use Moodle token system to operate. Additional custom log system for each app based on Moodle standard log system, with additional tracking information for BI. Implement the minimum necessary services. No more, no less. #letselearntogether

  12. TOKENS Generate and user different types of tokens: Individual user: Used after login, for App: Login, synchronize app configuration, user actions in Moodle (grade, answers, communicate with Moodle. Must be accessible profile, activity in course) Useful for for the app (hardcoded,endpoint, etc..) Moodle to track user activity in the Admin: Used for admin tasks and user platform. Possibility to apply user management (enrolments, user uploads, course profiles. management, etc ) #letselearntogether

  13. USERS AND CAPABILITIES Use Moodle capability system A token for each individual user account After login, the app receives the Get Moodle user context and capabilities. user token to keep individual Capabilities associated to each individual tracking of user activity in the user token type. platform. #letselearntogether

  14. SERVICES Goal: Simulate user activity using services. Use moodle standard methods and workflow for each user action (submit assignment, forum post reply, etc ) to keep tracking in Moodle log. Does Moodle already provide the service? Use it. Do not reinvent. Most Moodle Mobile App services use token. Check it out! Keep moodle way of working always in mind (groups, capabilities, enrolments, roles) and merge it to your workflow. #letselearntogether

  15. SERVICES Course modules service example json response: #letselearntogether

  16. SERVICES Login json response: service example #letselearntogether

  17. MOODLE HELPERS Use everything Moodle provides to ensure an easy way of life. Use observers and ad hoc task to automate common or specific task. Listen to Moodle events, to trigger actions on background. Use Moodle APIs (course, user, groupings, auth, log) to deal with Moodle features and actions. Intensive use of APIs to consume external content. #letselearntogether

  18. THE WIRE #letselearntogether

  19. ADDITIONAL SERVICES Moodle already offers services. Useful services that can be extended, but we can go further A generic design to rule them all is not easy Web tokens only valid to operate with a set of services. You need additional tokens for extra services Solution: a token for each set of services CRUDs #letselearntogether

  20. h5p CONTENT SERVICE Problems reproducing the content: iframes, parent window, cross domain. Build url in custom way to allow Moodle to reproduce the h5p into an external source. Prevent h5p redirect and user login, by tokenizing. Moodle need user to have opened session... #letselearntogether

  21. MANAGE COURSES SERVICE Course content and data provided from external source (Nuxeo). CRUD for course management in the Moodle platform through the Nuxeo plugin installed in Moodle, which provide.s all these services... #letselearntogether

  22. SUBMIT QUIZ SERVICE Moodle expects a submit action for each quiz question. Logic in the app for each question type. The external app developer needs to know Moodle to submit responses. App storage to keep the preliminary responses. #letselearntogether

  23. THE RESULTS Moodle dashboard courses >> JSON response >> External app. #letselearntogether

  24. MORE RESULTS Moodle course sections >> JSON response >> External app #letselearntogether

  25. MOODLE CONSUMING A content system that storage some external resources that must be exported into Moodle. Unidirectional communication. Replicate courses with content into Moodle. Use Nuxeo entities and resources. Use of API to gather information from Nuxeo Content synchronization between Moodle and Nuxeo. Preview of the result in Moodle before publishing #letselearntogether

  26. DOCUMENT IT Use a service documentation management system for future improvements and developments. #letselearntogether

  27. THE STING #letselearntogether

  28. ROADMAP Additional securitization JWT multi-factor authentication SSO Security endpoint Use this approach to turn Moodle into a CMS or CDN. Massive use of Restful moodle.org/plugins/webservice_restful Scalability of the architecture. #letselearntogether

  29. THE SHUT-OUT #letselearntogether

  30. ANY QUESTION? #letselearntogether

  31. Moodle as Headless LMS | CONTENT | MOBILE | CONSULTING | GAMIFICATION | MEC TRAINING | IMS-LTI INTEGRATIONS | LEARNING ANALYTICS EMAIL: Xavier Paz - xavier@tresipunt.com Jos Mar a Tom s - jmtomas@tresipunt.com ADDRESS: C. de Val ncia, 359 08009 Barcelona C. de M ndez lvaro, 20, 28045 Madrid #letselearntogether

Related