Sharepoint 2010 Dev Partie 1 : Création d’une liste externe basée sur des données stockées dans SqlServer

 

 

Sharepoint 2010 Dev Partie 1 : Création d’une liste externe basée sur des données stockées dans SqlServer

Rate This
  • Comments 4

Ce tutoriel est le premier d’une série qui constituera un tour d’horizon des possibilités de développement avec  Sharepoint 2010. Nous commencerons par des exemples simplistes, pour les faire évoluer et les compliquer au fur et à mesure des tutoriaux.

Je vous encourage à me proposer des sujets d’articles de développement sur Sharepoint, qui pourront venir compléter ceux que je prépare.

Objectif :

Avant tout, nous avons besoin de données qui pourront être exploitées dans nos cas d’école. Pour cet article, nous stockerons les données non pas dans Sharepoint, mais dans une source de données externe.

Ainsi nous allons créer un petit jeu de données,  dans Sql Server et l’utiliser comme source de données d’une liste externe.  

Rappel sur les listes externes :

La liste externe repose sur un type de contenu externe (external content type) qui peut être vu comme un pont entre la liste externe et la source de données externe. Les listes externes se définissent au niveau d’un site SP, tout comme les listes SP standard.

La liste externe est utilisable dans un modèle d’exécution SandBox, ce qui n’est pas directement  le cas pour un « external content type ». Pour plus d’information sur la création de listes externes : http://msdn.microsoft.com/en-us/library/ee558778.aspx

 

Il y a 3 manières de créer une liste externe :

·         Avec Sharepoint Designer

·         Directement dans votre site Sharepoint

·         Par le code

Dans notre cas, nous utiliserons Sharepoint Designer.

Etape 1 : Création du jeu de données dans Sql Server

1.       Lancez Visual Studio 2010 et ouvrez l’explorateur de serveurs (Menu View/Server Explorer).

2.       Créez une nouvelle base de données (click droit sur Data Connections) en spécifiant

a.       le nom du serveur (dans mon cas STEPHE\SQLEXPRESS)

b.       le nom de la base : MySite

 

Perdu ?

Si vous ne connaissez pas le nom de votre serveur, ouvrez l’intitulé de commandes et tapez osql –L :

3.       Créez une nouvelle table « Wine » et créez les colonnes comme ci-dessous.

 

La colonne Id est définie en primary key et en auto-incrément, les autres colonnes conservent leurs propriétés par défaut

Perdu ?

Sélectionnez  pour la colonne Id et définissez « Yes » pour la propriété « Is Identity » de cette même colonne.

 4.       Ajoutez des données dans la table en passant par un click droit sur la table et « Show Table Data ».

5.       Insérez ce qui vous fait plaisir, par-exemple les enregistrements ci-dessus…

6.       N’oubliez pas d’enregistrer J

Etape 2 : Création du type de contenu externe

1.       Lancez Sharepoint Designer

2.       Dans le menu de gauche « Site Objects », sélectionnez « External Content Type » , puis cliquez sur « New External Content Type » dans le bandeau.

 

3.       Modifiez la propriété Name : « Wines »

4.       Cliquez sur le lien « discover external data source »

5.       Cliquez sur le bouton « Add Connection »

 

 6.       Sélectionnez Sql Server

 

7.       Précisez le nom du serveur (« cmd osql  –L » si vous l’avez oublié entre temps J )

8.       Précisez le nom de la base de données

9.       Cliquez Ok

 

10.    Cliquez-droit sur la table Wine et sélectionnez « Create All Operations » pour permettre le contrôle total sur les éléments à partir de la liste externe.

 

 Cliquez Next sur la première page du Wizard qui va permettre d’associer les colonnes de la table aux colonnes de la liste.

 

11.    Définissez la colonne Id comme « Map To Identifier » : c’est la clé de notre table, donc c'est aussi l'identifiant de notre liste.

12.    Attribuez la propriété « Show In Picker » à la colonne Name  et cliquez Next

13.    Dans un premier temps, nous ne définissons pas de filtre, cliquez Finish

 

 14.    N’oubliez pas de cliquer « Save » sinon vous ne pourrez pas pointer sur ce contenu  quand vous définirez votre liste externe. 

Etape 3 : Création de la liste externe

Toujours dans Sharepoint Designer :

1.       Dans la menu de gauche « Site Objects », sélectionnez « List and Libraries »

2.       Dans le bandeau, sélectionnez « External List »

3.       Sélectionnez « Wines » et cliquez sur Ok

4.       Entrez un nom pour votre liste externe et cliquez ok

 

 5.       Cliquez sur « Preview in Browser » pour avoir un apercu de vos données

 

 6.       Oups : « Access Denied by BDC », il faut ajouter les droits pour les utilisateurs concernés sur cette liste.

7.       Ouvrez l’administration centrale de Sharepoint 2010

 

 8.       Allez dans  Application Management / Manage Service Applications / Business Data Connectivity Service / Wines / Set Object Permissions

9.       Entrez votre nom d’utilisateur pour le site Sharepoint dans la liste du haut et cliquez sur Add

 

10.    Cochez toutes les permissions et cliquez Ok

11.    Retournez dans Sharepoint Designer et cliquez sur l’aperçu de la liste externe Wines (ou sélectionnez directement la liste Wines sur le site Sharepoint).

 

 

Voilà le contenu de votre liste.

Dans les tutoriels suivants, nous verrons comment afficher ces données de manière moins traditionnelle et un peu plus ludique grâce à Silverlight.

 

Leave a Comment
  • Please add 2 and 6 and type the answer here:
  • Post
  • Excellent, on attend la suite avec impatience !

    Merci, +

  • Bonjour

    lorsque je réalise l'opération au moment de lister les éléments présent dans la base de données j'obtiens ce message:

    Échec de l'ouverture de session de l'utilisateur 'AUTORITE NT\ANONYMOUS LOGON'.

    avez-vous une idée?

  • Bonjour,

    Je vous suggère de suivre cet article pour résoudre votre problème:

    markiwaszko.blogspot.com/.../sharepoint-2010-bcs-connection-getting.html

    Cordialement,

  • Bonjour,

    trés bon tuto.

    Est-ce qu’il est possible de mettre les données, qui sont récupérées, dans une liste deroulante ? (par exemple : avoir un champs liste déroulante dans une liste personnalisé qui pointe sur la liste externe).

    merci d’avance.

    Bonne continuation.

Page 1 of 1 (4 items)
Page 1 of 4 (87 items) 1234