Archives de mot-clé : SharePoint 2016

Facilitez la recherche de sites, d’applications et de ressources pertinentes au travail de vos utilisateurs grâce aux vignettes personnalisées dans SharePoint Server 2016

Introduction

Le lanceur d’applications est une fonctionnalité native d’Office 365 très utile permettant de redimensionner, positionner, épingler, rechercher vos applications en plus de permettre d’ajouter des vignettes personnalisés. Cette fonctionnalité est maintenant disponible dans SharePoint 2016 Server mais pour l’instant, il est seulement possible d’ajouter des vignettes personnalisés.

Prérequis

Il faut installer au minimum la mise à jour publique de novembre 2016 pour SharePoint Server 2016 (Feature Pack 1).

Configuration

La configuration pour activer les vignettes personnalisées est très bien décrite sur le site MSDN alors je ne répéterai pas ces étapes.

Ajouter des vignettes personnalisées

Tout d’abord accéder à la liste de vignette créé lors de l’étape précédente :

http://VotreSite/lists/custom%20tiles

Ensuite ajouter un nouvelle élément dans cette liste :

CustomTile.PNG

 

Note : Le champ Publics peut être laissé vide si on veut que la vignette s’affiche pour tous les utilisateurs.

 

Idéalement l’icône devrait être blanc avec un fond transparent afin d’être similaire aux autres icônes.

Exemple d’icône

Une fois que vous avez ajouté un nouvel élément à la liste de vignettes personnalisées, l’affichage dans le lanceur d’application peut prendre jusqu’à 24 heures en raison de la mise en cache. Cependant, on peut forcer le rafraîchissement de cette cache en exécutant avec la fonction JavaScript ClearSuiteLinksCache() dans la console via F12 :

Affiche les résultats dans la console du navigateur du développeur

Résultat :

Application Web Intranet

HomeIntranet

Application Web autre

TilesWebApp

On peut voir que la vignette personnalisé s’ajoute uniquement dans la Web Application Intranet.

Si jamais vous avez spécifié un URL d’icône non-accessible ou invalide vous aurez droit à magnifique hexagone :

TileHExagone.PNG

Activer les vignettes personnalisées dans plusieurs applications web

Pour utiliser la même liste de vignettes personnalisées dans plusieurs applications, activez la fonctionnalité sur chaque application web, puis mettez à jour la propriété CustomTilesListHostUrl dans l’application web qui contient la liste de vignettes personnalisées souhaitée.

Ex :

Enable-SPFeature -Identity CustomTiles -Url http://web_app -Force

$w = Get-SPWebApplication http://web_app
$w.Properties.CustomTilesListHostUrl = « http://web_app url/ »
$w.Update()

Attention de bien spécifier uniquement l’URL de l’application Web et non pas le lien vers la liste de tuile.

Il faut quand même forcer un ClearSuiteLinksCache() et ensuite les tuiles provenant de la première Application Web s’afficheront :

TileWebAppAutre

Dans ce cas, j’ai utilisé deux applications Web de Publication en HTTP et ça a fonctionné correctement. Je n’ai pas réussi à partager de vignettes entre deux applications Web HTTPS (Certificat SSL non vérifié) dont une est de type Publication et l’autre de type Hôte de site Mon Site.

 

Conclusion

C’est une fonctionnalité très intéressante pour permettre la recherche de sites, d’applications et de ressources pertinentes au travail de vos utilisateurs. Ça ne permet pas aux utilisateurs d’ajouter et de redimensionner leur propres tuiles comme dans O365 mais c’est déjà un bon premier pas.

Référence

Vignettes personnalisées dans SharePoint Server 2016 (MSDN)

 

 

 

Advertisements

Erreur trompeuse lors de l’installation de SharePoint 2016 avec AutoSPInstaller

Introduction

Si vous avez déjà monté vous même vos serveurs SharePoint 2010/2013/2016, vous connaissez sans doute le projet Open Source AutoSPInstaller. Idéalement, il est préférable d’installer SharePoint en anglais puis d’ajouter les différents Language Packs. Vous rencontrerez également certaines erreurs si votre système d’exploitation est installé dans une autre langue que l’anglais comme expliqué dans ce billet.

Symptômes

Vous obtenez le message suivant : – Managed Metadata Service Application Proxy already provisioned.
– Granting rights to Metadata Service Application:
– DOMAIN\NomDuCompte…
PS>Erreur de terminaison (Grant-SPObjectSecurity) : « L’argument Rights n’est pas valide. Les valeurs valides sont : Magasin de termes avec accès en lecture, Magasin de termes avec accès en lecture et accès limité en écriture, Magasin de termes avec accès total »
Grant-SPObjectSecurity : L’argument Rights n’est pas valide. Les valeurs valides sont: Magasin de termes avec accès en
lecture, Magasin de termes avec accès en lecture et accès limité en écriture, Magasin de termes avec accès total
Au caractère E:\AutoSPInstaller\SP\AutoSPInstaller\AutoSPInstallerFunctions.ps1:2536 : 21
+ … Grant-SPObjectSecurity $metadataServiceAppSecurity -Princ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument : (Microsoft.Share…tObjectSecurity:SPCmdletGrantObjectSecurity) [Grant
-SPObjectSecurity], SPException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletGrantObjectSecurityPS>Erreur de terminaison () : «  – Error provisioning the Managed Metadata Service Application »
>> Erreur de terminaison () : «  – Error provisioning the Managed Metadata Service Application »
————————————————————–
– Script halted!
– Error provisioning the Managed Metadata Service Application
Press any key to exit…

Cause

À première vue, l’erreur semble indiquer un problème de d’autorisations puisque l’applet de commande utilisé est Grant-SPObjectSecurity et que l’erreur semble être l’argument « Rights ».

Cependant, si on regarde attentivement le fichier AutoSPInstallerFunctions.ps1 qui s’occupe de créer le service Managed Metadata Service Application à la ligne suivante :
Grant-SPObjectSecurity $metadataServiceAppSecurity -Principal $accountPrincipal -Rights « Full Access to Term Store »
On voit que l’argument « Rights » est en anglais « Full Access to Term Store » alors que dans le message d’erreur on voit que les valeurs valides sont : « Magasin de termes avec accès en lecture, Magasin de termes avec accès en lecture et accès limité en écriture, Magasin de termes avec accès total »

Résolution

Première résolution:

Modifier la langue d’affichage de Windows afin de mettre l’anglais par défaut :

Langue

Deuxième résolution :

Modifier les lignes « Grant-SPObjectSecurity » du fichier AutoSPInstallerFunctions.ps1 afin de mettre la valeur du paramètre « Rights » correspondant à la langue d’affichage de votre système d’exploitation.

Exemple :

En-Us
Grant-SPObjectSecurity $profileServiceAppPermissions -Principal $currentUserAcctPrincipal -Rights « Full Control »

Fr-Ca

Grant-SPObjectSecurity $profileServiceAppPermissions -Principal $currentUserAcctPrincipal -Rights « Contrôle total »

Comment configurer Google Analytics dans SharePoint sans avoir un domaine complet (FQDN) ?

Voici mon dernier vidéo publié sur le site Channel 9 :

Dans plusieurs déploiements SharePoint On-Premise, des URL comme ceux-ci sont utilisés :

Bon nombre d’articles indiquent qu’il n’est pas possible de configurer Google Analytics lorsque le URL ne contient pas un nom de domaine complètement qualifié (FQDN) :

Pour pouvoir générer des rapports dans Analytics aux fins de l’utilisation par votre intranet d’entreprise, votre réseau d’entreprise doit pouvoir accéder au fichier JavaScript de Analytics (analytics.js). Essayez de charger le fichier dans votre navigateur à l’aide de l’un des liens suivants :

Si vous pouvez accéder à l’une de ces URL à partir de votre réseau interne, vous pouvez utiliser Analytics pour collecter les données provenant de votre intranet. Ce dernier doit également être accessible via un nom de domaine complet tel que http://intranet.example.com. Le fichier JavaScript de Analytics ne fonctionnera pas si votre intranet est uniquement accessible à l’aide d’un nom de domaine incomplet, tel que http://intranet.

Source : https://support.google.com/analytics/answer/1009688?hl=fr

Malgré tout cela, je vous rassure c’est possible d’obtenir des statistiques malgré cette contrainte. Il suffit de « flouer » Google Analytics afin qu’il pense que notre URL est un FQDN lors de l’ajout d’une propriété.

Technologies utilisées

  • SharePoint 2016 On-Premise (Hébergé dans Azure)
  • SharePoint Designer 2013
  • Google Analytics

Meilleurs pratiques

À des fins de démonstration seulement, la page maître a été modifié directement. Sachez toutefois que la meilleure pratique consiste plutôt à effectuer l’injection JavaScript du script de suivi afin d’éviter d’avoir à maintenir une page maître personnalisé.

Si vous avez apprécié, je vous invite à commenter et à évaluer ce vidéo !

SharePoint 2016 – Les types de contenu, les colonnes de site ainsi que d’autres éléments de sites sont finalement multilingue!

Les éléments suivants prennent maintenant en charge le multilingue dans SharePoint 2016 Preview (et les versions suivantes) :

  • Titre d’un site
  • Description d’un site
  • Titre d’une liste
  • Description d’une liste
  • Nom d’un type de contenu
  • Description d’un type de contenu
  • Titre d’une colonne de site
  • Description d’une colonne de site

Ceci avait été annoncé pour Office 365 en 2014 cependant ce n’était pas disponible pour les versions On-Premise. L’article est donc encore une excellent source de référence.

Dans l’exemple suivant je vais modifier la description d’un site pour la culture « en-US » et « fr-FR » avec du PowerShell.

Avant l’exécution (Affichage en-US) :

MultilangualDescriptionBefore

MultilangualDescriptionPowerShell


$web = get-spweb http://sp2016preview
$web.DescriptionResource.SetValueForUICulture("en-US", "Support multilangual")
$web.DescriptionResource.SetValueForUICulture("fr-FR", "Supporte le multilangue")
$web.Update()
$web.DescriptionResource.GetValueForUICulture("en-US")
Support multilangual
$web.DescriptionResource.GetValueForUICulture("fr-FR")
Supporte le multilangue

Après l’exécution (Affichage en-US) :

MultilangualDescriptionAfter

Pour l’instant, nous sommes un peu dans le néant en ce qui concerne les nouveautés au niveau de l’API de SharePoint alors je n’ai pas eu le choix de d’ouvrir la DLL avec Reflector. Il est possible de voir que la propriété « DescriptionResource » est disponible sur plusieurs éléments :

DescriptionResourceClient

Maintenant, les fonctions pour obtenir ou modifier cette propriété :

GetValueForUICulture

SetValueForUICulture

De plus, les fonctions se retrouvent autant au niveau de Microsoft.SharePoint.DLL que dans Microsoft.SharePoint.Client.DLL.

Ceci permet l’appel de ces fonctions avec du code serveur ainsi qu’avec du code client (Ex : CSOM)

Conclusion

Cette amélioration est des plus apprécié pour les entreprises qui désirent offrir une interface multilingue sans avoir à dupliquer les sites, les colonnes, les types de contenu, etc…