Lors d’un provisioning de site en CAML, vous pouvez créer de nouvelles listes basées sur un modèle personnalisé. Mais si vous avez de petites modifications à apporter à chacune de vos instances, vous n’allez pas continuellement créer de nouveaux modèles et donc de nouveaux schémas.. C’est là que la propriété CustomSchema de l’élément ListInstance entre en jeu.
Grâce à cette nouvelle propriété de SharePoint 2010, nous allons pouvoir personnaliser le paramétrage d’une liste au moment de la créer:
Passons tout de suite au cas pratique:
1. Créons un nouveau projet vide SharePoint 2010, en mode sandbox


2. Ajoutons un élément vide à notre solution. Dans cet élément nous ajouterons nos schémas. Il est important de comprendre que lorsque nous ajouterons la référence vers ce schéma depuis notre ListInstance, il faudra faire un lien qui pointe vers le repertoire racine de la feature associée.

3. S’assurer que le fichier element.xml contenu dans notre module a bien un type de déploiement “Element File”. En effet, on le veut dans le dossier de la feature, mais on ne le veut pas dans SharePoint. Il ne sera juste utilisé qu’à la création de notre liste.

4. Ajoutons un schéma, simple dans un premier temps.

Nous avons ici renommé la colonne Title en “My display name”. Nous avons également simplifié la vue par défaut. Nous aurions pu aussi ajouter des types de contenu ou modifier les formulaires de saisie de données.
5. Ajoutons à notre solution un nouvel élément, de type “Instance de Liste”. S’assurer que cet élément s’active avec la même feature que celle utilisée pour le schema. En effet, l’instance de liste va référencer le schéma, il faut donc qu’ils appartiennent à la même feature.

Spécifions le modèle de liste générique, puis donnons un titre et une url à notre liste

6. Depuis le noeud ListInstance, ajoutons le CustomSchema vers notre schéma personnalisé que nous avons créé précédemment. Nous pouvons même commencer à remplir dans éléments dans notre liste

7. Déployons le tout, puis naviguons jusqu’à notre liste …

Et voilà, nous venons de voir une autre nouvelle fonctionnalité de SharePoint 2010, offrant beaucoup d’avantages pour le provisioning en CAML.
Plus d’info, comme toujours, sur MSDN …