WT JShopping Swiper.js carousel

Plugin dependencies

The plugin requires an installed and configured library to integrate Joomla 4 / Joomla 5 and Moodle - WT JMoodle library.

Plugin features

  • creating a Moodle user when creating or self-registering a Joomla user
  • updating Moodle user data when updating Joomla user data. So far, standard user data is being synchronized: name, login, password, etc. Mapping of user fields has not yet been implemented.
  • deleting a Moodle user when deleting a Joomla user
  • SSO - Single Sign On - single sign-on for both engines (on cookies). Optional.

Synchronization of Joomla 4 / Joomla 5 and Moodle 4.3 users

Data synchronization occurs automatically at the time of actions on users in Joomla. The database contains a table of links between Joomla and Moodle users, which is created when installing the WT JMoodle library. On the Moodle side, the external service needs to be allowed to use методов coreusercreate_users, coreuserupdate_users,

You can check if they are available for the current configuration in the plugin User - WT JMoodle User sync.

SSO (Single Sign On) for Joomla and Moodle


Single sign-on technology is used by those companies that have multiple sites and services for their users. We are all used to the fact that Google, Facebook, VK and other large sites allow us to use the same account (account) for all their services (mail, advertising account, social network, etc.). Usually for the tasks of storing user credentials, authorization (login / logout) and interaction with other services of the company, a separate service (website) is allocated, which is called the Identity portal. In the diagram below, it is designated SSO.

And in this case, if we have only 2 sites (Joomla and Moodle), then to manage users, we need to raise another portal site - identity portal. If there are only 2 sites, such a solution will be rather redundant and it is easier to set up direct data synchronization between the two engines. If the prospect of growth to several independent services is assumed, then in this case you need to configure the classic SSO.

This plugin is a solution for direct integration of Joomla and Moodle without using Identity portal, it is not inherently a classic SSO, but provides this functionality.

Why this?

First of all, I want to mention an already existing solution to the same problem - Joomdle component. This extension was considered as a possible way to solve the problem of integrating Joomla and Moodle, including single sign-on. Some approaches were then "spied on" in it (the GPL license allows this).

However, Joomdle appeared around 2008-2009 and has changed little internally since then. Under the hood of this component is code that uses (at the time of writing this text in January 2024) the methods of Joomla 1.6-2.5. This means that on Joomla 5, if it will work without errors, then only with the backward compatibility plugin. And it won't work on Joomla 6 anymore. The developer has declared the functionality of the component on Joomla 4.

Since the codebase of the component and related plugins is quite large, its upgrade to modern Joomla standards is unlikely to happen soon, if at all. It should also be borne in mind that Moodle also did not stand still and it has a fairly developed REST API, while Joomdle used its entry point to LMS Moodle bypassing the REST API. This has historically happened due to the fact that Joomdle added its functionality probably before it appeared in the REST API Moodle.

Therefore, it was decided to create a library WT JMoodle library to work with the Moodle REST API from Joomla, as well as to create plugins to solve various tasks for working with Moodle from Joomla that will use this library.

GitHub: https://github.com/WebTolk/WT-JMoodle-user-sync
WT JMoodle auth for Moodle https://web-tolk.ru/en/dev/moodle/wt-jmoodle-auth-plagin-dlya-moodle

Read more

© 2024 Extly, CB - All rights reserved.