Julio Montoya ecdc2037e2 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
..
lang 7f6a146fd3 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
src ecdc2037e2 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
README.md af9df9ea55 Update Create Drupal User plugin's documentation %!s(int64=8) %!d(string=hai) anos
config.php 7f6a146fd3 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
index.php 7f6a146fd3 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
install.php 7f6a146fd3 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
plugin.php 7f6a146fd3 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos
uninstall.php 7f6a146fd3 Applied fixes from FlintCI %!s(int64=6) %!d(string=hai) anos

README.md

Create Drupal user plugin

This plugin creates a user on a Drupal portal when a user is registered in Chamilo.

This uses the Hook mechanism available to Chamilo plugins: when enabling this plugin, the HookCreateDrupalUser is automatically added to the hooks stack, and the UserManager::create_user() method calls the HookCreateUser hook and notifies it, resulting in the plugin code to be executed.

The Drupal portal settings must be configured in the configuration panel for the plugin. A SOAP call is then initiated inside the plugin code, that will use the Drupal's addUser() web service. See src/HookCreateDrupalUser.php for more info on the call parameters.

After calling the web service and receiving a positive answer, Chamilo stores the remote (Drupal) user ID inside the extra_field_values table, as field name "drupal_user_id". This later serves for updates and other synchronisation purposes.

Extending

Other plugins could easily be created by copying this one and modifying the class names and web services to call. Simply review every variable coined with the "drupal" name and update according to your own portal.