Logo JomSocial

Il n'y a pas si longtemps, j'ai été confronté à un problème lors de la mise a jour d'un site Joomla 1.5 vers la version 2.5. Le problème n'étant pas lié directement à Joomla mais à JomSocial. En effet, j'ai dû mettre à jour non seulement Joomla mais également ce composant et c'est là que le problème s'est posé : le transfert des utilisateurs.

 

icon jomsocialExporter oui, importer non...

Vous l'avez peut-être remarquer vous aussi, mais lorsque vous êtes dans la partie utilisateurs de JomSocial, côté admin, vous pouvez faire un exportation au format .CSV de ces utilisateurs mais pas d'importation ! Ce qui est plutôt contradictoire et qui complique les choses pour transférer vos utilisateurs d'une ancienne version de JomSocial (2.0) vers une version plus récente (2.8). Mais il existe une solution, certes fastidieuse, mais qui fonctionne.

icon jomsocialTransfert via phpMyAdmin

1ère étape

Le problème qui s'est posé pour moi, c'est qu'entre les deux versions de JomSocial (2.0 vers 2.8) la structure de la table contenant les utilisateurs enregistrés a changé, je ne pouvais donc pas faire un simple copier/coller de l'ancienne table vers la nouvelle. J'ai donc créer un premier utilisateur, en l’occurrence moi-même, qui apparaissait donc dans la nouvelle table jos_community_users (JomSocial) mais aussi dans la table jos_users (Joomla). Cet utilisateur m'a donc servi d'exemple pour l'importation de tous les autres.

2ème étape

Comme vous l'aurez compris, l'opération se passe au travers de phpMyAdmin, l'interface qui vous permet d'accéder aux tables contenues dans la base de donnée de votre site Joomla. Pour accéder à phpMyAdmin, je vous propose deux solutions :

  • Soit directement sur le site de votre hébergeur.
  • Soit grâce au composant OSE DBMan qui permet d'accéder à votre base de donnée directement via l'admin de votre site.

3ème étape

Maintenant que vous êtes dans phpMyAdmin, je vous conseille de faire un export de l'ancienne table jos_users (le préfixe de la table peut-être différent). Pour ce faire, cliquez sur la table en question dans la colonne de gauche puis sur l'onglet "Export". Choisissez le format du fichier exporté et cliquez sur "Go" en bas à droite. Personnellement, j'ai utilisé le format SQL et travaillé avec Dreamweaver. Ce fichier contient donc les utilisateurs de votre ancien site.

Maintenant, refaite la même opération avec la nouvelle table où devrait se trouver un seul utilisateur, celui que je vous ai conseillé de créer précédemment. En comparant les deux tables, vous verrez alors qu'elles sont bien différentes.

4ème étape

Maintenant, il va falloir remplir votre nouvelle table jos_users avec vos anciens utilisateurs. L'avantage est qu'en remplissant d'abord la table jos_users, la table jos_community_users se remplira automatiquement puisque JomSocial récupère les utilisateurs présents dans "Utilisateurs > Gestion des utilisateurs". Par contre, les informations telle que l'avatar, le statut, etc... ne seront pas récupérées. Il faudra que vous récupériez ces informations de votre ancien site et les intégrer par la suite dans la table jos_community_uers. Donc pour intégrer un nouvel utilisateur dans la table jos_users, nous allons utiliser les requêtes SQL. Toujours dans PhpMyAdmin, cliquez sur la table qui nous intéresse et rendez-vous dans l'onglet "SQL". Sur cette page, vous trouvez une zone de texte dans laquelle nous allons utiliser la requête suivante :

INSERT INTO `r6x7z_users` (`id`, `name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `registerDate`, `lastvisitDate`, `activation`, `params`, `lastResetTime`, `resetCount`) VALUES

Juste en dessous de la requête, vous devez copier/coller la ligne contenant les informations de l'utilisateur (voir l'exemple ci-dessous). Le truc est donc de remplacer les informations de l'utilisateur (id, nom, mot de passe,...) créé précédemment par les informations récupérer dans l'ancienne table. Ainsi, vous avez la bonne structure de table et les infos vos anciens utilisateurs.

(791, 'Geoffrey', 'Geoffrey', '', 'a55249eafde1fa418bd4e94b258bafad:yl8Fq8uMn5RJrNhFNKKQHsnrTqnSlRjM', 'deprecated', 0, 1, '2013-02-14 20:13:47', '2013-02-20 11:38:04', '0', '{"update_cache_list":1,"admin_style":"","admin_language":"","language":"","editor":"","helpsite":"","timezone":""}', '0000-00-00 00:00:00', 0);

Une fois ces deux lignes dans la zone de texte, cliquez sur "Go" en bas à droite pour valider la requête. Il faut ensuite répéter l'opération pour chaque utilisateur (je vous l'ai dit, c'est fastidieux...).

5ème étape

edition ligne tableEnfin, comme je vous l'ai dit, il est possible de récupérer les informations JomSocial, tels que l'avatar ou le statut. Pour ce faire, cliquez sur la table jos_community_users. Puis sur le petit crayon (voir image ci-contre) pour éditer la ligne et remplir les cases vides correspondants aux informations que vous souhaitez récupérer. Une fois compléter, cliquez sur "Go" en bas à droite.

icon jomsocialEt pour les photos, les activités, etc...

Alors, sachez qu'il est possible de faire la même chose pour récupérer les photos que les utilisateurs auraient partager au travers de JomSocial mais je vous préviens d'avance c'est très long surtout si votre communauté était très active. Il en va de même pour le flux d'activités. Je vous conseille donc dans un premier temps, d'au moins transférer vos utilisateurs et si vous vous sentez le courage ou si votre client l’exige alors vous devez faire l'opération similaire à celle utilisée pour les utilisateurs mais cette fois avec les tables jos_community_photos, jos_community_photos_albums et jos_community_activities.

L'auteur : un expert à votre service
Geoffrey LEOST
Nom : Geoffrey LEOST

Articles qui devraient vous intéresser

JomSocial 2.8.2 : Extension Joomla n°1 pour sa communauté JomSocial 2.8.2 : Extension Joomla n°1 pour sa communauté
Résumé du test Intuitivité : Stabilité : Support : Sécurité : Mises à jour : Interropérabilité :...
Migration de Joomla 1.5 vers Joomla 2.5 via JUpgrade - Tutoriel Migration de Joomla 1.5 vers Joomla 2.5 via JUpgrade - Tutoriel
Nous y voilà, Joomla 2.5 est arrivé. Et il se pose maintenant une question épineuse pour tous ceux qui seraient...

Commentaires (3)

This comment was minimized by the moderator on the site

... est-ce qu'il y a vraiment beaucoup d'utilisateur de JomSocial dans la partie francophone de Joomla?

This comment was minimized by the moderator on the site

Trop peu à mon goût :lol:
Community Builder est partout et a la cote.
Pourtant, de mon point de vue, c'est le jour et la nuit avec JomSocial.

This comment was minimized by the moderator on the site

Merci bcp

Il n'y a pas encore de commentaire pour cet article.

Ajouter vos commentaires

  1. Insérer un commentaire en tant qu'invité.
Pièces jointes (0 / 3)
Share Your Location
Contact
Dernier article sur la même thématique
Comment migrer vers Joomla 4 ?Comment migrer vers Joomla 4 ?
16 ans jour pour jour après le lancement de Joomla!, OpenSourceMatters (OSM) sort la 4ème version du CMS après une longue attente. Il ne s’agit pas d’une update à réaliser en un clic comme la...