Freigeben über


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

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 : https://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.

Comments

  • Anonymous
    August 10, 2010
    Excellent, on attend la suite avec impatience ! Merci, +

  • Anonymous
    March 21, 2011
    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 NTANONYMOUS LOGON'. avez-vous une idée?

  • Anonymous
    March 22, 2011
    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,

  • Anonymous
    September 18, 2011
    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.