Skip to content
Laurent Jouanneau edited this page Aug 31, 2019 · 3 revisions

Utilisation de jCommunity avec master_admin

Dans une application de type back-office ou à accés restreint, utilisant le module master_admin, vous voudriez probablement profiter des fonctionnalités de jCommunity, en particulier la possibilité pour un utilisateur de s'enregistrer et/ou la possibilité pour un utilisateur de réinitialiser son mot de passe.

Pour cela il faut donc remplacer l'utilisation des modules jauth et jauthdb par le module jcommunity. Voici comment faire.

Note : cela fonctionne uniquement avec Jelix 1.6.16 ou plus.

fichier de configuration général

  • declarer le chemin du module dans l'appli. Soit dans le paramètre modulePath dans la configuration (jelix 1.6) soit dans application.init.php (jelix 1.7)
  • dans la configuration, activer jcommunity et désactiver les modules jauth et jauthdb et retirer jauthdb et jauth de la liste des modules de la conf du moteur d'url pour y rajouter jcommunity.
[modules]
jauth.access = 0
jauthdb.access = 0
jcommunity.access = 2
jcommunity.installparam = masteradmin

[simple_urlengine_entrypoints]

admin="jacl2db~*@classic, jacl2db_admin~*@classic, jauthdb_admin~*@classic, master_admin~*@classic, jpref_admin~*@classic,jcommunity~*@classic"

Configuration pour la base de donnée

vous voulez utiliser la table de jCommunity

Le script d'installation de jCommunity créera la table community_users.

Si vous utilisez la table standard de jauthdb (jlx_user) sans y avoir fait de modification et si vous voulez migrer les utilisateurs existant dans la nouvelle table créé par jcommunity, ajouter migratejauthdbusers.

[modules]
jcommunity.installparam = "masteradmin;migratejauthdbusers"

vous utilisez votre propre table d'utilisateurs ou jlx_user modifiée

Si vous aviez ajouté des champs dans la table jlx_user ou si vous utilisiez une autre table et que vous voulez continuer à l'utiliser :

  1. modifiez le fichier dao correspondant à votre table, en y ajoutant les nouveaux champs et en créant une méthode verifyNickname. Les champs login, status, keyactivate, request_date, create_date sont obligatoires. Voir le fichier jcommunity/daos/user.dao.xml en exemple.
  2. le fichier de configuration auth.coord.ini.php est à priori déjà renseigné, donc il faut indiquer à jcommunity de ne pas changer la configuration:
    jcommunity.installparam = "masteradmin;manualconfig"
    
  3. modifier le fichier form correspondant avec les nouveaux champs. voir un exemple dans le fichier jcommunity/forms/account_admin.form.xml

Après l'installation, si il y a des enregistrements, mettez le champs status à 1, et create_date avec la date du jour.

configurer le mailer

Si vous ne l'avez pas déjà fait, configurer le mailer de Jelix. jCommunity a en effet besoin d'envoyer des mails.

Remplacement de templates

Il faut surcharger le template master_admin~zone_admin_infobox.tpl. Voir un exemplaire dans le répertoire install/theme de jcommunity. Il faut en effet remplacer les liens vers le module jauth par des liens vers jcommunity, en particulier celui de jauth~login:out en jcommunity~login:out.

lancement de l'installateur

Enfin, il faut lancer le script d'installation :

php cmd.php installapp