lundi 25 juin 2012

Création Business Connectivity Service (BCS) pour SharePoint Server 2010


Présentation

Le but de ce développement est de permettre d’avoir une vue synthétique sur les utilisateurs des plannings fournit par Microsoft Project Server via SharePoint.

En effet, les données sont stockés dans la base de données SQL Server et donc uniquement accessible via requête SQL.

Ce développement va permettre d’afficher les informations relatives à la saisie des plannings par les utilisateurs via une liste SharePoint.

Plusieurs étapes sont nécessaires à cette réalisation :
  1.  Créer une vue des données à partir de la BDD SQL Server et nécessaire à la liste SharePoint
  2. Créer une entrée dans la Secure Store Service, qui va permettre au service SharePoint de stocker les informations relatives à la connexion avec le serveur de BDD.
  3. Créer un Type de contenu externe via un BCS (Business Connectivity Services) permettant de récupérer les données externes à la base de contenu SharePoint
  4. Attribuer les droits utilisateurs sur le type de contenu
  5. Créer une liste externe qui permettra d’afficher le type de contenu externe crée précédemment.
Rendu final de la liste externe cree via bcs sharepoint 2010
Rendu final de la liste externe cree via bcs sharepoint 2010

Création de la vue

Avec un utilisateur ayant suffisamment de droit sur la base donnée MSProject, se connecter et exécuter le script :


CREATE VIEW [dbo].[V_UTILISATEUR_WITH_DAY_LAST_PUBLISHED_TIMESHEET] AS
   (SELECT res.res_uid as id_utilisateur,
       res.res_name as nom_utilisateur,
       res.WRES_ACCOUNT as account_utilisateur,
       res.wres_email as email_utilisateur,
       max(act.MOD_DATE) as date_last_published,
       DATEDIFF(day,max(act.MOD_DATE),SYSDATETIME()) as nombre_jour_derniere_saisie
       FROM
    [ProjectServer_Published_project_portfolio].[dbo].[MSP_RESOURCES] res,
      [ProjectServer_Published_project_portfolio].[dbo].MSP_TIMESHEETS ts,
      [ProjectServer_Published_project_portfolio].[dbo].MSP_TIMESHEET_LINES line,
      [ProjectServer_Published_project_portfolio].[dbo].MSP_TIMESHEET_ACTUALS act
      WHERE res.WRES_ACCOUNT IS NOT NULL
      AND res.RES_UID = ts.RES_UID AND ts.TS_UID = line.TS_UID
      AND line.TS_LINE_UID = act.TS_LINE_UID
      group by res.res_uid, res.RES_NAME, res.wres_email, res.wres_account)
      UNION
      (
      SELECT res.res_uid as id_utilisateur,
       res.res_name as nom_utilisateur,
       res.WRES_ACCOUNT as account_utilisateur,
       res.wres_email as email_utilisateur,
       null as date_last_published,
       null as nombre_jour_derniere_saisie
       FROM [ProjectServer_Published_project_portfolio].[dbo].[MSP_RESOURCES] res
       WHERE res.WRES_ACCOUNT IS NOT NULL AND
       res.res_uid not in
         (SELECT distinct res.res_uid  FROM
                  [ProjectServer_Published_project_portfolio].[dbo].[MSP_RESOURCES] res,
                  [ProjectServer_Published_project_portfolio].[dbo].MSP_TIMESHEETS ts,
                  [ProjectServer_Published_project_portfolio].[dbo].MSP_TIMESHEET_LINES line,
                  [ProjectServer_Published_project_portfolio].[dbo].MSP_TIMESHEET_ACTUALS act
                  WHERE res.WRES_ACCOUNT IS NOT NULL
                  AND res.RES_UID = ts.RES_UID
                  AND ts.TS_UID = line.TS_UID
                  AND line.TS_LINE_UID = act.TS_LINE_UID) );


Une fois la requête exécutée la vue nouvellement crée apparaitra dans la liste des vues disponible après rafraichissement de la liste.

Création de la Vue Sql Server 2008 sur base de donnees Microsoft Server Project
Création de la Vue Sql Server 2008 sur base de donnees Microsoft Server Project

Création du secure store service

Se rendre dans la console d’administration SharePoint 
 
Puis dans  Application Management - > Manage Service Applications

Et sélectionner le service « Secure Store Service »

Secure store service Sharepoint 2010
Secure store service Sharepoint 2010
Il faut ensuite créer une nouvelle entrée et fournir les informations demandés en respectant bien le « Target Application Type » à « Group ».

Configuration du Secure Store Application pour Sharepoint 2010
Configuration du Secure Store Application pour Sharepoint 2010
 
L’authentification avec SQL Server se fait avec des identifiants Windows il n’est donc pas la peine de changer les champs dans l’écran suivant.

Login credentials pour authentification windows
Login credentials pour authentification windows
 
L’écran suivant permet de spécifier qui pourra administrer et qui sera membres de cette nouvelle entrée.

Attribution des droits sur le secure store service sharepoint 2010
Attribution des droits sur le secure store service sharepoint 2010
 
Ceci fait il ne reste plus qu’à fournir les identifiant de connexion via l’icône de la page principale.

Identifiants de connexion à sql server 2008
Identifiants de connexion à sql server 2008
 
Un temps d’attente pour que le Secure Store Application est nécessaire pour que celui-ci soit pris en compte par le serveur SQL Server (environ 1h, peut dépendre de votre configuration réseau/serveur).

Création du BCS

Grâce à SharePoint Designer, ouvrir le site concerné par la création du type de contenu externe.
Création via Sharepoint 2010 designer du type de contenu externe (external content type)
Création via Sharepoint 2010 designer du type de contenu externe
Et créer le nouveau type de contenu externe : 

Creation of external content types with sharepoint designer 2010
Creation of external content types with sharepoint designer 2010
 
Saisir le nom du nouveau type de contenu et cliquez sur « External System »:
Configuration external content type
 Configuration external content type
 
Ajoutez une connexion, et choisir « SQL Server », puis saisir le nom du serveur, le nom de la base de données, et le nom de l’ID de la Secure Store Application crée précédemment.
database server database name secure store application id
Provide the different informations for Secure Store Application configuration
 
Il suffit ensuite de sélectionner la vue dans l’explorateur d’objet de la base de données et d’ajouter les opérations de lecture d’item et de liste.

creation des operations ne read item operation new read list operation
Création des opérations ,new read item operation, new read list operation
Input parameters configuration new read item operation bcs sharepoint 2010
 Input parameters configuration new read item operation bcs sharepoint 2010

Création de la liste externe

Une fois le type de contenu externe il ne reste plus qu’a créé la liste externe.
creation liste externe external list BDC model
Création de la liste externe à partir du type de contenu externe

Attribution des droits sur le type de contenu

Un réglage au niveau des permissions sur le type de contenu est nécessaire pour permettre aux utilisateurs de consulter la liste.
Se rendre dans la console d’administration SharePoint
Et se rendre dans  Application Management - > Manage Service Applications
Business data connectivity service
Business data connectivity service
 
Sélectionnez le type de contenu nouvellement crée puis cliquez sur le bouton « Set Object Permissions »
Set object permissions on BDC business data connectivity metadata store
Set object permissions on BDC business data connectivity metadata store

Rendu de la liste externe

La liste externe ainsi crée est disponible sur le site et propose la même interface de gestion au niveau droits, vues et paramétrage qu’une liste SharePoint.
Rendu final de la liste externe cree via bcs sharepoint 2010
Rendu final de la liste externe cree via bcs sharepoint 2010


Plus loin avec les Business Connectivity Service (BCS) :  What's New: Business Connectivity Services (BCS) in SharePoint Server 2010
Plus loin avec les type de contenu externe (external content type) : What Are External Content Types?
Plus loin avec Business Data Connectivity (BDC) : Service BDC (Business Data Connectivity)
Plus loin avec le Secure Store Service Application : Configuring the Secure Store Service 
Téléchargement : Microsoft SharePoint Designer 2010





 


1 commentaire :