Revolutionizing Learning with Headless LMS Solutions

 
 
Moodle as Headless
 
LMS | CONTENT | MOBILE | CONSULTING | GAMIFICATION | MEC TRAINING |
IMS-LTI INTEGRATIONS | LEARNING ANALYTICS
 
 
ADDRESS:
C. de València, 359 08009 Barcelona
C. de Méndez Álvaro, 20, 28045 Madrid
 
EMAIL:
Xavier Paz - xavier@tresipunt.com
José María Tomás -
jmtomas@tresipunt.com
 
3ipunt Senior Developer
xavier@tresipunt.com
 
 
WHO ARE WE?
 
 
 
Xavier Paz
 
3ipunt Senior Developer
jmtomas@tresipunt.com
 
 
José María
Tomás
 
ABOUT 
US
 
3ipunt
 is an official 
Moodle Premium Partners,
members of the
 1EdTech™ (
Contributing
Member
) 
and 
AWS 
(Amazon Web Services)
partners, as well as members of 
CatPL 
and
EdutechCluster
. We are focused in offering
customized solutions in information and
communications technology, with a high added
value, a reduced cost and a close and accessible
treatment.
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.
 
 
 
AGENDA
 
 
Introduction & scenario
Approach
Headless system
Tokens
 
Services
Documentation
Roadmap
Q & A
 
THE 
TALE
 
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.
 
Introduction
 
SCENARIO
 
THE 
SET-UP
 
APPROACH
 
Service based architecture.
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.
 
Moodle adaptation factor.
Is Moodle ready to work as
headless? Not sure, but it seems
possible. Let’s check headless JSON
and Restful canon.
Connect Moodle with different
technologies: React, Angular, Node,
Python, VUE. Using moodle does
not limit you to PHP.
 
THE 
HOOK
 
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.
 
TOKENS
 
App: 
Login, synchronize app configuration,
communicate with Moodle. Must be accessible
for the app (
hardcoded,endpoint, etc..)
Admin: 
Used for admin tasks and user
management (
enrolments, user uploads, course
management, etc…
)
 
Individual user: 
Used after login, for
user actions in Moodle (
grade, answers,
profile, activity in course
) Useful for
Moodle to track user activity in the
platform. Possibility to apply user
profiles.
 
Generate and user different types of tokens:
 
USERS AND
CAPABILITIES
 
A token for each individual user account
Get Moodle user context and capabilities.
Capabilities associated to each individual
user token type.
 
Use Moodle capability system
After login, the app receives the
user token to keep individual
tracking of user activity in the
platform.
 
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.
 
SERVICES
 
 
SERVICES
 
Course modules service
example json response:
 
SERVICES
 
Login service example
json response:
 
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.
 
THE 
WIRE
 
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
 
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.
..
 
h5p CONTENT
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...
 
MANAGE COURSES
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.
 
SUBMIT QUIZ
SERVICE
 
 
THE RESULTS
 
Moodle dashboard courses >> JSON response >> External app.
 
…MORE RESULTS
 
Moodle course sections >> JSON response >> External app
 
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
 
DOCUMENT IT
 
Use a service documentation management system for future
improvements and developments.
 
THE 
STING
 
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.
 
THE
SHUT-OUT
 
ANY
 
QUESTION?
 
 
Moodle as Headless
 
LMS | CONTENT | MOBILE | CONSULTING | GAMIFICATION | MEC TRAINING |
IMS-LTI INTEGRATIONS | LEARNING ANALYTICS
 
 
ADDRESS:
C. de València, 359 08009 Barcelona
C. de Méndez Álvaro, 20, 28045 Madrid
 
EMAIL:
Xavier Paz - xavier@tresipunt.com
José María Tomás -
jmtomas@tresipunt.com
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.

  • Learning Management System
  • Technology Solutions
  • Customized Services
  • Integration
  • E-Learning

Uploaded on May 12, 2024 | 0 Views


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.

E N D

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


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#