Accueil
News
Articles
Tutoriaux
WSS 3.0
Administration / Configuration
WebParts
MasterPages / Thèmes
Features
MOSS 2007
Web Content Management
Excel Services
InfoPath Forms Services
WSS 2.0 / SPS 2003
SharePoint-World
A propos de...
L'équipe
Les technologies SharePoint
Windows SharePoint Services 3.0
Office SharePoint Server 2007
Salons / Evènements
TechDays 2008
SharePoint Conference 2008
Tech-Ed 2008


Calendrier : Faire disparaître l’option "Espace de travail" 
Etat des lieux, problématique et solutions possibles 

 1  2  3  Page suivante

Toutes les personnes ayant utilisé les listes de type calendrier se sont généralement demander comment supprimer la case à cocher permettant de créer un espace de travail associé à la réunion en cours de création. Ce tutorial vous explique les tenants et aboutissant liés à cet état de fait et comment remédier au problème.

Etat des lieux

Lorsque vous créez une liste de type Calendrier, automatiquement SharePoint la peuple, suivant un content type défini, avec les colonnes suivantes : titre (Title), localisation (Location), description (Description), date/heure de début (StartTime) et date/heure de fin (EndTime) et 3 cases à cocher relatives à la périodicité (Recurrence), la durée (AllDayEvent) et l’espace de travail (Workspace).

Problématique

Si vous allez voir le content type utilisé pour cette liste (à partir de la liste : Paramètres > Paramètres – liste, Paramètres avancés, Autoriser la gestion des types de contenu ? doit être à oui), vous pouvez voir que event autorise la modification de l'état de toutes les colonnes (required, optional ou hidden) SAUF les 3 colonnes associées aux cases à cocher.

Solution pour environnement de test

Solution 1 : Modification des pages utilisées pour la création (NewForm.aspx) ou la modification (EditForm.aspx) d’un élément
Solution 2 : Modification de la feature EventsList
Solution 3 : Modification de la feature ctypes

Ces solutions, même si elles sont intéressantes, ne me semblent pas satisfaisantes dans un environnement de production pour les raisons suivantes :

La solution 1 (modification de pages de référence) va engendrer le deghosting des pages. De plus, si vous avez besoin de répéter sur plusieurs sites la même opération, cela peut devenir fastidieux à moins de le faire directement sur les pages "à la source", mais cela engendre les mêmes problèmes que dans les solutions suivantes.

Pour les solutions 2 et 3, la modification des content type de référence s'appliquera à tous les sites actuels et futurs et aura un impact sur l'existant en cas de retour arrière. De plus, si un hotfix ou un service pack vient modifier ces content type de référence, vous risquez de perdre vos modifications.

Solution pour environnement de production

L'objectif étant d'avoir une solution simple et durable, voici une quatrième solution : créer un nouveau type de liste calendrier qui hérité de event mais sans espace de travail.

Descriptif des différentes étapes :

Etape 1 : Faire un copier/coller de la feature EventsList et la renommer en EventsListWS

Etape 2 : Renommer le sous répertoire Events en EventsWS

Etape 3 : Remplacer les GUID de tous les fichiers xml présents dans EventsListWS

Etape 4 : dans le fichier schema.xml :

Modifier le GUID afin de faire en sorte qu’il hérite du type event de base (0x0102).

<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="CalendarWS" Direction="$Resources:Direction;" Url="Lists/CalendarWS" BaseType="0">
  <MetaData>
    <ContentTypes>
      <ContentTypeRef ID="0x010200FFCBB01636444DF29E1F5170DC0F405E">
        <Folder TargetName="EventsWS" />
      </ContentTypeRef>
    </ContentTypes>

Supprimer toutes les lignes où l’intitulé workspace apparaît.

Il serait tout à fait possible de s'arrêter à cette étape (il faudrait ajouter une ultime étape qui correspondrait à l'installation et l'activation de cette nouvelle feature via stsadm) mais ce serait se satisfaire du minimum et devoir faire face à quelques désagréments (présence de 2 types de liste portant le même intitulé calendrier, activation/désactivation de la feature pour chaque site concerné via stsadm).



Designed by Plaza-Design