Skip to main content

          

Coach Sharepoint : Créer votre Feature avec code behind pour SharePoint

Cet atelier s’inscrit dans le cadre du tutorial de découverte du développement avec la technologie SharePoint 2007. L’objectif est la réalisation d’un modèle de site entièrement personnalisé avec la méthodologie expliqué pas à pas.

Les exercices de l’atelier N°4 s’approchent désormais plus du monde des API SharePoint en les introduisant via le cycle de vie des Features inhérent à SharePoint 2007.

Si les Features introduisent la notion de composant dans le développement SharePoint, elles sont aussi limitées aux possibilités fonctionnelles qu’offre le schéma CAML. Il est cependant possible de les étendre en s’appuyant sur les API de développement et les événements spécifiques aux Features.

Ce chapitre permettra ainsi de faire la transition entre le monde déclaratif XML de SharePoint et celui du tout API tout en servant d’introduction aux bonnes pratiques de code dans le monde SharePoint.

Le cahier d’exercice et la solution de cet atelier sont disponibles en téléchargement gratuit.

 

          

1     Introduction

 

Cet atelier s’inscrit dans le cadre du tutorial de découverte du développement avec la technologie SharePoint 2007. L’objectif est la réalisation d’un modèle de site entièrement personnalisé avec la méthodologie expliquée pas à pas.

Les exercices de l’atelier N°4 s’approchent désormais plus du monde des API SharePoint en les introduisant via le cycle de vie des Features inhérent à SharePoint 2007.

Si les Features introduisent la notion de composant dans le développement SharePoint, elles sont aussi limitées aux possibilités fonctionnelles qu’offre le schéma CAML. Il est cependant possible de les étendre en s’appuyant sur les API de développement et les événements spécifiques aux Features.

Ce chapitre permettra ainsi de faire la transition entre le monde déclaratif XML de SharePoint et celui du tout API tout en servant d’introduction aux bonnes pratiques de code dans le monde SharePoint.

 

1.1   Contexte fonctionnel

 

Rappel du contexte fonctionnel du Tutorial de découverte de la technologie SharePoint 2007

L’objectif du tutorial est de construire pas à pas un site personnalisé SharePoint incluant les grands axes de développement SharePoint tel que

  • Création d’un modèle de site avec son design et sa charte graphique
  • Ajout de fonctionnalités déclaratives par les « Features ».
  • Ajout de fonctionnalités associées avec des événements de code .Net
  • Composants WebPart
  • Son Packaging et Déploiement complets

 

Contexte fonctionnel de l’atelier 4 dans le cadre du Tutorial

L’objectif est de découvrir la conception et la réalisation de Features avec événements de code pour des sites SharePoint.

Les Features sont vraiment une des clés du fonctionnement propre de SharePoint 2007. Qu’il s’agisse de déployer les éléments de base ou de mettre en place la structure d’un projet, elles sont simplement incontournables.

Leur cycle de vie propre, installation / activation / désactivation / désinstallation associé aux scénarii de regroupement et de « stapling » permettent bien des solutions. Mais ce n’est pas une fin en soi.

Dans le framework SharePoint, vous pouvez aussi, intégrer vos propres actions de code dans le cycle de vie des Features simplement en les rattachant aux divers événements, précédemment cités

Si les premiers tutoriels avaient permis de couvrir une bonne partie de l’aspect déclaratif du CAML, les événements de Feature avec Code nous font accéder à un autre niveau de personnalisation de la plateforme.

En effet, il n’y a pas vraiment de limites aux possibilités du modèle objet SharePoint. L’API couvre potentiellement toute la plateforme SharePoint. Les événements de code les utilisent directement dans le cycle de vie de SharePoint ; et permet donc d’interagir au plus prêt du cœur même du système de déploiement.

Soit mixer les avantages communs des Features et du modèle objet : une approche composant entièrement personnalisée.

 

1.2   Contexte technique

 

Le mode événementiel des Features n’est pas aussi complexe que l’on pourrait croire. Il nécessite 2 étapes :

·        Implémenter la classe abstraite SPFeatureReceiver et ses 4 méthodes de bases

·        Référencer le type et l’assemblée dans le manifest du Feature

Il est donc très aisé d’étendre ses Features et leur ajouter tout comportement métier nécessaire. D’ailleurs, on peut distinguer 3 scénarii de bases :

·        Une Feature étendue :

Il s’agit surtout d’ajouter une action visant à finaliser ou compléter le code déclaratif.
Exemple : utiliser un MODULE en CAML pour une nouvelle Master Page puis du code pour l’appliquer au site en cours.

·        Une Feature applicative :

Elle ne contient aucun élément de CAML, elle n’utilise que le système de code événementiel pour profiter du cycle de vie et introduire un comportement métier spécifique.

Exemple : créer et initialiser des groupes de sécurité dans un site SharePoint.

·        Une Feature de déploiement

Cas particulier ou l’objectif est de profiter du Stapling de Feature sur un identifiant de site pour pouvoir déployer une action métier. Le but est cibler une mise à jour d’un modèle ou un suivi de génération.

Exemple : suivre la création de nouveau site en inscrivant dans une base de données, toute création de sous-site.

Les API SharePoint combinées au framework .Net offre un panel de solution bien plus large, leur utilisation au cœur même de la plateforme SharePoint par l’intermédiaire des événements de Features est définitivement un des principaux outils du développeur.

Mais les API SharePoint imposent aussi une approche spécifique du fait même des spécificités de la plateforme qu’il s’agisse du moteur ASP.Net et de sa gestion mémoire. De ce fait, ce tutoriel fera une introduction aux diverses bonnes pratiques du développement et de la hiérarchie objet de SharePoint 2007.

L’objectif de ce tutoriel est de vous permettre de bien comprendre l’utilisation des API et ceux dans le cas de Feature. Bien sur, nous restons dans le fil rouge initié par les tutoriels précédent : étendre un site SharePoint. Ainsi, les exemples seront basés sur des Features déclaratives déjà vu mais complétées fonctionnellement (ajout de comportement, mise à jour, …).

Bien entendu, les Best Practices, astuces de développements et quelques retours d’expérience seront au cœur même de ces exemples.

A la fin, vous saurez comment :

1.    Créer votre propre Feature Receiver

2.    Monter une solution de développement SharePoint pour vous faciliter sa conception

3.    Travailler avec divers objets SharePoint comme les listes, les menus

4.    Allez plus loin dans la découverte dans la personnalisation SharePoint

Soit en pratique :

  1. Introduction et découverte des Features Receiver
    • Présentation simplifiée
    • Référencement et définition
    • Code de base
  2. Introduction au API SharePoint
    • La hiérarchie logique
    • Les classes de bases
    • Gestion de la mémoire
  3. Conception d’une solution de développement Visual Studio :
    • Préparation et configuration de l’outil
    • Création du projet et des scripts de travail
    • Création d’une Feature Receiver Simple
  4. Divers exemple clés en main
    • Personnalisation de la navigation et des WebParts
    • Menu dynamique
    • Suppression de fichier
    • Master Page et son application

Cet atelier se base sur l’utilisation de la technologie SharePoint 2007 via son offre de base Windows SharePoint Services V3 (WSS). La lecture des tutoriels du Coach 1 & 2 & 3 est un vrai plus pour une compréhension globale.



Microsoft réalise une enquête en ligne pour comprendre votre opinion sur le site Web de. Si vous choisissez de participer, l’enquête en ligne vous sera présentée lorsque vous quitterez le site Web de.

Souhaitez-vous y participer ?