Je propose un mode opératoire pour simplifier les exportations du contenu de vos bases CRM Salesforce. Le CRM contient vos clients, prospects, contacts, SIREN et vous recherchez le moyen de les récupérer facilement.
Je vous propose de le faire en mode texte avec la ligne de commande. Le pre requis est d'installer le Data Loader Salesforce .
Vous pourrez programmer une tâche windows et ne plus jamais vous soucier de produire les fichiers ou bien le faire d'un clic au lieu d'utiliser le Data Loader.
1. 1. Contexte : Utiliser le Data Loader Salesforce en mode texte ?
Le Data Loader Salesforce est pratique mais laborieux…
Pratique parce qu’il est possible de récupérer n’importe quel objet de la base Salesforce : contacts,
clients, prospects, affaires en cours, users actifs...
Mais les manipulations sont longues car on ne fait que répéter des enchainements de commandes
dans l’interface : copier / coller ses ID et ses mots de passe, balayer les objets existants, en choisir
un, valider, choisir les champs à exporter, éventuellement construire des filtres, valider, revalider
et produire le fichier CSV. Les choses se répètent peu ou prou pour les autres manipulations
comme les insert, update et upsert avec en plus le choix du fichier de mappage. Et ceci parfois
plusieurs fois par jour. Peu d’intérêt donc pour l’utilisateur qui verra d’un œil bienveillant
l’automatisation de tout ceci. Car, bonne nouvelle, l’utilisation du Data Loader Salesforce en mode
texte est possible (- :
Vous devez juste savoir si vous connectez à internet via un proxy ou en direct.
2. Commencez par créer une nouvelle arborescence sur votre PC
Créer le répertoire SF sous D:Donnees (A adapter en fonction de votre configuration, votre
besoin)
Aller sous C:Program Files (x86)salesforce.comData Loader (ajuster éventuellement en fonction
du répertoire d’installation de votre data loader)
Copier les répertoires bin, Java, Samples et le fichier dataloader-XX.0.0-uber.jar sous
D:DonneesSF. Ces répertoires sont utilisés quel que soit le type d’opération réalisée : insert,
export…
Créer le répertoire export sous D:DonneesSF
3. Créer 3 fichiers textes vides suivants :
key.txt, config.properties, process-conf.xml (bien confirmer les extensions properties et xml
malgré les messages d’avertissement de Windows). Les placer sous D:DonneesSFexport
Ces répertoires et fichiers sont utilisés pour une seule opération : l’export de données Salesforce.
Le principe est de séparer les fichiers contenant la requête SQL d’export (Salesforce appelle ça
SOQL histoire de se distinguer) et le fichier avec les mots de passe pour des questions de
maintenance. J’ai mis un certain temps à faire marcher la configuration ainsi mais c’est bien plus
simple puisque quand vos MDP changent, il n’y qu’un seul endroit où les changer ! Gain de temps
assuré ! Imaginez, vous pouvez multiplier les fichiers de requête et ne pointer que vers un seul
fichier de mot de passe.
4. Configuration des 3 fichiers :
Nous commençons par configurer config.properties :
2. C’est ici que cela se complique un peu. Les mots de passe doivent être cryptés. Le programme
n’accepte pas vos mots de passe tels que vous pouvez les saisir sous Windows. Salesforce met à
disposition un programme de cryptage. Cela se passe sous la console Windows cmd (menu
démarrer, Rechercher les programmes et les fichiers et taper cmd).
Etape 1 : passer dans le répertoire bin avec la commande cd « cd D:DonneesSFbin ». Lancer la
commande encrypt.bat avec les paramètres suivants : « encrypt.bat -g
LeTexteQueVousVoulezInventezNimporteQuoi »
Figure 1 Fenêtre CMD sous Windows 7
Copier-coller le résultat du cryptage de la commande dans le fichier key.txt. inutile de mettre des
« » . Enregistrer les modifications. Fermer le fichier key.txt.
Etape 2 : On passe au cryptage du mot de passe proxy. Toujours dans la console, toujours sous
D:DonneesSFbin, lancer la commande suivante « encrypt.bat -e VotreMotDePasseProxy
"D:DonneesSFimportkey.txt" ». Il faut copier le texte avec les « » puis mettre de côté le mot de
passe crypté généré.
Etape 3 : On passe au cryptage du mot de passe Salesforce+jeton concaténés sans espace.
Toujours dans la console, toujours sous D:DonneesSFbin, lancer la commande suivante
« encrypt.bat -e VotreMotDePasseSalesforceAvecLeJetonConcaténé
"D:DonneesSFimportkey.txt" ». Mettre de côté le mot de passe crypté généré.
Etape 4 : Ouvrir le fichier config.propertie. Le but est de renseigner tous les paramètres avec les
mots de passe cryptés obtenus.
1. Votre ID reconnu par le proxy
2. Votre MDP reconnu par le proxy et désormais encrypté
3. Votre Login Salesforce
4. Votre MDP+jeton Salesforce concaténés et désormais encrypté
Enregistrer les modifications.
3. Le travail sur le fichier config.properties est terminé.
Nous configurons process-conf.xml en copiant ceci dans process-conf.xml
4. Quelques explications. La partie la plus importante du fichier est l’entrée suivante :
<entry key="sfdc.extractionSOQL" value="Select Id, LastName, FirstName, Username,
CommunityNickname, CompanyName, Division, Department, Title, City, Email, IsActive,
UserRoleId, ProfileId, UserType, DelegatedApproverId, ManagerId, LastLoginDate, CreatedDate,
LastModifiedDate, DesactivOrderDat__c, CreatedById, LastModifiedById, IsPortalEnabled,
PerId__c, Agence__c, EmployeeNum__c, BU__c, Pointdevente__c, Brand__c, Username__c,
LDAPLogin__c, RegDCDiv__c, SousRegion__c, Marche__c, CompanyName__c, PerformId__c,
resp_workflow_dae__c, MultiPDV__c, CodeEnseigne__c FROM User"/>
Cette partie reprend la commande SOQL. Vous pourriez par exemple l’adapter de la manière
suivante :
<entry key="sfdc.extractionSOQL" value="Select * FROM User"/>
Il suffit de copier-coller votre requête habituelle telle qu’elle apparait dans votre fenêtre Data
Loader entre les caractères "".
Il y a une deuxième entrée important c’est <bean id="ExtractUser", nous y reviendrons.
5. Création du fichier d’exécution
Nous touchons au but, aller sur le bureau, créer le fichier export.bat, y copier les lignes suivantes.
6. Fonctionnement :
Double cliquer sur le fichier export.bat. Vous avez désormais vos user dans le CSV situé sous
D:Donnees_ Extract Cptes Distrib_Users
Il vous suffit ensuite de prévoir une tâche avec une exécution automatique par exemple pour
récupérer au démarrage du PC votre fichier sans rien avoir à faire.
7. Perspectives
Il est possible de mettre plusieurs exports par fichier .XML. Il est possible de faire des insert, upsert
et update. Nous y reviendrons.