Archives de catégorie : Général

Fonctionnement du people picker avec les comptes de messagerie

Tout d’abord, d’un point de vue Active Directory, il y a deux types de compte qu’il faut différencier :

  • Un compte de messagerie
    • Ni plus ni moins qu’une boîte de courriel partagé;
    • Désactivé dans l’AD par défaut lors de la création;
    • Ne peut pas être utilisé pour accorder des autorisations.
  • Un groupe de sécurité
    • Activé dans l’AD par défaut lors de la création;
    • Peut être utilisé pour accorder des autorisation.

Scénario

Des utilisateurs souhaiteraient recevoir des notifications par courriel (alertes) directement dans la boite courriel d’un compte de messagerie lorsqu’un nouvel élément est ajouté à une liste. Il n’est pas souhaitable d’utiliser le groupe de sécurité car dans ce cas, chaque individu recevrait un courriel dans sa boîte courriel.

Solution

Le compte de messagerie n’est pas disponible dans le champ « People picker » car celui-ci est désactivé. Il faut donc activer le compte dans l’AD et attendre la synchronisation des profils avant de pouvoir l’utiliser.

Lorsque ce compte est activé et qu’on l’utilise dans une collection de site, SharePoint conserve une copie dans la liste d’informations utilisateurs caché de la collection de site.

Voici en résumé comment fonctionne le people picker :

The People Picker control is used to search/find and select groups (as well as people and claims).  Where does the picker control pull its display data from?  SharePoint first checks if the user exists in the site collection (hidden User Information List), if it does not then it retrieves the user info from Active Directory and adds the user into the site collection. 

Donc, une fois que le compte a été utilisé une première fois, on peut le désactiver et celui-ci continuera d’être disponible dans le people picker de cette collection de site. Par contre, si vous devez l’utiliser dans plusieurs collections de site, il serait préférable de le laisser activé. D’un point de vue licence, les administrateurs AD préfèrent limiter le nombre de compte actif.

 

Ajouter des formes dans Visio pour vous aider à créer des représentations visuelles de déploiements Office 365

Visio est un outil indispensable pour créer des représentations visuelles. La création de représentations visuelles de vos architectures Microsoft Office et Office 365, y compris Microsoft Exchange, SharePoint et Skype for Business est un moyen utile de communiquer votre déploiement.

Cependant, même avec la dernière version de Visio 2016, les formes disponibles avec les gabarits de base sont vraiment limitées :

visioformes

Il est cependant possible d’ajouter d’autres formes afin de rendre vos représentations visuelles plus intéressante .

Voici un aperçu de plusieurs formes disponibles suite au téléchargement :

visioformesnew1visioformesnew2visioformesnew3

telecharger-bouton

Il suffit de copier les fichiers *.vss dans votre dossier « C:\Users\\Documents\Mes formes ».

Ensuite, ces formes seront disponible sous « Mes formes ».

Ces nouvelles formes fournissent plus de 300 icônes incluant des :

  • représentation de serveurs;
  • rôles de serveur;
  • services;
  • applications.

Il est possible de les utiliser dans les diagrammes d’architecture, des tableaux, etc… Ces icônes sont principalement centrées sur les déploiements de Microsoft Exchange Server, Microsoft Skype pour les entreprises et Microsoft SharePoint Server ainsi que les déploiements hybrides Office 365 des technologies susmentionnées.

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 !

Microsoft Most Valuable Professional (MVP) pour 2016

J’ai été très heureux de recevoir ce courriel m’informant qu’on m’octroyait le titre de MVP dans la catégorie Office Servers and Services (Anciennement SharePoint Server). 

unnamed

Congratulations! We are pleased to present you with the 2016 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Office Servers and Services technical communities during the past year.

C’est la première fois qu’on m’accorde ce titre alors je tiens à remercier Microsoft, mes collègues et amis de Victrix ainsi que la communauté SharePoint qui sont pour moi une source d’inspiration me permettant de m’améliorer.

Ce sera une année très intéressante avec les dernières annonces concernant Office 365 et SharePoint. Je me réjouis des défis et des opportunités qui en découleront.

Conférence sur le développement de remote timer jobs @ SharePoint Saturday Montréal

Introduction

Le 2 avril 2016 avait lieu au Collège Maisoneuve, 2701 Rue Nicolet, Montréal l’événement SharePoint Saturday Montréal. J’ai eu la chance d’y participer à nouveau en tant que conférencier.

Ma session

Titre : Développer des « remote timer jobs » pour SharePoint et Office 365

Track: Développeur

Description : Le paradigme des Add-ins a modifié l’approche pour la mise en place des « timer jobs ».

Lors de cette session, venez explorer différentes technologies permettant de développer des « remote timer jobs » :
•    API client
•    PowerShell
•    PowerShell Online

Puis, découvrez comment les automatiser à l’extérieur de SharePoint.

Si vous ne pouviez y être voici les sources et la présentation :
telecharger-bouton

Les autres sessions

Plusieurs autres conférenciers on présentés des sessions intéressante et si vous ne pouviez pas y assister, la majorité de leur présentation est disponible sur le site du SharePoint Saturday Montreal !
Pour ma part, j’ai un coup de coeur pour la présentation « Leçons apprises lors du développement d’une grosse application (add-in) SharePoint avec Angular », dans laquel on a pu voir plusieurs trucs pour améliorer les performances d’un add-in avec AngularJS.

Conclusion

Un super événement GRATUIT, plein de goodies, du smoked meat et d’excellents conférenciers. Un SharePoint Saturday Québec a également été annoncé en Septembre 2016.

Exporter les résultats de recherche de votre site O365 en format CSV avec du CSOM

Introduction

Suite à un changement d’URL de dossier partagé, on m’a demandé de retrouver tous les éléments des listes contenant des références sur l’ancien dossier partagé.

Ex : \\serveurA -> \\serveurB

J’ai donc effectué une requête sur le service de recherche et celle-ci m’a retournée un grand nombre de résultats. De plus, il ne m’était pas possible d’exporter les résultats dans un format convivial.

J’ai donc réalisé une petite application console utilisant le CSOM afin d’exporter les résultats de recherche d’un site O365 en format CSV.

Créer une application console

La solution complète est disponible ici :
telecharger-bouton

Il s’agit d’une application console réalisée à titre d’exemple.

Afin de faire fonctionner l’application :

  • Modifier le URL dans le constructeur ClientContext pour insérer de votre Tenant : https://Tenant.sharepoint.com;
  • Modifier votre terme de recherche <YourSearchTerm> pour spécifier le terme recherché;
  • Modifier le mot de passe <YourPassword> de votre Tenant;
  • Modifier le chemin du fichier CSV <YourPath>;
  • Générez la solution comme normalement.

Description

Cet exemple montre comment utiliser le CSOM pour SharePoint Online. Pour commencer, nous devons d’abord ajouter des références aux assemblages appropriés :

  • Microsoft.SharePoint.Client.dll
  • Microsoft.SharePoint.Client.Runtime.dll
  • Microsoft.SharePoint.Client.Search.dll

 

Ajouter les références suivantes :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; // to enable IO operations
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Search;
using Microsoft.SharePoint.Client.Search.Query;
using System.Security;

 

Ajouter le code suivant dans la fonction main de votre application console afin de cibler votre site O365 :

using (ClientContext clientContext = new ClientContext(&quot;https://Tenant.sharepoint.com&quot;))
{ 

}

Cette section va exécuter la requête sur le service de recherche :

KeywordQuery keywordQuery = new KeywordQuery(clientContext); 

keywordQuery.QueryText = "<YourSearchTerm>"; 

SearchExecutor searchExecutor = new SearchExecutor(clientContext); 

ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery);

Cette section permet l’authentification sur votre Tenant O365 :

SecureString securePwd = new SecureString();
String strPassword = "<YourPassword>"; 

foreach (var c in strPassword.ToCharArray()) securePwd.AppendChar(c); 

SharePointOnlineCredentials credentials = new Microsoft.SharePoint.Client.SharePointOnlineCredentials("<User>@<Tenant>.onmicrosoft.com", securePwd);
clientContext.Credentials = credentials;

Cette section permet d’exporter les résultats dans un format CSV :

StringBuilder sb = new StringBuilder(); 

foreach (var resultRow in results.Value[0].ResultRows)
{
sb.AppendLine(string.Join(delimiter, resultRow["Title"], resultRow["Path"], resultRow["Write"]));
} 

System.IO.File.AppendAllText(filePath, sb.ToString());

 

Lancer l’application console et vérifier que le fichier CSV exporté contient les résultats de votre recherche.

Conclusion

On peut facilement obtenir les résultats de recherche et les exporter dans un format convivial en moins de 60 lignes de code. Si vous n’êtes pas chaud à l’idée d’utiliser du code C#, sachez que vous pouvez aussi réaliser un script PowerShell qui fera tout aussi bien le travail.

 

Importer un document word avec ses images dans un Wiki SharePoint

Introduction

Cette semaine, un de mes clients m’a demandé d’importer des documents Word contenant des centaines d’images dans une page Wiki SharePoint. Au départ, je me suis dit que ça serait facile et qu’un simple copier-coller allait faire le travail! Cependant, je me suis vite rendu compte que les images ne suivaient pas. Je n’avais pas vraiment envie de faire le travail de moine consistant à enregistrer individuellement chacune des images pour ensuite les insérer dans le contenu Wiki. Je me suis donc penché sur les diverses solutions possibles pour me faciliter le travail.

Solutions possible

  1. Utiliser un outils tiers
  2. Utiliser un Plugin sur CodePlex : MS Word SharepointWiki Plugin
  3. Utiliser Word pour publier vers un billet de Blog SharePoint
Dans ce billet, je vais mettre l’emphase sur le point 3 car il ne nécessite pas de frais d’acquisition et d’installation particulière.

Utiliser Word pour publier vers un billet de Blog SharePoint

Tout d’abord, pour vous assurer que cette solution fonctionne, il vous faudra idéalement respecter les prérequis suivant :

  • Une version de Word qui correspond à votre version de SharePoint.
    • Ex  : Word 2013 et SharePoint 2013
  • Un site de type « Blog » afin de pouvoir publier votre document Word.
    • Il pourra être supprimé sans problème une fois que l’opération sera complété.

Étape 1

La première étape consiste à ouvrir votre document Word et ensuite de naviguer sous l’onglet Fichier -> Partager -> Publier sur le blog

wordToWiki.PNG

Étape 2

Ensuite, il faut enregistrer un compte de blog

wordToWiki2.PNG

Puis sélectionner « Blog SharePoint » dans la liste déroulante

wordToWiki3

Puis saisir le URL vers votre site Blog

wordToWiki4

Étape 3

Ensuite, appuyer sur le bouton « Publier » dans Word et patienter pendant la publication.

wordToWiki5

Une fois l’opération complété, naviguer vers votre Blog afin de vérifier si le contenu a bien été créé.

wordToWiki6

Accéder à l’élément en mode édition et récupérer la source HTML en utilisant le bouton « Edit source » dans le ruban.

wordToWiki7

Étape 4

Copier la source HTML récupéré précédemment dans votre page Wiki en utilisant le bouton « Edit source » dans le ruban.

Vous devriez maintenant voir le contenu de votre document Word sans les images. Les images sont importées dans une bibliothèque de document « Photos » du site Blog.

wordToWiki9

Il faut donc copier les images importées dans le site Blog vers une bibliothèque dans votre site Wiki. Le plus facile est d’utiliser la fonctionnalité « Ouvrir avec l’explorateur ».

wordToWiki8

Une fois que vos images ont été copiées, il vous faudra ajuster le chemin vers vos images dans la source HTML de votre page Wiki.

Ex : /VotreBlog/Photos -> /VotreWiki/Photos

Une fois cela terminé, vous devriez avoir le même contenu dans votre page Wiki que dans votre document Word.

Résultat :

wordToWiki10

Note

Il arrive que les liste à puces ou les listes numérotés ne fonctionnent pas correctement lorsqu’il y a des espaces entre les éléments et qu’il soit nécessaire de les refaire manuellement dans la page Wiki.

Conclusion

L’intégration entre SharePoint et la suite Office est très évolué comme on a pu le voir dans ce billet. Cette façon de faire peut vous sauver énormément de temps si vous avez des documents volumineux avec un grand nombre d’images. Je considère que c’est une meilleure alternative que d’avoir à installer un plugin ou acheter un logiciel tiers.