Archives de catégorie : SharePoint Server

3 choses que chaque programmeur devrait savoir

Introduction

Dans mes tâches de tous les jours, je dois modifier régulièrement du code et bien évidemment il y a des cas où on se dit vraiment « WTF? ».  Dans ce billet, je vais vous présenter quelque points à considérer afin d’améliorer la qualité de votre code et ainsi réduire le nombre de WTFs/minute lorsque vos collègues vous relirons.

Un commentaire sur les commentaires!

Assurez-vous que vos commentaires clarifient votre code et qu’il ne le rende pas plus obscur. Ajouté uniquement des commentaires pertinents expliquant ce que le code est censé accomplir. Vos commentaires d’en-tête devraient donner à n’importe quel programmeur assez d’information pour utiliser votre code sans avoir à le lire, tandis que vos commentaires au niveau des lignes devraient aider le développeur suivant à le corriger ou à le modifier. Comme avec toute autre forme d’écriture, il y a une habileté à écrire de bons commentaires et une grande partie de la compétence consiste à savoir quand ne pas les écrire.

À éviter :

'Instancie un nouveau dataset
Dim ds As New System.Data.DataSet

'Retourne la liste
Return listXYZ

Ne pas ignorer les erreurs!

Ignorer une erreur n’est pas une stratégie gagnante pour avoir du code solide. En fait, c’est tout simplement de la paresse. Peu importe la probabilité que vous pensez qu’une erreur se retrouve dans votre code, vous devriez toujours la vérifier et toujours la retourner. Vous ne gagnez pas de temps si vous ne le faites pas. Vous conservez des problèmes potentiels pour l’avenir.

À éviter :

try {
    // ...do something...
}
catch (...) {} // ignore errors

N’ayez pas peur de briser des choses!

Tout le monde a sans aucun doute travaillé sur un projet où le code était de qualité douteuse. Le système est mal architecturé et changer une chose vient toujours en briser une autre. Chaque fois que quelqu’un doit ajouter un module, l’objectif est de changer le moins de chose possible et de se croiser les doigts que ça ne plante pas. Bref, c’est l’équivalent de jouer une partie de Jenga.

N’ayez pas peur du code. Investir le temps de refactoriser le code va se payer plusieurs fois au cours du cycle de vie de l’application. Un avantage supplémentaire est que l’expérience de votre équipe face au système vous rend un peu plus experts en sachant comment il devrait fonctionner. En plus, travailler sur un système que vous détestez n’est pas la façon dont tout le monde devrait avoir à passer leur temps.

Afficher des tuiles comme résultats de recherche à l’aide d’un modèle d’affichage

J’ai récemment présenté une session intitulé « Construisez votre intranet avec Microsoft Office 365 sans code » dans laquelle j’ai expliqué comment faire une composante « Qui s’en occupe? ». Cette composante permet d’afficher le ou les répondants pour une activité précise dans l’organisation en utilisant une liste personnalisé, la recherche et un modèle d’affichage.

Cet article va donc détailler les différentes étapes pour construire votre propre composante avec des modèles de recherche dans Office 365 :

QuiSenOccupe1.PNG

Cas d’utilisation

L’utilisateur recherche un sujet selon la première lettre et ensuite il clique sur la tuile afin d’afficher le ou les répondants.

QuiSenOccupe2

QuiSenOccupe4

Comment réaliser cette composante ?

La première étape consiste à créer une liste personnalisé afin d’entreposer les différents sujets :

QuiSenOccupe5

Ensuite, dans les configuration du service de recherche, il suffit de lier la crawled property « ows_LinkTitle » avec une propriété géré « RefinableString » de votre choix. Puisqu’on ne peut pas créé de nouvelles propriétés dans le service de recherche d’O365, Microsoft en a créé suffisamment pour qu’on puisse les réutiliser. Par la suite, ajouter alias sur cette propriété afin de l’identifier et de l’utiliser plus tard dans la zone de recherche.

QuiSenOccupe3

Puis, dans la page de composants web part dans lequel on veut ajouter la composante « Qui s’en occupe? », on ajoute 2 web parts de type Éditeur de contenu.

Pour permettre l’affichage des filtres par lettres, la première aura un lien vers un fichier contenant ceci :

La deuxième web part aura un lien vers un fichier contenant ceci :

Comme vous avez pu le remarquer il y a une référence à un fichier CSS qu’il faut déposer dans Style Library et ensuite ajuster le chemin.

Ensuite, il faut ajouter deux web parts « Zone de recherche » et « Résultats de la recherche » et configurer la dernière avec cette requête (Ajuster au besoin selon le URL de votre site) :

QuiSenOccupe6

Finalement, il reste à télécharger le modèle d’affichage de tuiles dans la galerie des pages maîtres et à configurer le modèle dans la web part :

QuiSenOccupe7

URL : /sites/intranet/_catalogs/masterpage/Forms/AllItems.aspx –> Display Templates –> Search

Conclusion

Il est possible qu’il y ai un certain délais (jusqu’à 24h) avant que les modifications aux propriétés gérés soient prisent en compte dans O365. Malgré cela, il est possible d’arriver à un résultat visuellement intéressant et performant sans avoir à développer plusieurs jours dans Visual Studio.

Références

Modèle d’affichage de tuiles

Barre de filtre avec les lettres

 

 

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.

 

Alternative à la WebPart Recherche de contenu (CSWP) lorsque celle-ci n’est pas disponible dans votre abonnement

Lorsque j’ai présenté ma session « Construisez votre intranet avec Microsoft Office 365 sans code », j’ai mis de l’avant la composante WebPart Recherche de contenu (CSWP) pour la majorité des composantes réalisées. On m’a alors posé la question suivante : « Que faire si mon client dispose uniquement d’un abonnement E1 et que cette composante de recherche n’est pas disponible? »

C’est une excellente question et effectivement la WebPart Recherche de contenu (CSWP) est uniquement disponible dans les abonnements Office 365 Enterprise E3, E4, E5, A3, A4, G3, G4. Cependant, on peut tout aussi bien utiliser la WebPart Résultats de la recherche qui est disponible dans tous les types d’abonnements O365 et sur SharePoint Server. Il suffit d’adapter légèrement les modèles d’affichage afin que ceux-ci fonctionnent.

Ce billet explique comment modifier un modèle d’affichage destiné au composant WebPart Recherche de contenu (CSWP) afin soit disponible dans le composant WebPart Résultats de la recherche.

Références

How to enable Content Search Web Part Display Templates for Search Result Web Part

Content Search Web Part vs Search Results Web Part

Search innovations for site and portal design in SharePoint Online

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 !

Retour sur le SharePoint Saturday Québec 2016

Introduction

Le 1er octobre 2016 avait lieu a l’Université Laval l’événement SharePoint Saturday Québec. J’ai contribué à l’organisation de cet événement en plus d’y participer en tant que conférencier.

Ma session

Titre : [Étude de cas] L’intranet de la Ville de Québec

Track: Business

Dans le cadre de cette session, nous examinerons une étude de cas sur la façon dont un intranet continue de transformer une organisation municipale. Bien que réalisé il y a quelque années sous la plateforme SharePoint 2010 Server, plusieurs concepts peuvent être réutilisés de nos jours afin de contribuer à l’amélioration de l’engagement des employés, à la collaboration et aux échanges. Au cours de cette session, je présenterai différentes fonctionnalités de l’intranet, quelque statistiques d’utilisation, les enjeux, une démonstration et plus!

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

 

Les autres sessions

Plusieurs autres conférenciers on présentés des sessions très intéressante et si vous ne pouviez pas y assister, la majorité de leur présentation est disponible sur le site du SharePoint Saturday Québec !

Pour ma part, j’ai particulièrement apprécié la présentation de Franck « [Retour d’expérience] Votre intranet Client-Side en SharePoint Online/O365 », dans laquel il a présenté une solution d’intranet très bien packagé avec les dernières technologies clientes.

Plusieurs photos sont disponible sur le blog de Sébastien.

Conclusion

Un succès pour la premiere édition de l’événement avec plein de goodies, un bon repas et des gens passionnés. Merci à tous les commanditaires, participants et au comité organisateurs.