IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Sharepoint

FAQ SharepointConsultez toutes les FAQ

Nombre d'auteurs : 2, nombre de questions : 46, dernière mise à jour : 16 juin 2021 

 
OuvrirSommaireOutils et développement

Sharepoint designer est un outil payant qui se veut être le successeur de FrontPage. Il sert à
personnaliser les sites Sharepoint.
Par personnalisation, on entend :

  • Changer le style (look & feel) des pages
  • Créer/Modifier de nouvelles pages ou en supprimer
  • Créer des workflows

Il propose une interface graphique permettant de visualiser les changements avant de les appliquer
online. Il offre trois vues possibles :

  • Une vue graphique
  • Une vue code source
  • Une vue divisée entre graphique et code source
Créé le 1er mai 2007  par Stephane Eyskens

Les DLL de Sharepoint sont principalement stockées dans c:\program files\common files\microsoft shared\web server extensions\12\isapi


L'assembly permettant de manipuler les objets Sharepoint se trouve dans Microsoft.Sharepoint.dll

Créé le 1er mai 2007  par Stephane Eyskens

Vous avez créé une nouvelle page ou bien vous modifez la page " Default.aspx " d'un site Sharepoint existant et vous n'arrivez pas à y mettre du code C# ou VB.NET car vous obtenez une erreur d'exécution ? C'est normal, la sécurité Sharepoint vous en empêche.

Vous devez donc explicitement autoriser le " inline code " dans vos pages. Pour cela, effectuer les étapes suivantes :

  • Editez le web.config de votre application Sharepoint
  • Localisez/Ajoutez la section « PageParserPaths »


Editez-là de manière à obtenir ceci

 
Sélectionnez
<PageParserPaths>
  <PageParserPath VirtualPath="/chemin/page.aspx" CompilationMode="Always" AllowServerSideScript="true" />   
</PageParserPaths>

Où " chemin/page.aspx " représente la page pour laquelle vous autorisez le code. Vous pouvez utiliser le wildcard " * " pour autoriser plusieurs pages (ex : *.aspx)

Créé le 1er mai 2007  par Stephane Eyskens

Un WebPart est un contrôle serveur héritant de la classe WebPart. Le développeur doit créer son environnement graphique " manuellement " sans le support du designer (voir question suivante).

Par déploiement manuel, on entend :

  • Création d'un projet de type "project library" dont la classe principale hérite de WebPart
  • Signature de votre assembly
  • Déploiement de l'assembly dans la GAC
  • Ajout de la signature de votre assembly obtenue avec Reflector dans la section <safecontrols> du fichier web.config de votre application Sharepoint
  • Chargement de votre WebPart dans la gallerie de WebParts
Créé le 1er mai 2007  par Stephane Eyskens

Il n'existe pas à proprement parler de designer mais il existe le SmartPart. Le SmartPart permet d'intégrer un User Control ASP.NET au sein d'un WebPart. Vous pouvez ensuite déployer le SmartPart dans Sharepoint.

Pour plus d'info, consultez le site de l'auteur SmartPart

Créé le 1er mai 2007  par Stephane Eyskens

Une feature peut représenter n'importe quel type de développement. Une feature est une sorte de composant que l'on peut activer/désactiver au niveau d'un site ou au niveau d'une collection de sites en fonction du scope (portée) qui a été défini lors du déploiement de la feature.

Au sein de cette feature, on peut incorporer un webpart, des pages aspx, un workflow, ou encore modifier les menus intégrés de Sharepoint (comme le Site Actions par ex).

Créé le 1er mai 2007  par Stephane Eyskens

Un Event Handler est une DLL que l'on peut associer à une liste en vue d'intercepter un évènement se produisant sur celle-ci.

Ils permettent d'exécuter n'importe quel code à un moment bien précis comme par exemple à l'ajout d'un item dans une liste, la modification ou la suppression de celui-ci ou tout à la fois.

Ils pourraient par exemple aussi être utilisés pour empêcher toute personne de supprimer un item pour disposer d'une liste " indestructible ".

Un autre cas plus réaliste d'utilisation consisterait à définir une sécurité au niveau d'un item en fonction des données contenues par celui-ci, ce que la sécurité " statique " de Sharepoint ne nous permet pas de faire.

Créé le 1er mai 2007  par Stephane Eyskens

Dans MOSS & WSS, l'utilisation des Events Handlers est désactivée par défaut. Pour les autoriser, vous devez procéder comme suit :

  • Allez dans la centrale d'administration
  • Allez dans Application Management
  • Allez dans Advanced Settings
  • Cliquez sur " Allow backward compatible event handlers"
Créé le 1er mai 2007  par Stephane Eyskens

Auparavant, Sharepoint permettait de lier un Event Handler à une liste directement via la centrale d'administration mais ce n'est plus le cas. Vous devrez donc le faire par le code directement.

Vous devez d'abord enregistrer votre DLL dans la GAC. Ensuite, voici un petit exemple (appli console) qui montre comment lier celle-ci sur l'évènement " ajout d'item " à une liste.

 
Sélectionnez
try
{
  string AssemblyName = "nom assembly obtenu avec reflector"
  string ClassName = " namespace.votreclasse "
  SPSite Site = new SPSite(" url de votre serveur ");
  SPWeb Web = Site.OpenWeb();
  SPList List = Web.Lists["Votre Liste"];
  List.EventReceivers.Add(SPEventReceiverType.ItemAdded, AssemblyName, ClassName);
  List.Update();
  Web.Close();
  Site.Close();
}
catch(SPException SpEx)
{
  // Traitement…
}

Si votre DLL intercepte d'autres évènement (ItemAdding, ItemModified etc…), vous n'avez qu'à ajouter les EventReceivers les uns derrière les autres.

Il existe également un ou plusieurs outils tiers qui permettent de lier un Event Handler à une liste. Vous en trouverez notamment un ici

Créé le 1er mai 2007  par Stephane Eyskens

Créer un thème personnel constitue une approche intéressante pour personnaliser le look & feel des applications Sharepoint car un thème peut être activé/désactivé au niveau d'un Site indépendamment des autres sites.


Pour créer son propre thème, il faut au minimum procéder aux étapes suivantes :

Etapes de création d'un thème
  • Localisez le thème built-in qui correspond le plus à celui que vous comptez créer
  • Ouvrez un explorateur sur c:\program files\common files\microsoft shared\web server extensions\12\layouts\themes
  • Copiez le répertoire du thème qui se rapproche le plus de ce que vous voulez faire et renommez-le <votretheme>
  • Allez dans ce nouveau répertoire, ouvrez <letheme.inf> et remplacez les occurrences de <lethme> par <votretheme>. Remplaçez ensuite le numéro dans le paragraphe version par un numéro unique du genre 22035. Fermez le fichier et renommez le en <votretheme.inf>
  • Localisez SPTHEMES.XML (quelque part dans web server extensions/12/...) et ajoutez-y une entrée pour votre theme
  • Allez dans Sharepoint, appliquez votre thème à un site
  • Ouvrez Sharepoint designer, déployez le répertoire _themes et localisez votre thème. Vous y trouverez un fichier nommé <votretheme0001.css", editez-le et vos changements seront directement effectifs (raffraîchissez la page web du site qui utilise votre thème)


Notez que pour que les modifications s'appliquent entièrement au thème, vous devrez remodifier theme.css se trouvant dans "_thmemes" et theme.css se trouvant sur le disque. Modifiez aussi la version dans le fichier <votretheme .inf>.

Notez également qu'il n'est pas évident de personnaliser le thème copié car Sharepoint utilise des milliers (j'ai jamais compté) de classes CSS et il faut réussi à trouver à quels éléments elles se rapportent.

Créé le 1er mai 2007  par Stephane Eyskens

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.