SharePoint 2007 : BDC - Ajout de "Specific Finder"

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.

Lors des articles précédents, nous avons utilisé un exemple simple où nous pouvions nous connecter à la base de donnée NorthWind et à la table Customers, et récupérer les clients habitants dans une une ville spécifique. Dans le contexte du BDC, les clients étant ce que l'on appelle des entités.

Lors de la lecture des deux précédents articles, vous avez remarqué que l'erreur "Profile Page Création" n'était pas corrigée. Ne vous inquiétez plus, nous allons nous en occuper durant ce post.

Pour ce faire, suivez les étapes suivantes :

  • Commencez à ré-ouvrir le fameux fichier xml
  • Modifiez la méthode "GetCustomers", changez la valeur de RdbCommandText par : 

SELECT CustomerID, ContactName, Address, City FROM Customers WHERE (City like @City) AND (CustomerID Like @CustomerID)

  • Changez la section FiltersDescriptors comme suit :
<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>
  <FilterDescriptor Type="Wildcard" Name="CustomerID"/>
</FilterDescriptors>
  • Ajoutez une nouvelle section MethodInstance à la fin de l'XML en question :
<MethodInstance Name="CustomerSpecificFinderInstance" Type="SpecificFinder" ReturnParameterName="Customers" />
  • Changez la section Parameters par ce bloc de texte :
<Parameter Direction="In" Name="@City">
  <TypeDescriptor TypeName="System.String" AssociatedFilter="City" Name="City">
    <DefaultValues>
      <DefaultValue MethodInstanceName="CustomerFinderInstance" Type="System.String">%</DefaultValue>
      <DefaultValue MethodInstanceName="CustomerSpecificFinderInstance" Type="System.String">%</DefaultValue>
    </DefaultValues>
  </TypeDescriptor>
</Parameter>
<Parameter Direction="In" Name="@CustomerID">
  <TypeDescriptor TypeName="System.String" AssociatedFilter="CustomerID" Name="CustomerID" IdentifierName="CustomerID">
    <DefaultValues>
      <DefaultValue MethodInstanceName="CustomerFinderInstance" Type="System.String">%</DefaultValue>
      <DefaultValue MethodInstanceName="CustomerSpecificFinderInstance" Type="System.String">%</DefaultValue>
    </DefaultValues>
  </TypeDescriptor>
</Parameter>
<Parameter Direction="Return" Name="Customers">
  ...
<Parameter>
  • Finalement sauvez l'XML

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"

Vous remarquerez au passage que désormais vous n'avez plus d'erreur.

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 :

Attention, ici nous allons rajouter une fonctionnalité grâce au Specific Finder rajouté précédemment :

  • Maintenant, éditez la page une fois de plus et ajoutez une nouvelle webpart : La Business Data Item.
  • Ouvrez le Tool Pane ou cliquez sur "Modify the shared webpart".
  • Spécifiez "Customer (NorthWindTraders)" comme le type d'entités qui vous intéresse 

  • Cliquez sur OK 
  • Tant que vous êtes encore dans le mode d'édition, connectez la webpart Business Data List de façon à fournir les informations à la webpart Business Data Item, comme celà :

 

  • Sortez du mode d'édition
  • Cherchez des clients dans une ville (London) et selectionnez en un, via le bouton radio, vous devriez voir ceci : 

 
Plutôt sympa.

Maintenant que vous avez créé une page de profile et implémenté une méthode "specific finder", vous allez pouvoir utiliser les données du BDC dans une  liste custom (nous verrons ça par la suite).

De plus, il y a un curieux "View Profile" en haut à droite du BDCDataItem, nous verrons comment rajouter d'autres actions pour l'utilisateur final dans les prochains articles.

 <Philippe/>

 


Publié mercredi 30 mai 2007 12:03 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