Transfert via phpMyAdmin

JomSocial


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 tablecontenant 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 auxtables 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éfixede 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 JomSocialré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 tablejos_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', '
webmaster@nosyweb.fr', '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


phpMyAdmin


      Enfin, 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.

Et 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 partagerau 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 etjos_community_activities.

source: nosyweb.fr