Rendez vous, vous êtes cassé !!!!

Ce week-end en faisant mes emplêtes de Noël, je suis tombé sur le dernier jeu de société de chez Asmodee. Tout le monde ne partage pas ma passion des jeux de société mais si je précise que ce jeu est tirée des aventures de notre surfeur winner préféré je suis certain de faire dresser l'oreille à quelques MVPs à T-shirt jaune. Alors tous à vos Toys'r Us : http://www.kasscontrekass.com

Bil Simser a créé un outil d'édition de fichiers de définition CAML

Bil Simser récidive et nous propose aujourd'hui un outil facilitant l'édition des fichiers de définition CAML (ONET.xml et SCHEMA.xml) travaillant aussi bien avec les fichiers présent (WSS & SPS 2003) que à venir (SharePoint vNext).

http://weblogs.asp.net/bsimser/archive/2005/10/05/426720.aspx

Je vous en dirai des nouvelles dès que j'aurais pu le tester

Réunion du clubSPS le 3 octobre

Lundi avait lieu la réunion du clubSPS dans les locaux de Microsoft. Une fois encore de nombreux participants s'étaient réunis (notamment 2 de nos bons vieux Brices de MVP, Renaud et Redo)

J'ai au cours de cet aprés midi présenté quelques exemples d'utilisation avancée de CAML, notamment la capacité de créer des types de données avec un rendu graphique comme ceci :

Vous trouverez le détail de ma présentation et de ces exemples sur le site du clubSPS (http://www.clubsps.org/Dossiers/Librairie/Forms/AllItems.aspx?RootFolder=%2fDossiers%2fLibrairie%2fREUNION%20du%20CLUB%20SPS%20du%203%20oct%2e%202005&View=%7b4AF0FE69%2d0384%2d4FE0%2dAE85%2dA684049B61A2%7d)

Merci une fois de plus à Bil Simser

Je voulais me joindre aux nombreux bloggeurs SharePoint qui ont déjà remercié Bil Simser pour son nouveau élan de générosité. En effet, il vient de mettre à disposition ici un espace de démonstration des derniers templates d'applications WSS édité par MS.

A nouveau, levez nous et rendons grâce à Bil.

Un outil pour les inTTégrateurs fainéants

Par le plus grand hasard, je suis tombé là dessus : http://james.milne.com/SPSkin/index.htm

C'est un outil qui permet sans trop se fatiguer d'éditer en ligne les styles des différents éléments constituant un site SharePoint (barres de navigation, webparts, barres d'outil, etc...) avec en live un portail SPS ou un site WSS (ou plus exactement un fake de SharePoint) qui intègre votre charte.

Au final, ça vous donne un textbox avec le contenu de la CSS que vous n'avez plus qu'à récupérer pour l'implémenter chez vous. C'est pas totalement exhaustif sur les styles utilisés par SharePoint mais c'est quand même un très très bon début.

Modèle de site WSS : une limitation sur l'affichage de liste

Supposons que je veuille monter un site de commuanuté d'informations techniques autour de SPS par exemple.

Pour celà, je souhaite créer un modèle de site WSS (comme ça, je pourrais monter d'autres espaces sur plein de sujets passionnants : de .Net à VB/COM en passant par les bières belges et la tarte au maroille).

Dans ce modèle de site je voudrais créer deux listes de type "liens", une pour des liens références vers des articles MSDN et une autre pour des liens vers des articles d'autres communautés. Pour des commodités de gestion de l'alimentation, je fais bien le choix de 2 listes distinctes et non 1 liste avec un attribut de catégorisation pour distinguer les 2 types de lien.

Je souhaite également dans mon modèle de site, faire en sorte que ces 2 listes soient présentées sur la page d'accueil de mon site.

Je retourne donc à ce bon vieux CAML et à mon fichier de définition de site ONET.xml. Et c'est là que les soucis apparaissent :

  • je peux bien mettre 2 noeuds <List> avec l'attribut Type=103 (liste de liens) dans <Configuration><Lists> pour avoir mes 2 listes,
  • en revanche, je ne peux pas dans mon <Module><File> définir 2 noeuds <View> pour afficher chacune des listes, si je le fais ce sera 2 fois la même liste qui apparaîtra sur ma page.

XML dans Word 2003 - Gestion de schémas métiers avec des attributs

Après avoir assisté le mois dernier au séminaire "Développement Office" je me suis dit "Mon gros Eric, faut te replonger là dedans".

C'est donc ce que j'ai fait : première étape, revoir la façon dont Word 2003 permet l'intégration d'une structure XML dans mes documents. Ca tombe bien, sur le projet qui m'occupe actuellement on a créé un schéma de définition de notre fichier de configuration : OK, je vais tester l'édition de ce fichier dans Word.

Au départ, tout va bien : j'arrive bien à appliquer tous les noeuds de mon schéma dans mon document Word qui s'agrémente des jolies balises mauves. Quand tout à coup je me dis c'est bien beau tout ça mais mes infos importantes sont dans des attributs de mes balises (tout comme ce serait le cas avec les attibuts "key" et "value" d'un noeud appSettings/add d'un bon vieux fichier web.config). Alors, voyons voir comment Word 2003 me permet de saisir ça et me le rend à l'écran.

Et là, horreur, il ne me reste plus qu'à m'arracher le peu de cheveux qu'il me reste, parce que pour saisir la valeur des attributs il me faut faire un click droit sur le noeud et je me retrouve avec un tableau de saisie qui ressemble étrangement à la saisie des propriétés personnalisées du document et même une fois saisi une valeur je n'en vois aucune trace dans mon fichier Word à proprement parler.

Autrement dit, saisir du XML dans Word : OUI à condition d'avoir un schéma sans attribut.

SharePoint : Définir un rendu avancé pour les champs longs dans une vue en CAML

Après avoir vu un post de Bil Simser, Renaud m’a mis au défi de rendre la même fonctionnalité en modélisation CAML. En clair l’idée est, lors de la définition d’une liste de définir une colonne de type « saisie multiligne » et au rendu d’avoir un pavé que l’on puisse déplier-replier à souhait plutôt que d’avoir le texte brut dans la vue de rendu.

En image il s’agît de lister ses éléments comme ça :

 

Pour cela, le plus simple est encore de traiter le tout côté client. Pour chaque ligne on va générer deux variables javascript : une qui enregistre l’état plié-déplié du commentaire, une autre pour enregistrer le commentaire complet et également un div pour permettre d’afficher le texte court ou long. Enfin, il nous faudra une fonction javascript qui basculera le contenu du div du texte court accompagné du (+) au texte long accompagné du (-) et inversement.

Donc, pour commencer en partant de notre modèle de librairie documentaire, nous allons faire tout le travail sur son fichier de définition (SCHEMA.XML).

Tout d’abord, on va y ajouter notre colonne commentaire de type texte multiligne, en ajoutant au nœud <Metadata> la définition de ce champ comme suit :

<Field Type="Note" Name="Commentaire" DisplayName="Commentaire"></Field>

Ensuite, nous allons effectuer le reste du travail dans le nœud <View> correspondant à la vue « Tous les documents » et pour se faciliter la vie on va ajouter la fonction javascript de dépliage-repliage à l’entête de cette vue (dans le nœud <ViewHeader> comme suit :

<HTML><![CDATA[<script language="javascript">

function toggle(id)

{

if (eval('Collapsed'+id))

{

document.getElementById('ShowComment'+id).innerHTML = eval('Comment'+id) + "<a href='#' onclick='javascript:toggle("+id+");'>(-)</a>";

eval('Collapsed'+id+ '= false');

}

else

{

document.getElementById('ShowComment'+id).innerHTML = eval('Comment'+id).substring(0,30) + "<a href='#' onclick='javascript:toggle("+id+");'>(+)</a>";

eval('Collapsed'+id+ '= true');

}

}

</script>

]]></HTML>

Enfin, on va ajouter à la définition du rendu de chaque ligne le traitement spécifique souhaité pour la colonne « Commentaire », savoir ajouter un div et deux variables javascript. Pour cela on s’intéresse au nœud <ViewBody> et plus particulièrement à son sous-nœud <Fields> qui contient le traitement par défaut des colonnes, à savoir dans chaque colonne le rendu simple de la valeur par la présence du nœud <Field/>.

Dans notre cas, on va conditionner cet affichage pour le traiter de la manière spécifique souhaitée pour la colonne « Commentaire » grâce au nœud <FieldSwitch>, comme suit :

<FieldSwitch>

<Expr><Property Select="Name"/></Expr>

<Case Value="Commentaire">

<HTML><![CDATA[<div id="ShowComment]]></HTML>

<Column Name="ID"/>

<HTML><![CDATA["></div>]]></HTML>

<HTML><![CDATA[<script language="javascript">

var Comment]]>

</HTML>

<Column Name="ID"/>

<HTML><![CDATA[ = ']]>

</HTML>

<Column Name="Commentaire"/>

<HTML><![CDATA[';

var Collapsed]]>

</HTML>

<Column Name="ID"/>

<HTML><![CDATA[ = true;

document.getElementById("ShowComment]]>

</HTML>

<Column Name="ID"/>

<HTML><![CDATA[").innerHTML = Comment]]>

</HTML>

<Column Name="ID"/>

<HTML><![CDATA[.substring(0,30) + "<a href='#' onclick='javascript:toggle(]]>

</HTML>

<Column Name="ID"/>

<HTML><![CDATA[)'>(+)</a>";

</script>

]]></HTML>

</Case>

<Default> <Field/> </Default>

</FieldSwitch>

 

Je me lance dans la bataille

Je commence par me présenter :

Moi, c'est Eric (AKA Shrek à cause de mon côté ogre mal léché). Je bosse depuis 3 ans avec Renaud même si je ne sais pas si ça me met en valeur ou si ça me dessert de dire ça ;-) KC !!!!

Toujours est-il que dès le début de cette collaboration, il m'a forcé à faire du SharePoint. Et puis, petit à petit, j'y ai pris goût (je dois être maso). C'est pourquoi j'ai rejoint (merci encore Nix) le mouvement pour tenter de vous faire profiter de mon modeste savoir sur SharePoint et plus particulièrement sur CAML, qui comme l'a rappelé Mike FitzMaurice n'est pas prêt de mourir.

Suite aux prochains épisodes ...


Les 10 derniers blogs postés

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le il y a 28 minutes

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le il y a 7 heures et 54 minutes

- Hello CS par Le Blog de julz le il y a 13 heures et 20 minutes

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le il y a 16 heures et 11 minutes

- MVC Pratique #07 - Un projet concret et le transfert des objets avec les ModelBinders par #Rui le 10-09-2008, 23:39

- SQL Server 2008 : Certifié - TS Admin (70-432) par SQL Server vu par Christian Robert le 10-09-2008, 10:58

- [WPF] Comment changer la couleur utilisée pour sélectionner les éléments d’un ItemsControl ? par Thomas Lebrun le 10-09-2008, 10:49

- Hello World! par Hamid's Place le 10-08-2008, 23:38

- SQL Profiler - Configuration pour un développeur - tracer les requêtes SQL de votre application par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-08-2008, 15:52

- Monitoring et Patron de méthode par Le blog de Marc Ranchin le 10-08-2008, 10:22