Les News du Site

Salesforce

Extraire des pièces jointes de l'environnement Salesforce avec FileExporter

Bonjour à tous,

Ces derniers temps, j’ai été confronté à un problème de taille : récupérer toutes les pièces jointes de Salesforce. Salesforce fournit deux outils pour réaliser les opérations d’exportation de données. Si vous êtes administrateur vous avez à votre disposition l’outil Data Exporter accessible via l’onglet Data Management de votre page Setup et l’application Data Loader. Ces deux outils sont très bien pour exporter les données au format csv. Mais l’inconvénient de ceux-ci est que les fichiers ne sont pas exportés dans leur format initial, c’est-à-dire .pdf, .doc, etc…

C’est dans ce cas précis que l’utilisation de FileExporter prend tout son sens, en effet il va vous permettre d’effectuer cette opération, et en plus il est paramètrable, en ce sens que vous pouvez modifier la clause Where de votre requête soql généré. Il fonctionne conjointement avec Apex Data Loader et il est lancé en ligne de commandes dos. Il est à noter que cet outil fonctionne bien avec Data Loader en version 17.0, il est donc judicieux de télécharger cette version dans la page des versions archivées sur le site de Salesforce.

FileExporter, la version 17.0 d’Apex Data Loader et la documentation en anglais sont téléchargeables à cette adresse.

Voyons maintenant comment utiliser cette merveille!!! Comme je vous le disait plus haut, cet outil fonctionne à partir d’Apex Data Loader qu’il pilote en ligne de commandes. Il faut donc auparavant installer Apex Data Loader. Une fois celle-ci installée, il suffit de décompresser, à l’endroit où vous le souhaitez, le zip téléchargé contenant l’outil FileExporter. Comme je le disais plus haut il est possible de configurer l’exportation de vos fichiers par l’intermédiaire du fichier beans.xml. En effet la première ligne est paramètrable (balise WhereClause) et permet de configurer la requête envoyée au serveur. Il est par exemple possible de configurer un filtre sur la date de création ou sur l’id du créateur. Configurer un filtre sur la date de création est utile lorsque vous avez plusieurs milliers de fichiers à extraire de l’environnement Salesforce. Voici un exemple de ligne :

ENTITY whereClause "CreatedById=‘id que l’on trouve dans Salesforce dans la page de l’utilisateur’ AND CreatedDate>2008-12-31T00:00:00.000Z AND CreatedDate<2012-12-31T00:00:00.000Z"



Il vous suffit ensuite de lancer le fichier +FileExporter.bat qui va faire apparaître une fenêtre dos comme celle-ci :

fenetre_dos

Plusieurs étapes sont nécessaires avant de pouvoir lancer l’extraction. Il vous faut :

  1. Entrer le chemin d’installation d’Apex Data Loader. Attention sur certains systèmes le chemin par défaut n’est pas correct, il faut entrer celui-ci : C:\Program Files (x86)\Salesforce.com\Apex Data Loader;
  2. Entrer ensuite vos paramètres de connexion Salesforce habituels avec token si requis;
  3. Choisir l’environnement : production ou sandbox;
  4. Configurer les paramètres de votre proxy si vous en utilisez un;
  5. Enfin choisir le type d’extraction : pièces jointes (attachements), documents.

La procédure d’extraction se lance et crée dans un premier temps un dossiers ‘csvs’ dans le répertoire d’installation de FileExporter. Dans ce répertoire il place toutes les données concernant les différents fichiers à extraire (Body, Name, Parent id). Ensuite dans un second temps ce sont les fichiers qui sont téléchargés physiquement, cette opération prend plus ou moins de temps en fonction du nombre de fichiers à extraire. Attention toutefois car la connexion a tendance à s’interrompre après une heure de travail.

A bientôt,

Christopher

Comments

Tutoriel en ligne : Consommation du webservice partner sous Delphi

Bonjour,

Je viens de publier un tutoriel qui devrait vous intéresser si comme moi vous avez eu des problèmes pour utiliser le webservice partner.wsdl et surtout pour extraire des informations issues d’un serveur Salesforce. Ce tutoriel vous apporte une solution basée sur l’utilisation d’un composant de type THTTPRIO. Et ce en utilisant l’événement associé AfterExecute... Ce tutoriel nécessite d’avoir quelques notions sur l’utilisation de MSXML et surtout de XPATH pour parcourir l’arborescence d’un fichier XML... Mais pas de panique je vous fournis le code nécessaire au traitement des informations issues d’un fichier de réponse XML...



En espérant que ce tutoriel répondra à vos attentes...

A bientôt sur mon site.
Comments