SharePoint 2007 : BDC - Récupérer une liste d'entités

Ce post fait partie d'une série d'articles dédiés à la présentation du BDC (Business Data Catalog) ou Catalogue de Données Métier dans SharePoint 2007. Cette fonctionnalité, plus complexe à maitriser qu'elle n'y parait, n'est disponible qu'a partir de la version Entreprise.

Cet article n'aurait pu voir le jour sans l'aimable autorisation de Salik Malik (MVP C# et membre actif de la communauté SharePoint) qui m'a permis de le rendre disponible à la communauté francophone.

Comme dit précédement, BDC est une façon de récupérer des données externes et de les lier à MOSS. Tout ce qui peut être accéder via ADO.NET ou un Web Service peut être ammener à MOSS en utilisant BDC.

Après vous avoir montré simplement comment récupérer via le BDC, une instance de la table client provenant de la base Northwind sur un server SQL (2000/2005), Nous allons étendre l'exemple précedent (la plupart des modifications se feront dans le fichier XML) de façon à récupérer toute les entités. Comme par exemple de récupérer tout les clients vivant dans une ville dont le nom serait passé en paramètre.

Les changements à effectuer sont assez simples :

  • Récupérez le fichier XML.
  • Modifiez la méthode "GetCustomers", et changez la propriété "RdbCommandText" pour :
    SELECT CustomerID, ContactName, Address, City FROM Customers WHERE City like @City
  • Juste en dessous, supprimez le "FilterDescriptor" pour "CustomerID", et remplacez le par la section suivante :

    <FilterDescriptors>
      <!-- Define the filters supported by the back-end method (or sql query) here. -->
      <FilterDescriptor Type="Wildcard" Name="City" >
        <Properties>
          <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
        </Properties>
      </FilterDescriptor>
    </FilterDescriptors>
     
  • Changez le paramètre "CustomerID" (direction "in") par "City" comme ci dessous :

    <Parameter Direction="In" Name="@City">
      <TypeDescriptor TypeName="System.String" IdentifierName="CustomerID" AssociatedFilter="City" Name="City">
        <DefaultValues>
          <DefaultValue MethodInstanceName="CustomerFinderInstance" Type="System.String">%</DefaultValue>
        </DefaultValues>
      </TypeDescriptor>
    </Parameter>

Sauvez les modifications et redéployez l'application dans le SSP (Shared Service Provider ) en suivant les étapes suivantes :

  • Allez dans la section SSP 
  • Cliquez sur "Business Data Catalog" >> "View Applications" >> "Delete Previous Application" (Vous pourriez utiliser le versionning ici) 
  • Cliquez sur "Business Data Catalog" >> "Import Application Definition"
  • Importez votre fichier XML comme un "Model" et cliquez sur "Import"

Normalement vous devriez encore avoir un message prévenant que la création de la page de profil n'a pas été effectué (c'est normal).

Votre fichier applicatif est prêt à être consommer, vous pouvez l'utiliser de la manière suivante :

  • Allez sur votre site de test
  • Editez une page de Webparts 
  • Ajoutez une Webpart appelée "Business Data List" (Si vous ne l'avez pas dans la liste, allez l'activer via Site Actions >> Site Settings >> WebPart gallery)
  • Vous devriez avoir ceci :
  • Ouvrez le Tool Pane et configurez le :
  • Si tout va bien vous devriez obtenir :
  • Sortez du mode "Edit", Donnez en paramètre de la Webpart "London" par exemple, Cliquez sur "Retrieve Data" et en suposant que tout ce soit bien passé, vous devriez obtenir ce résultat :

Félicitations !!

Dans le prochain article, nous règlerons cette fumeuse histoire de création de page de profil et étudierons la question de la possibilité de voir les détails d'une entité via l'utilisation d'un "Specific Finder".

 <Philippe/>

Publié lundi 7 mai 2007 14:09 par phil
Classé sous , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

About phil

Philippe Sentenac est Consultant SharePoint à Wygwam en région Parisienne. Il intervient essentiellement sur des missions liées à SharePoint (2007 et 2010 ) mais aussi autour du Web 2.0. Plus généralement, il s'intéresse à l'ASP.Net (MVC) , à Silverlight, et à tout ce qui est orienté Web en rapport avec les nouvelles technologies, qu'il pratique depuis 2006. Féru de développement, il est passionné par les problématiques de méthodologies et d'industrialisation du développement.

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01