Comment éviter la prolifération des sites SharePoint ?

Pour éviter la prolifération des sites, vous avez besoin de définir un cycle de vie pour vos collections de site. Il s’agit d’une des composantes d’un plan de gouvernance. Pour gérer le cycle de vie des sites, SharePoint vous propose OOB les outils suivants : Confirmation de l’utilisation des sites et suppression Stratégie de site <td width="100"> <strong>SP2010</strong> </td> <td width="100"> <strong>SP2013</strong> </td> <td width="100"> <a href="/wp-content/uploads/2014/10/addcheck.png"><img class="alignnone size-full wp-image-259" src="/wp-content/uploads/2014/10/addcheck.

Lire la suite

Obtenir facilement le nom d'une assembly dans Visual Studio

Si vous travaillez avec SharePoint, vous avez probablement eu besoin de récupérer le nom d’une assembly. Depuis 2010, Visual vous facilite la vie avec les paramètres remplaçables: $SharePoint.Project.AssemblyFullName$ Mais comment récupérer le nom directement ? Dans Visual Studio, ouvrir Outils puis cliquer sur Outils externes. Cliquer sur Ajouter. Cocher Utiliser la fenêtre Sortie Saisir les valeurs suivantes : Titre : StrongName Commande : powershell.exe Arguments : -command « [System.

Lire la suite

Pourquoi utiliser les ensembles de document ?

Les ensembles de document (document set) permettent de gérer un ensemble d’éléments comme une seule entité. Il s’agit d’un type de contenu traditionnel ce qui veut dire entre autre qu’il peut porter des métadonnées et servir de base pour construire de nouveaux types de contenu. Cela peut vous être utile pour gérer : les réponses aux projets. Vous vous organisez pour avoir un fichier Devis, un fichier Présentation et un fichier Cahier des Charges.

Lire la suite

Pourquoi supprimer les dossiers dans SharePoint?

SharePoint est considéré par beaucoup d’utilisateurs comme un simple partage réseau. Par conséquent, ils s’en servent comme tel et mettent en place un classement par dossier. La profondeur de l’arborescence créée peut rapidement être vertigineuse ou excessivement large. Bref vous avez affaire à une jungle de dossiers. Pourtant SharePoint propose des métadonnées, des informations qualifiant un élément (un document en l’occurrence). Ces métadonnées peuvent être structurées dans un type de contenu pour vous faciliter la vie.

Lire la suite

Audit de SharePoint sans outils

Comment faire un audit d’un environnement SharePoint quand on ne dispose pas d’outil ? On peut trouver sur codeplex des outils comme SharePoint Farm Poster ou Inventory Tool qui proposent des bonnes idées. Mais pour être plus adaptée aux besoins des environnements, il faudra utiliser PowerShell, Visio, Excel et de l’huile de coude. Benjamin Niaulin a écrit un article permettant de créer un inventaire de SharePoint. Le script PowerShell permet de créer un fichier CSV contenant les données de l’environnement SharePoint.

Lire la suite

Affichage conditionné en #KnockoutJS et #JSOM

Poursuivons sur l’exemple de la création de session dans SharePoint, maintenant je vous propose de gérer l’inscription. Nous restons avec KnockoutJS et allons définir un composant dont l’affichage est déterminé par l’état des sessions et de l’utilisateur courant.

  • Utilisateur déjà inscrit;
  • Aucune session disponible;
  • Toutes les sessions sont pleines;
  • Inscription possible.

Afin de déterminer l’état du composant, JSOM sera utilisé avec CamlJS. La gestion des SPUserCollectionField réserve quelques surprises, comme vous le verrez plus loin dans l’article.

Lire la suite

Comparer deux versions d'un WSP rapidement

WSPCompare est un outil qui permet de comparer 2 WSP. Je l’ai croisé pour la première fois en 2009, autant vous dire qu’il n’est pas récent. Mais quand on a deux versions d’un WSP sans plus d’informations, il met en avant les différences entre les fichiers contenus dans les-dits WSP. Quand on double clique sur une ligne, l’outil passe dans l’onglet Details pour comparer les 2 fichiers comme dans un WinDiff simplifié.

Lire la suite

Validation de données et custom bindings avec #KnockoutJS

Quand il s’agit d’insérer des éléments dans une liste personnalisée, SharePoint propose une interface certes efficace mais qui peut manquer d’ergonomie.

Prenons comme exemple la création de session pour un événement. Pour un petit nombre de session, l’interface classique reste convenable. Pour un plus grand nombre, la vue Excel vient à la rescousse mais… le format des dates et certaines contraintes fonctionnelles peuvent poser problème. Alors on se met à imaginer une interface plus intuitive avec l’ajout de session dynamique, un datepicker pratique, de la validation de champs.

KnockoutJS couplé avec le JSOM de SharePoint me semble répondre aux critères de la demande et me permet d’éviter un voyage dans le passé (WebForm, Viewstate). Pour la validation, Knockout-Validation propose un système extensible comprenant les cas les plus classique (requis, regex, …). Pour le datepicker, j’ai trouvé DateTimePicker qui permet de sélectionner le jour et l’heure en plus d’être paramétrable.

Lire la suite

Ecrire facilement du CAML pour SharePoint

Quiconque travaille avec SharePoint a dû ou doit travailler avec le CAML. Et soyons franc, ce langage est moche et verbeux. Il existe des beaux outils comme CAML Designer ou feu U2U CAML Builder qui proposent une interface graphique facilitant sa génération. Mais question maintenabilité, cela demande toujours un effort certains. Voici 2 librairies – l’une en JS et l’autre en C# – qui permettent de générer du CAML directement dans le code avec une syntaxe accessible et maintenable.

Lire la suite

Chocolatey – gestionnaire de package pour Windows

Dernièrement j’ai découvert Chocolatey, il s’agit d’un gestionnaire de paquets pour Windows en ligne de commande. Ces outils surtout connus dans le monde Unix, permettent de gérer de manière centralisée l’installation, la mise à jour et la suppression des logiciels sur un système informatique. Je me souviens ces années avec les commandes apt-get de Debian, pacman d’Archlinux, emerge de Gentoo. Version actuelle : 0.9.8.27 1996 paquets dans le dépôt (repository)

Lire la suite