Vous êtes ici : Accueil Support Documentation How-tos Récupérer les utilisateurs d'un site Plone dans un autre site Plone

Récupérer les utilisateurs d'un site Plone dans un autre site Plone

Si on souhaite reprendre des utilisateurs d'un site Plone d'origine vers un site Plone de destination en gardant tous les informations (utilisateurs/groupes/propriétés/mots de passe), voici la marche à suivre en utilisant CPUtils

Installer CPUtils

Récupérer la version courante sur http://svn.communesplone.org/svn/communesplone/CPUtils/trunk/ en l'ajoutant dans la section [svnproducts] de votre buildout.  Ceci est à effectuer aussi bien dans l'instance Plone d'origine que dans l'instance Plone de destination

Démarrer/Redémarrer l'instance.

CPUtils est un produit très peu intrusif qui ne fait qu'ajouter des ExternalMethods à la racine de Zope.

Pour ajouter toutes les méthodes disponibles dans CPUtils d'une fois, ajoutez une ExternalMethod à la racine de Zope avec les paramètres suivants :

id: install
Title: CPUtils install
Module Name: Products.CPUtils.utils
Function Name: install

Après l'avoir exécutée (en cliquant sur l'onglet "Test" de l'ExternalMethod), quelques ExternalMethods sont ajoutées, trois d'entre elles nous intéressent :

  • cputils_store_user_properties : exporte les propriétés (portal_memberdata) des utilisateurs et les stocke dans un Document DTML
  • cputils_recreate_users_groups : recrée les utilisateurs et groupes depuis un acl_users.zexp importé
  • cputils_load_user_properties : rétablit les propriétés (portal_memberdata) depuis un Document DTML

 

Exporter depuis l'instance Plone d'origine

Exporter le dossier acl_users

Se positionner dans la ZMi à la racine du site Plone d'origine, sélectionner (cocher) le dossier acl_users et cliquer sur le bouton "Import/Export" au bas de la page.  Le fichier acl_users.zexp est ainsi créé

Exporter les propriétés des utilisateurs (portal_memberdata)

Se positionner dans la ZMi à la racine du site Plone d'origine et appeler l'ExternalMethod "cputils_store_user_properties" dans l'url (par exemple : http://localhost:8080/monsiteorigine/cputils_store_user_properties).  Ceci a pour effet de créer le Document DTML "users_properties" à la racine du site Plone d'origine.  Exporter en .zexp cet élément comme cela a été le cas avec le dossier acl_users ci-dessus

L'export des données est terminé, importons le tout dans le site Plone de destination maintenant!

Auparavant il faut copier les 2 fichiers zexp vers le dossier "import" de l'instance Plone de destination

 

Importer dans l'instance Plone de destination

Récupération des .zexp

A la racine du site en Plone de destination, créer un dossier (un élément Folder dans Zope) appelé "oldacl".  Y importer les éléments acl_users et users_properties exportés ci-dessus.

Exécution des ExternalMethods d'import des utilisateurs/groupes/propriétés

Se positionner dans la ZMi à la racine du site Plone de destination et appeler l'ExternalMethod "cputils_recreate_users_groups" dans l'url (par exemple : http://localhost:8080/monsitedestination/cputils_recreate_users_groups).  Ceci a pour effet de recréer les utilisateurs et groupes dans le site Plone de destination.  Pour terminer, appeler alors l'ExternalMethod "cputils_load_user_properties" dans l'url (par exemple : http://localhost:8080/monsitedestination/cputils_load_user_properties).  Si le message de log affiché vous semble correct, appelez la même url en passant "?dochange=1" à la fin (par exemple : http://localhost:8080/monsitedestination/cputils_load_user_properties?dochange=1).  Ceci appliquera la mise à jour des propriétés de l'utilisateur

Et voilà, les utilisateurs/groupes/propriétés sont maintenant les même qu'avant.  Rien n'a été perdu, pas même les mots de passe...

Actions sur le document