SharePoint 2013 – afficher plus de données dans un calendrier ?

03 Jan 2016

Si vous avez eu la chance de travailler avec SharePoint et dans ce cas ci avec des calendriers SharePoint, vous vous êtes peut-être demandé si il n’y avait pas une possibilité avec des fonctionnalitées « out of the box » d’afficher d’avantage de données dans les events du calendrier SharePoint. La réponse est oui !

SharePoint

Enfaite c’est assez simple, mais parfois, si on vient d’embarquer dans cette technologie s’est pas évident. Il est possible avec SharePoint de travailler avec ce que l’on appel des Content Types, ce sont enfaite des Objets qui vont nous permettre de donner une vision spécifique (proche du réel, un peu comme les fondements de l’OO) à des informations que l’on veut stockées. Par exemple dans le cas du calendrier, le content type est un Event qui est représenté par un Titre, un Lieu, l’Heure de départ, etc.

SharePoint Content Types

Des content types il en existe déja tout plein dans SharePoint, vous pouvez les réutiliser et les adapterà vos besoin. Voici un très bon article sur les Content Type : http://en.share-gate.com/blog/sharepoint-content-types-understand-use-create

Comme je vous le disais, un Content Type recense un certains nombre de propriétés (appelé Colonne), il est possible d’en rajouter pour que ceux soient plus spécifique à vos besoins. Par exemple pour mon cas, j’ai dû rajouter plusieurs autres colonnes pour mes Events.

Mais comme ces nouvelles colonnes ne sont que des rajouts supplémentaire, ils arrivent souvent que SharePoint les ignorent et ne les affichent pas. Pour remédier à ce problème, nous avons deux options possible, la première option est de plonger dans le code et de créer des vues spécifiques. La seconde option, celle que nous allons traiter dans cet article, est de contourner le problème en utilisant une nouvelle colonne pour afficher ces informations. Dans cet article, comme son nom l’indique nous allons principalement travailler avec une liste de type Calendar

Sélectionner votre List qui contient toutes les instances de votre Content Type, sur le ruban du haut et cliquez sur List Settings.

List settings

Dans la nouvelle page, vous allez voir une description du Content Type ainsi que la liste de toutes les colonnes qui sont utilisée par celui-ci. Juste en dessous de cette liste, cliquez sur Create column. Une nouvelle page apparaît et va permettre de paraméter la nouvelle colonne. Dans notre cas, ca va être une colonne de type Calculated. Ce type de colonne permet en gros de formater la valeur qu’il va afficher. Donner un nom unique à la nouvelle colonne et rendez vous dans le champs Formula. A droite de celui-ci vous aurez la liste de toutes les autres colonne de votre Content Type.

Calculated colonne

Vous l’aurez compris, dans le champs Formula, nous allons un peu à la façon d’une cellule en Excel, concaténer les autres colonnes de notre Content Type. Mais pas quen on pourra également formater les chaînes (date, nombre, chaînes de caractères, etc.) et aussi rajouter des conditions pour aller plus loin. Je vous redirige vers MSDN pour plus d’informations : Calculated Field Formulas. Après avoir définis votre champs calculé, sauvegardé votre colonne, voici un exemple :

Maintenant nous allons afficher cette colonne, pour cela, sélectionnez votre List/Calendrier, sur le ruban du haut sélectionnez le groupe Calendar et ensuite cliquez sur Modify View. Une nouvelle page s’ouvre et vers le milieu de celui-ci vous touverez une partie appelée Calendars columns qui liste les différentes colonnes qui sont affichée selon les vues sélectionné. Utilisez les selectbox pour sélectionner la colonne que vous avez créez plus tôt et sauvegardez vos changements.

Calendar colonnes

Et le tour est joué, lorsque vous avez vous rendre sur le calendrier, les events disponible vont afficher le contenu du champs calculé que vous avez créez. C’est efficace et ca fonctionne assez bien. Enjoy !