SharePoint : changement rapide du port d’administration centrale

Lors de l’installation (en mode graphique), le port de l’administration centrale est définit de manière aléatoire. Vous pouvez le changer si vous choisissez l’installation “Serveur Web frontal” ou “Complète”. En mode “autonome”, il n’est tout simplement pas possible de le choisir au moment de l’installation.

Personnellement, entre mes machines de développement, mes machines de production au bureau, les environnements clients (dev, pré-prod, prod, etc.), j’ai choisi d’uniformiser le numéro de port pour l’administration centrale.

Il est possible très simplement et très rapidement de changer ce port. Voici la procédure. Je rappelle qu’il ne faut bien évidement pas changer le port dans IIs sous peine de délier la configuration connue par SharePoint et la configuration réelle (message à passer à vos clients… tous les admins chez les clients ne sont pas au fait de cette règle).

Bref, voici les commandes magiques pour opérer : Continue reading

Rating 5.00 out of 5
[?]

Wiki SharePoint 2010: liens entrants toujours visibles

Pour un site Wiki qui fonctionne avec SharePoint 2010, j’ai eu besoin d’afficher sur toutes les pages les liens entrants, sans avoir besoin d’aller dans le ruban->page->afficher les liens entrants.

La solution la plus simple que j’ai trouvée est de modifier la page de disposition EnterpriseWiki.aspx avec SharePoint Designer (la modification ne sera valable que sur ce site Wiki).

Ajoutez ce bloc de code, au dessus du menu “Catégories” (par exemple):

 

Ce bloc est issu directement du fichier BackLinks.aspx situé dans le dossier Layouts. Le premier contrôle affiche le libellé “Les pages suivantes mènent à cette page :” (dans la langue de l’utilisateur) et le second est le contrôle qui affiche les liens entrant.

Le résultat est alors le suivant :

Backlinks wiki toujours visibles

Backlinks wiki toujours visibles

A noter que la page d’accueil, par défaut, utilise la disposition “Page de projet de base”. Les backlinks n’apparaitrons pas si vous conservez cette disposition, à moins de répéter la manœuvre pour ce fichier.

<div class=”ewiki-slink”>
<div>
<b>
<SharePoint:EncodedLiteral runat=”server” text=”<%$Resources:wss,incoming_links%>” EncodeMethod=’HtmlEncode’/>
</b>
<div>
<SharePoint:FormComponent TemplateName=”BackLinksDisplay” ControlMode=”Display” runat=”server”/>
</div>
</div>
<div>
<b>
<SharePoint:EncodedLiteral runat=”server” text=”<%$Resources:cms,enterwiki_pagerating%>” EncodeMethod=”HtmlEncode”/></b>
<div>
<SharePointPortalControls:AverageRatingFieldControl FieldName=”5a14d1ab-1513-48c7-97b3-657a5ba6c742″ runat=”server”/></div>
</div>
Rating 2.50 out of 5
[?]

SharePoint : AllowUnsafeUpdate simplifié

Voici une petite classe d’extension qui permet d’avoir une gestion plus simple de la propriété AllowUnsafeUpdate de la classe SPWeb :

L’idée est de détourner l’utilisation de l’interface IDisposable pour pouvoir utiliser un bloc “using” :

Trois avantages à ce pattern :

  • c’est plus lisible qu’une succession d’appels à la propriété AllowUnsafeUpdate et à la méthode Update()
  • en cas d’exception, la méthode Dispose est garantie d’être appelée… on s’épargne un Finnaly
  • le code gère l’état avant appel de la propriété AllowUnsafeUpdate en la sauvegardant.

On pourrait aussi imaginer l’utilisation d’une méthode qui reçoit un délégué, mais je trouve qu’est c’est un petit peu lourd à appeler par rapport au using.

Rating 3.00 out of 5
[?]

SharePoint : ajouter un webpart depuis une feature ?

Pour un de mes clients, j’ai été confronté à la difficulté suivante : comment, depuis une feature, instancier un web part sur la page d’accueil ?

En effet, un de mes features fournit web part spécifique, et je souhaite, à l’activation de la feature, qu’un exemplaire de ce dernier soit disponible sur la page d’accueil.

Tout aurait été simple si je déployait un nouvelle page. En effet, lorsque vous déployez une page, vous le faite via un module. Et dans un module, vous définissez un fichier à déployer :

Ici le noeud “AllUsersWebPart” permet d’ajouter un webpart à un page que vous êtes entrain de déployer. Comment faire alors pour une page existante, comme par exemple le fichier default.aspx ? Continue reading

Rating 3.50 out of 5
[?]

SharePoint : un web part qui ne s’affiche qu’avec certaines permissions ?

Voici un petit peu de code qui vous aidera à créer un WebPart qui ne s’affiche que si on dispose de certaines autorisations.

L’exemple typique est l’ajout d’un menu “gestionnaire” qui affiche certaines opérations/liens.

Ici, je vous montre un webpart qui permet d’afficher un lien vers un tableau de bord (dashboard.aspx) seulement si l’utilisateur connecté dispose de l’autorisation demandée :

L’astuce consiste à utiliser la propriété Hidden du WebPart plutôt que la propriété Visible. Si vous essayez de modifier cette dernière, vous aurez une erreur du genre :

[text]The Visible property cannot be set on Web Part XXXX. It can only be set on a standalone Web Part[/text]
Après déploiement du webpart, vous pouvez le poser sur une page de composant WebPart classique. Dans les propriétés de ce WebPart, dans la catégorie Divers, la sélection de l’autorisation nécessaire s’affiche :

Il suffit alors de sélectionner la permission requise pour afficher le web part.

Ce code est simpliste et ne sert qu’à montrer le principe. En production, on créera le webpart avec des règles métiers qui déterminent l’affichage, ou alors avec un ToolPart plus ergonomique, etc.

A noter que le webpart ici ne sécurise en rien la cible du lien… il ne fait qu’afficher ou non un lien !

Rating 3.00 out of 5
[?]

Démarrage de workflow SharePoint sur publication de version majeure

Par défaut, la page d’association d’un workflow vous propose les trois modes suivants :

  • Manuel
  • Lors de l’ajout d’un élément
  • Lors de la modification d’un élément

La case “Démarrer ce flux de travail pour approuver la publication d’une version principale de cet élément.” quant à elle est grisée, même sur une bibliothèque de document où vous auriez activé les version majeures et mineures.

Pour permettre à un workflow de démarrer sur une publication de version majeure, rien de plus simple. Continue reading

Rating 3.50 out of 5
[?]

Colonne en lecture seule, mais visible

Pour un projet SharePoint j’ai été confronté au problème suivant : des colonnes devaient être calculées par un bout de code, non éditable par l’utilisateur mais par contre visible dans une vue ou dans la page de détail de l’élément.

Pour ce projet j’ai défini des ContentTypes personnalisés, avec des colonnes de sites dédiées.

En fouillant dans la documentation, je vois les attributs “ReadOnly” et “ReadOnlyEnforced” :

Je me dit “Super! il suffit de passer ces attributs à True et le tour est joué !”. Malheureusement, on est en plein “SharePoint mystic undocumented attitude” et la colonne est toujours bien là, visible et éditable.

Il existe toutefois une combinaison d’attributs qui permettent d’atteindre l’objectif.Par exemple, pour définir la colonne de site “Référence”, de type texte :

En gros, on précise manuellement le comportement souhaité, c’est à dire visible à l’affichage mais pas en édition.

A noter que les attributs “ReadOnly” et “ReadOnlyEnforced” ne sont, à ma conaissance qu’utilisés lorsque vous êtes dans une bibliothèque de document et que vous ouvrez un document dans Office…

Rating 3.67 out of 5
[?]

SharePoint 2010 et Office 2010 X64: impossible d’afficher en feuille de données ?

Si vous installez Office 2010 en version 64 bits, il est possible que vous tombiez sur cette erreur :

[text]The list cannot be displayed in Datasheet view for one or more of the following reasons: A datasheet component compatible with Windows SharePoint Services is not installed, your browser does not support ActiveX controls, or support for ActiveX controls is disabled.[/text]

Continue reading

Rating 5.00 out of 5
[?]

Error lors de l’installation des Office Web Apps 2010 sur Windows 7

La première étape consiste à modifier le fichier “Files\Setup\config.xml”, pour y ajouter la ligne suivante :

Mais si vous avez déjà installé SharePoint Server 2010 ou SharePoint Foundation 2010 sur votre Windows 7, vous aurez déjà trouvé cette solution 🙂

Par contre, lorsque vous lancerez l’installation, vous allez vous heurtez à un sombre message d’erreur :

Erreur lors de l’installation d’Office Web Apps 2010 sur Windows 7

En fouillant un peu, vous verrez dans le dossier %TEMP% un fichier de log avec comme erreur : Continue reading

Rating 4.78 out of 5
[?]