-
Notifications
You must be signed in to change notification settings - Fork 5
fr_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.
- 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"
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"
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 :
- 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.
- 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"
- 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.
Si vous ne l'avez pas déjà fait, configurer le mailer de Jelix. jCommunity a en effet besoin d'envoyer des mails.
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
.
Enfin, il faut lancer le script d'installation :
php cmd.php installapp