5 juin 2015

SHAREPOINT : Lenteur people picker

Petit retour d'expérience sur un incident rencontré sur une ferme SharePoint d'un client : Le sélecteur de personnes de SharePoint prenait subitement énormément de temps à résoudre les utilisateurs.
Le case était le suivant:
Lorsque l'on saisi le nom de l'utilisateur exact et que l'on valide, la résolution de l'utilisateur est réalisée rapidement. Par contre, lors de la recherche de l'utilisateur via le dictionnaire, le temps de recherche dépasse plus de 20 secondes.
 
Comme cela est souvent le cas, il s'agit d'un problème de firewall. Ceci étant vérifiable grâce à des captures NetMon ou Wireshark.
 
Après aprofondissement, il est conseillé de disposer de l'ouverture des ports et protocoles suivants pour le bon fonctionnement de votre people picker SharePoint:
  • TCP/UDP 135, 137, 138, 139 (RPC),
  • TCP/UDP (défaut : 389) (LDAP),
  • TCP (défaut : 636) (LDAP SSL),
  • TCP 3268 (LDAP GC),
  • TCP 3269 (LDAP GC SSL),
  • TCP/UDP 53 (DNS),
  • TCP/UDP 88 (Kerberos),
  • TCP/UDP 445 (Directory Services)
 
 
 

3 juin 2015

SHAREPOINT 2013 : The Managed Metadata Service or Connection is currently not available

Lors de l'administration de vos fermes SharePoint, il peut arriver de rencontrer cette erreur sur le service de métadonnées gérées (qui fonctionnait parfaitement la veille).
 
 
L'erreur disponible dans les logs ULS n'est généralement pas très parlante:
Failed to get term store for proxy ‘Managed Metadata Service’. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
 
Après les vérifications d'usage, il est possible de réaliser les étapes suivantes pour essayer de corriger le dysfonctionnement:
  • Redémarrer le service métadonnées géréees sur la ferme (depuis "manage services on server"),
  • Vérifier que les autorisations et permissions sont correctement positionnées sur le service de métadonnées.
 
Si cela ne fonctionne pas suite à ces modifications, il est possible de réaliser la modification suivante pour remettre le service en état actif:
  • Cliquer sur "Propriétés" sur le service de métadonnées gérées (depuis "Manage service applications"),
  • Modifier le nom de la base de données associée au service, ainsi une nouvelle base de données sera créée sur le serveur (par exemple "SP13_MMS_TEMP"),
  • Suite à cette manipulation, vérifier que le service s'ouvre correctement (il n'affichera pas de données car la base créée précédemment est vierge),
  • Repositionner l'ancien nom de la base de données de métadonnées (avant le renommage en "SP13_MMS_TEMP"),
  • Vérifier que votre service de métadonnées gérées est à présent opérationnel.
 


 
 

26 mai 2015

SHAREPOINT 2013 : Filtrer une vue par format date et heure

Aujourd'hui, un retour sur un besoin simple : Comment filtrer une vue SharePoint selon un format date/heure?
Nativement, via l'interface de conception de vue SharePoint, il n'est pas possible de filtrer sur autre chose qu'une date (le format heure n'est pas pris en compte et vous empêchera de valider vote filtre : "Le format de date de la valeur de filtre n'est pas pris en charge").
 
Pour réaliser ce besoin, il sera nécessaire d'utiliser du PowerShell afin de modifier la requête CAML permettant de filtrer la vue. La solution réside dans l'utilisation de l'attribut "IncludeTimeValue" qui permet d'utiliser des filtres sur les dates et heures:
 
$web = get-spweb "http://spdemolab/"
$list = $web.Lists["ListeAModifier"]
$view = $list.Views["Tous les éléments"]
$view.Query = "2015-05-22T19:40:00Z"
$view.Update()
$web.Dispose()
 
 
Le principe est donc une modification de la vue via son attribut "Query" puis une mise à jour de celles-ci.

12 mai 2015

MS IGNITE Chicago : Sessions

La semaine dernière a eu lieu le MS Ignite à Chicago.
Le but de cette grande messe est de remonter toutes les informations sur les futures orientations, les nouveaux produits et innovations de Microsoft.
Les sessions parlent donc essentiellement de Windows 10, SharePoint 2016, Yammer, Azure, ASP.Net vNext et bien d’autres…
 
Il est possible de récupérer en local toutes les sessions en utilisant le script PowerShell fourni par Vlad Catrinescu:http://absolute-sharepoint.com/2015/05/the-ultimate-script-to-download-microsoft-ignite-videos-and-slides.html
 
Pour récupérer ces vidéos, il suffira de lancer le script en ayant modifié au préalable l’adresse d’enregistrement sur votre PC grâce à la variable : $downloadlocation
Il est même prévu de filtrer sur les thématiques qui vous intéresse en passant un paramètre keyword lors de l’appel.
 
Enjoy!

5 mai 2015

SHAREPOINT 2013 : Supprimer les pages systèmes des résultats de recherche

Une remarque récurrente des clients lors de l'utilisation du moteur de recherche SharePoint par les clients est la remontée des pages systèmes dans les résultats.
Nous pouvons citer par exemple les pages allitems.aspx (associées aux vues), les "thumbnail.aspx" (pour les images), les pages situées dans le répertoire forms (excepté le dispform.aspx).
 
Pour supprimer ces résultats, il existe deux façons:
  • Vue une crawl rule (Règle d'analyse) dans le moteur de recherche de l'administration centrale. Dans "Chemin", entrer la valeur http://*/allitems.aspx puis sélectionner exclure dans la "analyser la configuration" associée:

    En utilisant cette technique, le nombre d'éléments dans le crawl va grandement décroitre (cf dans la copie d'écran ci-dessous, nous passons de 182 à 46):
 
  • En modifiant la requête sur chaque page de recherche. Il faudra alors ajouter la partie de requête suivante : "-filename:allitems.aspx" à la suite de l'habituel {searchTerms}. Le signe "-" permet de supprimer l'élément des résultats de recherche.
 
 
La deuxième solution reste plus fine et n'impactera pas tous les résultats de votre ferme SharePoint. Je pense notamment qu'elle pourrait s'appliquer à certaines pages de recherches spécifiques mais vous pourrez toujours renvoyer les bibliothèques et listes dans vos résultats de recherche sur les autres pages.