lundi 17 décembre 2007

Ouh le vilain Sharepoint Designer !

Sharepoint Designer (SPD) est censé être loutil idéal pour customiser vos sites web Sharepoint, eh bien, ce nest pas toujours le cas lorsquil sagit dintégrer une charte graphique au caractère près

Or jai remarqué plusieurs comportements bizarres, voire même anormaux :

1.      lajout despaces intempestifs, du genre   entre les tags dun tableau, ou de liste non ordonnées. Pas vraiment de solution, à part utiliser un autre éditeur de page.

2.      lencodage de caractère HTML dans le code de webparts :  en modifiant la page par défaut dun site déquipe, au moment de lenregistrement, SPD remplace le code de la webpart annonce par défaut, provoquant un joli message : « Erreur du composant WebPart : Le fichier importé n'est pas valide. Vérifiez qu'il s'agit d'un fichier de description de composant WebPart (*.webpart ou *.dwp) et que le code XML qu'il contient est bien formé. »
La solution
 : remplacer les &lt; et les &gt;  par leur équivalent HTML non encodé, c'est-à-dire < et > dans le code des webparts mais ça devient vite lourd !

3.      en ouvrant une page maitre sharepoint qui ne serait pas publiée sur le serveur, le comportement est aléatoire au moment de lenregistrement. Faites le test sans faire aucune modif : la page qui fonctionnait sans probleme devient cassée

En utilisant un autre éditeur comme Visual Studio, et en uploadant notre page MASTER dans la gallerie de pages maitres, cela peut faire laffaire.

Conclusion :

Sharepoint Designer et WSS 3.0 ou MOSS : Oui pour la facilité daccés

Non pour les modifications dans notre dos, sans rien dire à personne.

>> Je lutilise de moins en moins, celui là

>> Il est préférable dutiliser Visual Studio pour éditer ses pages maitres si on veut pas avoir de surprises

Est-il prévu un service pack Microsoft pour SPD ? bonne question.

vendredi 14 décembre 2007

WSS : problème d'accès à la page d'ajout de droits (ACLINV.ASPX)

Cette semaine, lors d’un déploiement WSS3.0, j’ai rencontré un phénomène étrange :

 

En se connectant avec un compte administrateur de la collection de site, mais pas administrateur global :

- il est possible de supprimer des droits sur une liste

- il n'est pas possible d'accéder à la page pour ajouter des droits (ACLINV.ASPX) : erreur 403 IIS.

- mais cette page est accessible si on utilise un compte qui a des droits sur l'administration centrale de WSS

 

Bizarre, ce comportement ! manifestement un probleme de droits… Je vérifie le contenu de la page, et les objets qui sont appelés, à tout hasard.

Après quelques recherches délicates sur le Net, j’ai finalement trouvé quelqu’un avec le même problème, et miracle, son origine :

 

Ce comportement est dû à un hotfix Microsoft (patch de sécurité .NET 2.0, référencé ici http://support.microsoft.com/kb/928365 ) qui a quelques impact sur Sharepoint. Le comportement indiqué au dessus n’est cependant pas listé.

 

>> Une fois le patch désinstallé (via ajout/suppression de programme), et le serveur rebooté, la page ACLINV.ASPX est à nouveau accessible pour l'administrateur de la collection de sites.

 

Reste à voir quelle est la réponse Microsoft concernant ce problème, et s’il existe un patch cumulatif pour Sharepoint.

Pour le moment, pas d’infos probante sur le site de Microsoft, affaire à suivre !

jeudi 6 décembre 2007

MOSS et les réseaux sociaux avancés : Newsgator

Je suis tombé sur une présentation de NewsGator, outil de réseaux sociaux/communautés avancé sous Sharepoint :

http://www.newsgator.com/Business/SocialSites

Ce produit a été poussé par Microsoft fin Octobre dans sa news officielle :

http://www.microsoft.com/presspass/press/2007/oct07/10-17SharePointPartnersPR.mspx

Un petit résumé des fonctionnalités dispos, en francais :

Fonctionnalités produit, entre autres :

- ajout de flag pour marqué une actua LUE/NON LUE, de manière à ne présenter que le contenu "nouveau"

- intégration de tags/listes de tags sur le contenu

- s'appuie et respecte l'architecture MOSS

- permet de visualiser facilement les flux RSS disponibles d'un site

- fenetre Ajax permettant d'afficher un mini-profil utilisateur : derniere publications, articles lus, tags...

- mise en avant des utilisateurs les plus actifs, des sites les plus actifs

- gestion des flux RSS avancée (blacklist, souscription en 1 clic...)

Prérequis :

- quand l'entreprise dispose de MOSS ou de WSS3.0

Pourquoi utiliser ce produit ?

- pour intégrer du web 2.0 dans Sharepoint

- pour améliorer l'expérience utilisateur de la collaboration, en affichant du contenu toujours à jour.

- pour améliorer le partage de la connaissance

- pour obtenir des réseaux sociaux améliorés par rapport à l'offre MOSS

- aggréger des contenus, les étiqueter, et gérer les fils RSS plus facilement

- le nuage de tags permet de voir d'un coup  d'oeil "ce qui se passe" sur un site d'équipe

Tarifs :

Pas d’infos de tarifs sur le site, il faut les contacter pour savoir…

Je me demande si il y a déjà des retours d’expérience d’utilisateurs sur le sujet, en entreprise ‘réelle’.

Les réseaux sociaux en entreprise, je suis assez dubitatif…


vendredi 16 novembre 2007

Modifier la limite de 10mo d'un modele de site / liste

Dans SPS2003, la taille du modèle de site, incluant pages et contenu, était limité à 10Mo.

Cest également le cas dans WSS 3.0 et MOSS par défaut, il y a cependant du progrès : Microsoft permet de modifier cette valeur via loutil STSADM, et ce jusquà un maximum de 500 Mo !

Par exemple, pour faire passer la limite à 30Mo pour les modèles de listes ET modeles de site, taper dans la ligne de commande du serveur :

stsadm -o setproperty -propertyname max-template-document-size -propertyvalue 30000000

(ou 30000000 correspond à la taille en bytes)

et voilà ! la limite est modifiée. Attention cependant à ne pas faire de modèle trop gros, sachant que cela impactera directement la taille de la base de contenu si les utilisateurs partent de ce modèleJ

mardi 13 novembre 2007

Répartir ses sites WSS en bases de contenu

Pour des questions de maintenances et de facilité de backup/restore, il est conseillé de répartir ses sites WSS (plus exactement, ses collections de sites) dans plusieurs bases de contenu. (Ainsi, il est facile de remonter seulement une base plutot que la totalité du contenu.)



Depuis l'administration centrale de WSS3, il est possible de créer de nouvelles bases de contenu, mais par contre, lorsque l'on créée une nouvelle collection de site, c'est WSS qui choisi dans quelle base la stocker... et il "réparti" les collections sur les différentes bases de manières égale si ces bases ont les mêmes caractéristiques.

Petite astuce pour "forcer le choix de la base de contenu" de WSS : modifier la limite haute du nombre de site de la base dans laquelle on veut créer notre collection. Par défaut, cette valeur est fixée à 15.000, il suffit de la faire passer à 1.500.000 pour que WSS pense que la répartition est déséquilibrée, et lors de la création de la collection de site suivante, il aura tendance à la créer dans cette base de contenu-là. Ensuite repositionner la limite haute à la valeur par défaut.

Une autre possibilité, que je n'ai pas tester complètement mais qui semble également fonctionner : mettre toutes les bases "hors ligne" sauf la base de contenu qui nous intéresse. La prochaine collection de site créé le sera dans cette base.

Cette modification "en ligne" / "hors ligne" impacte le moteur de recherche WSS qui ne retourne plus de documents des sites de ces bases. Sinon, les sites des bases "hors ligne" restent accessibles.

dimanche 28 octobre 2007

Nouveaux thèmes WSS et debug...

Si vous vous êtes déjà penché sur le problème de comment créer un thème pour mon/mes sites WSS 3.0 / MOSS, vous savez déjà qu'il faut commencer en dupliquant un thème existant et le modifier.

Cela signifie donc :
  • aller dans le répertoire 12/TEMPLATE/THEMES
  • copier coller l'un des répertoires, avec son contenu.
  • donner un nouveau nom à ce répertoire
  • renommer le fichier .INF qui se trouve dans ce répertoire
  • éditer le .INF pour donner un nouveau nom au thème
  • éditer le fichier SPTHEMES.XML, et ajouter un déclaration (même nom que précédemment) pour ce nouveau thème.

Ce qui est moins évident, c'est comment "debugger" un thème facilement ? Visiblement, par expérience, la mise à jour des images n'est pas instantanné, ni les modifs du fichier CSS... La raison ? WSS met en cache le thème courant, avec ses images et sa CSS.

Cela signifie notamment, pour qu'une modification soit visible, qu'il faut recycler le pool d'application, et switcher vers un autre thème, puis le réappliquer. Enfin, coté client, il faut parfois forcer le rafraichissement du navigateur par un CTRL + F5...

Une partie de ces actions peut être effectuée via batch ou programme de switch en mode console (voilà donc le genre d'outils à mettre en place pour un debug rapide !)

lundi 27 août 2007

La webpart de requête de contenu MOSS ne fonctionne pas...

J'ai remarqué au cours de mes différentes navigations sur des sites MOSS, que la Content Query Webpart était potentiellement très utile pour récupérer du contenu dynamique à partir d'une requête, et le mettre en forme via XSL.

>> Je décide donc de me lancer avec une petite maquette, afin de voir jusqu'ou on peut aller dans cette personnalisation ...

Après avoir créé une collection de sites MOSS, je cherche à ajouter et à faire fonctionner la webpart de requête de contenu (également connu sous le nom Content Query WebPart, ou encore CQWP). (Environnement : 1 server MOSS FR avec un serveur SQL2005 pour le repository. Connexion avec le compte administrateur système de la collection de sites.)

1. Premier problème : la webpart n'est pas disponible dans la liste de webpart.
Solution : l'ajouter au site via la page d'administration 'Galerie de composants WebPart', en sélectionnant 'Nouveau', puis en cochant 'ContentByQueryWebPart' puis 'compléter la galerie'.

Ensuite, on ajoute la webpart sur notre page ASPX : on passe en mode édition, 'ajouter une webpart', puis ajout de 'ContentByQueryWebPart' à notre page.

2. Deuxième problème : la webpart est bien importée sur la page, mais affiche le message suivant :



"Impossible d'afficher ce composant WebPart. Pour résoudre le problème, ouvrez
cette page Web dans un éditeur HTML compatible avec Windows SharePoint Services
tel que Microsoft Office SharePoint Designer. Si le problème persiste, contactez
l'administrateur de votre serveur Web."


Si on essaye de "modifier le composant webpart partagé" par le menu contextuel de la webpart, on a alors un autre message d'erreur :




"Impossible de charger le fichier XSL. Le fichier spécifié est introuvable.

(Exception de HRESULT : 0x80070002)Page de maintenance des composants
WebPart : Si vous y êtes autorisé, vous pouvez utiliser cette page pour fermer
temporairement des composants WebPart ou supprimer des paramètres personnels.
Pour plus d'informations, contactez l'administrateur de votre site.

Résoudre les problèmes liés à Windows SharePoint Services. "

Solution : activer un feature responsable de la publication de la bibliothèque de feuilles de style...
Dans la page "Paramètres du site", cliquer sur le lien "Fonctionnalités de la collection de sites", puis activer la fonctionnalité "Infrastructure de publication Office SharePoint Server" en bas de page, qui dans mon cas, était désactivé par défaut.
(en version US, ce feature s'appelle "Office SharePoint Server Publishing Infrastructure")

Cela permet notamment de créé la bibliothèque de styles (accessible via l'URL http:///sites/Style Library/), dans laquelle la webpart va piocher sa feuille de style XSL.

A ce moment là, si l'on revient sur notre page d'accueil sur laquelle se trouve la webpart en erreur, celle ci affiche desormais plus rien (blanc), mais plus d'erreur. Il est alors possible de cliquer sur "modifier le composant webpart partagé" et ainsi de modifier les propriétés de la webpart.

Il est normalement possible de modifier la feuille de style utilisée par la webpart : ItemStyle.xsl.

3. Troisième problème : une modification de la feuille de style ItemStyle.xsl n'impact pas notre webpart : la liaison entre la feuille XSL et la webpart ne se fait pas bien.

Explication : en fait, au moment où l'on a activé la fonctionnalité MOSS (feature), une webpart "Composant WebPart de requête de contenu" (en version US : "Content Query Web Part") a été ajoutée et activée sur la bibliothèque de webpart de notre collection de site. C'est donc cette webpart qu'il faut utiliser, et non 'ContentByQueryWebPart' pour bénéficier de la liaison XSL. On supprime et on ajoute la nouvelle webpart.


(suite de la personnalisation dans un prochain post)

NOTE : la webpart de flux RSS fonctionne sur le même principe, et avec les mêmes sources : il faut donc que ce feature "Infrastructure de publication Office SharePoint Server" soit activé pour la faire fonctionner.


vendredi 24 août 2007

"Vous essayez d'utiliser un objet SPWeb qui n'est plus disponible..."

Vous êtes en plein développement de webpart pour MOSS, vous vous efforcez de suivre les bonnes pratiques de développement en libérant les ojets après utilisation (via "using" par exemple), et vous tombez sur cette erreur:
"Vous essayez d'utiliser un objet SPWeb qui n'est plus disponible..."

Voilà le genre de code que vous avez écrit, et pourtant, qu'il ne faut pas faire lorsque lon manipule des objet Sharepoint comme les SPWeb :

using (SPWeb web = SPContext.Current.Web)
{
...
}

En fait, il s'agit d'une référence vers un objet existant, et pas de la création d'un nouvel objet... la fin du paragraphe détruit donc l'objet SPS (qui n'était pas le votre) et tout nouvel appel à ce SPWeb provoque le message d'erreur...

La solution consiste donc à ne pas libérer/détruire cet objet, et laisser Sharepoint le gérer... (plus de 'using' dans notre cas)

Pour les best practices Microsoft, c'est ici que ca se passe (US) :
http://msdn2.microsoft.com/en-us/library/ms778813.aspx

lundi 30 juillet 2007

Liens sur la customisation MOSS

Série d'articles intéressants (3 articles) sur la personnalisation MOSS, les feuilles de style CSS, et les outils à disposition pour personnaliser, par Philippe Sentenac :

Le lien vers le 1er article : les navigateurs et MOSS
Le 2e article : les CSS
Le 3e : les outils du développeur MOSS

Exemples de customisation MOSS...

Une question que l'on nous pose régulièrement concerne la capacité de MOSS à pouvoir créer des sites web hautement personnalisables. (au design 'pro', et pas comme un simple intranet...).



MOSS est bien une solution de gestion de contenu web (intégrant notamment CMS et le système de pages maitres d'ASP 2.0...), et afin d'illustrer cela, voilà quelques exemples de sites qui tournent sous MOSS :


Certains de ces sites sont en production (Microsoft...), alors que d'autre sont de simples vitrines d'exemple.


Pour un tour d'horizon illustré, voir ce post de Nae Young Kwon (MS), qui est très bien fait.