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;
}