12 août 2014

SHAREPOINT : Selectionner la signin page ADFS par défaut

Aujourd'hui un petit post sur l'utilisation du couple ADFS et SharePoint.
 
Il est possible d'associer sur une web application un fournisseur basé sur ADFS en créant un "trusted identity provider". Cette action est à réaliser depuis le menu "Authentication provider" disponible dans le menu des gestion des applications web.
 
Par contre, il est fortement recommandé de laisser sélectionner le provider NTLM afin que les éléments puissent être indexés par le service de recherche.
Dans cette configuration, vous vous retrouverez donc avec une jolie zone déroulante de sélection du mode d'authentification lors de l'accès à l'application web :

 
 
Autant dire que ce n'est pas le top d'un point de vue expérience utilisateur...
Afin de corriger ceci, il suffit de paramétrer une url dans la section "Sign in page URL" présente dans la zone de sélection des providers (cette zone n'accepte que des url accessibles sur l'application web).
Pour accéder directement au formulaire d'authentification ADFS, il suffira de positionner le chemin suivant dans l'adresse personnalisée "/_trust/default.aspx":

 
 
 Ainsi, lors de l'accès à l'application web, vous serez automatiquement redirigé vers le formulaire ADFS si vous n'êtes pas préalablement identifié:

 
Simple, mais encore faut-il le savoir... 

10 août 2014

SHAREPOINT 2013 : Mise à jour AppFabric

SharePoint 2013 a intégré une grande nouveauté se nommant le cache distribué.
Ce mécanisme de cache est utilisé dans de nombreuses briques de SharePoint:
  • Authentification,
  • Echange de news,
  • Performance de chargement des pages,
  • ...
Ce cache distribué est basé sur le composant "App Fabric 1.1" qui est un prérequis à l'installation de SharePoint.

Contrairement à ce qui était affirmé lors des premiers mois de SP2013, il est possible de patcher le composant "App Fabric V1.1" en installant les cumulative update. A l'heure actuelle App Fabric comprend 5 versions de mise à jour (CU1 à CU5).
Je vous conseille d'installer à minima la CU4 qui a apporté de nombreuses corrections et améliorations des performances.
 
Note : Tout comme pour SharePoint, chaque CU d'App Fabric inclut les éléments précédemment corrigés. Il n'est donc pas nécessaire d'installer toutes les CU mais uniquement celle que vous souhaitez.
 
Comment déterminer la version d'App Fabric installée sur votre serveur?
  • Obtenir la version d'App Fabric via le panneau de configuration du serveur:
  • Obtenir la version d'App Fabric via Powershell:
(Get-ItemProperty "C:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules\DistributedCacheConfiguration\Microsoft.ApplicationServer.Caching.Configuration.dll" -Name VersionInfo).VersionInfo.ProductVersion


 
 

Il est préférable de ne pas paralléliser le patch d'App Fabric sur vos serveur SharePoint 2013 mais plutôt de réaliser les mises à jour séquentiellement sur chacun des serveurs de votre ferme.
Pour mettre à jour "AppFabric", il faudra suivre les étapes suivantes sur chaque serveur :
  1. Arrêter le service AppFabric ("Stop-SPDistributedCacheServiceInstance -Graceful"). Le paramètre Graceful permettant de vider le cache proprement sans perdre d'informations.
  2. Installer la CU d'AppFabric,
  3. Réaliser les éventuelles configurations post-installation (par exemple si passage du CU3, suivre la correction suivante : http://support.microsoft.com/kb/2787717),
  4. Redémarrer le service (via l'administration centrale de SharePoint ou par PowerShell).
 

31 juillet 2014

SharePoint 2013 : PortalSuperUserAccount et PortalSuperReaderAccount

Il est dans les bonnes pratiques d'appliquer à votre application web les comptes "SuperUser" et "SuperReader" dès lors que vous avez activé le publishing sur un des sites de l'application web.

Pour vérifier si les comptes sont correctement configurés sur votre ferme, vous pouvez utiliser ce script PowerShell qui affichera les propriétés pour chacune des web application de votre ferme:
 
Get-SPWebApplication | %{Write-Host "Application web : " $_.url "'nCompte super user : " $_.properties["portalsuperuseraccount"] "'nCompte super reader : " $_.properties["portalsuperreaderaccount"] "'n"}
 
 
Pour affecter les comptes à une application web en particulier, vous pourrez suivre les commandes suivantes:
 
$wa = Get-SPWebApplication -Identity "WebApplication"
$wa.Properties["portalsuperuseraccount"] = "SuperUser"
$wa.Properties["portalsuperreaderaccount"] = "SuperReader"
$wa.Update()
 
Dans laquelle vous devrez remplacer les valeurs suivantes:
  • WebApplication : Nom de l'application web concernée.
  • SuperUser : Compte à utiliser pour le super utilisateur (attention positionner le compte claims si votre web app est en mode claims).
  • SuperReader : Compte à utiliser pour le super lecteur (attention positionner le compte claims si votre web app est en mode claims).
 
 
Attention au niveau des comptes "SuperUser" et "SuperReader", il faudra écrire les comptes claims si votre web application utilise les revendications (ce qui est le cas par défaut dans SP2013).

21 juillet 2014

INFOPATH : Formater une date

InfoPath dispose d'un panel de fonctions permettant de réaliser la plupart des besoins dans vos formulaires (math, url, utilisateurs, dates,...).
 
Il est possible d'utiliser ces fonctions fournies par InfoPath mais aussi des fonctions XPath basiques qui ne sont pas visibles depuis l'interface.
Une fonctionnalité puissante (permettant de ne pas utiliser de code managé) est la possibilité de formater l'affichage d'une date dans un autre champ du formulaire.
 
Pour cela, il faudra passer par la fonction XPATH non disponible via l'éditeur de fonction d'InfoPath : "format-date".
Pour réaliser ce besoin, il suffira de suivre les actions suivantes:
  1. Se placer sur le champ texte qui accueillera la date à formater,
  2. Cliquer sur valeur par défaut,
  3. Cliquer sur "Fonction",
  4. Insérer la fonction suivante : msxsl:format-date(DateField; 'MMMM') (en prenant soin de remplacer "DateField" par votre champ date InfoPath),
 
Votre champ affichera à présent le mois sous sa valeur textuelle.
Pour les personnes n'étant pas à l'aise avec les divers formatages de dates, la liste est disponible sur le MSDN de Microsoft: http://msdn.microsoft.com/en-us/library/ms256099(v=vs.110).aspx

 

18 juillet 2014

InfoPath : SharePoint 2010 et IE11

Attention, depuis l'arrivée de IE11 dans les entreprises et chez les particuliers, vous pouvez être amené à rencontrer certains effets sur vos formulaires d'entreprise InfoPath. Forms Services...

Vous pouvez rencontrer l'erreur suivante : "Object doesn't support property or method 'addEventListener'". Cela est le cas notamment sur des formulaire contenant des contrôles de type date.
Cette erreur survient lorsque vous avez positionné votre site SharePoint pour fonctionner en mode de compatibilité IE8 (via la balise X-UA-Compatible). Cette technique est réalisée par de nombreuses entreprises pour corriger de nombreux effets dans SharePoint.
 
Afin de corriger ce problème, le plus simple reste l'une des méthodes suivantes:
  • Rajouter votre site SharePoint dans la zone intranet,
  • Positionner le site dans les sites de compatibilité (il s'exécutera avec le user agent de IE 10 et l'erreur disparaitra).

Malheureusement, ceci est difficile à mettre en place dans le cas d'un extranet puisque par principe vous ne maitrisez pas la configuration des postes clients.

Il existe tout de même méthode qui consiste à modifier la page maitre de votre site. Pour cela il faudra ajouter le code JavaScript suivant dans une balise script juste avant la fermeture du body
:
 
/* IE11 Fix for SP2010 */
if (typeof(UserAgentInfo) != 'undefined' && !window.addEventListener)
{    
      UserAgentInfo.strBrowser=1;
}