Ignorer les commandes du ruban
Passer au contenu principal
SharePoint

Xavier VANNESTE > Billets > [SharePoint 2010] BCS Partie 2: SharePoint Designer
déc. 16
[SharePoint 2010] BCS Partie 2: SharePoint Designer

Série D'articles:

Introduction

Comme nous avons pu le voir dans la partie 1, faire un BCS n'est pas simple. Nous aborderons ici la création d'un BCS sur une base de données, dans un premier temps sans le Secure Store puis nous utiliserons le Secure store pour faire une authentification SQL au lieu d'une authentification Windows.

Dans l'article suivant nous verrons les associations entre les entités directement dans SharePoint Designer. La base de données qui sera utilisée est la base de données AdventureWorks. Nous aborderons aussi les limitations et la création de liste externe. Nous verrons l'étendue de ce qui est fait avec SharePoint Designer et comment utiliser ce qui a été généré pour faire un déploiement sur une autre machine pour passer de Test a UAT ou de UAT a Prod par exemple.

SharePoint Designer

Commençons par regarder les deux tables que l'on va utiliser :

La table Production.Product

La table Person.Contact

Table Product

La première chose à faire est d'ouvrir le site sur lequel on veut déployer le BCS. Au niveau de SharePoint Designer il y a un paradoxe, qui, on le verra plus tard à cause d'un bug, se produit aussi avec Visual Studio, en effet on crée un BCS qui est censé être déployé de manière globale dans le BCS Service Application, et la première chose qu'on nous demande, c'est le nom d'un site.

Dans SharePoint designer on sélectionne External Content Type (Si vous en avez déjà de définit ils apparaitront à ce niveau-là).

On va en ajouter un qu'on appellera AdventureWorks. Pour cela on clique sur External Content Type en haut à droite :

On va le renommer en client sur « New External Content Type » à coté de Name et on met AdventureWorks, on fait de même pour le NameSpace :

Pour cette table on va utiliser une Generic List et autoriser la synchronisation OffLine. Ensuite on clique sur « Click Here to discover external data sources…. »

On n'a plus qu'à ajouter notre connexion :

Bien entendu les paramètres sont à mettre à jours en fonction de votre environnement.

Ensuite on sélectionne product et on clique sur Create All Operations :

Comme on peut voir on va créer un Create/Read Item/Update/Delete/Read List, on est bien dans un model CRUD.

On va aussi sélectionner que quelque colonne comme datapicker afin que les colonnes techniques (foreign key, primary key etc…) ne viennent pas polluer ce qui sera affiché à l'utilisateur:

Les colonnes choisies sont Name, ProductNumber, Color, SafetyStockLevel, ReorderPoint, StandardCost, Size, Weight, SellStartDate et SellEndDate. On verifie bien entendu que l'identifier ProductID a la propriété Map To Identifier de cochée.

On ne va pas mettre de filtre maintenant, on clique sur Finish :

A droite on peut voir l'ensemble des fonctions crées.

On retourne sur AdventureWorks :

On va cliquer sur Create List and form, si un warning demandant d'enregistrer l'external content type apparait il suffit de l'enregistrer, on ne va pas créer les formulaires infopath.

Dans SharePoint notre external list existe :

Table Contact

On va refaire la même chose avec l'autre table et le type sera Contact, on recrée un External Content type :

On va créer les opérations en lecture :

 

 

 

Dans le wizard du read item on doit mapper les propriétés de la table a des propriétés offices :

On mappe Title avec Title, FirstName avec First Name, MiddleName avec Middle Name, LastName avec Last Name, EmailAddress avec Email 1 Address, Phone avec primary Telephone Number, suffix avec suffixe. On va aussi checker la propriété Show in Picker pour les colonnes qu'on a mappées.

Pour le ReadList on crée un filtre :

Qu'on limit a 1000 car le throttle ne permet que 2000 element d'etre retourné de la DB.

On crée la liste AdventureWorksContact:

 

Et voici le résultat :

Résultat

Penchons-nous sur ce que l'on a.

On a deux connecteurs sur table de base de données. Ces connecteurs affichent les données dans SharePoint et « donne » l'impression que les données sont dans SharePoint.

Si l'on va dans le Business Connectivity Services de Sharepoint au niveau de l'administration central on retrouve nos external content type :

Même si on ne l'a pas fait avec SharePoint Designer il est possible de créer des Default Action :

Cliquer sur Configure et mettez l'url par defaut du site qui va héberger le BCS :

Cliquez sur Create/Upgrade :

 

 

La page de profil par défaut :

 

On a aussi la possibilité de les indexer et de les inclure dans le moteur de recherche de SharePoint, dans les BDC nos deux external content type sont regroupés dans l'External System adventureWorks :

On peut indexer le LOB (Line Of Business) en créant une nouvelle content source dans SharePoint (Fast ou SharePoint) :

Au niveau des clients offices:

Outlook

Un VSTO est créé et envoyé au client pour installation :

Dans Outlook voilà le résultat pour les contacts.

Conclusion

Les choses sont simples et belles MAIS dans la vie de tous les jours c'est rarement aussi simple, que se passe-t-il maintenant si en plus des produits vous voulez la catégorie des produits et pouvoir les regrouper par catégories ? ou alors vous voulez les ventes ou les types de contacts etc…. c'est ce qu'on verra dans l'article suivant avec les associations

Commentaires

Excellent!

Enfin un contenu clair. On a beau dire, des copies d'écran, c'est bien plus parlant que du technet. On se rend compte de la difficulté ou non de l'opération.
Didier
 sur 04/01/2012 10:50

Super

Bravo Xavier pour ce superbe article On se voir aux TechDays ?  Etienne
 sur 12/01/2012 09:34

 ‭(Masqué)‬ Outils de blog

 Share IT

Share |
 
 
 
 
 
 
 
 
 
 
 
 
 
Traduire cette page