Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
1. Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Réalisation d'intranets et sites web
SharePoint 2013 en Cross Site Publishing
2. WWW.COLLAB365.EVENTS
Franck Cornu
Email : franck.cornu@gsoft.com
Twitter : @FranckCornu
5 ans d’expérience avec SharePoint
Spécialisation en intranet/portail d’entreprise
Analyse/Architecture/Développement
Blog: http://thecollaborationcorner.com/
Publication: « Réussir son analyse fonctionnelle SharePoint: Guide
méthodologique » (http://bit.ly/1GsrJwd)
Contact
Montréal, QC, Canada
3. WWW.COLLAB365.EVENTS
Avant de commencer
• Présentation (très) condensée issue d’un cas d’étude complet sur la réalisation
d’un intranet ou un site web en SharePoint 2013 (on-premise) (280 pages
actuellement)
• Axée sur une approche d’utilisation optimales des fonctionnalités OOTB de
SharePoint 2013.
• Complément technique (C# & PowerShell) disponible pour chaque module.
– Framework « Dynamite » disponible gratuitement sur GitHub.
• Voir au delà du XSP: Orientée On-Premise mais les concepts restent valides
pour SharePoint Online (Office365).
4. WWW.COLLAB365.EVENTS
C’est quoi le Cross Site Publishing en fait?
• Extension de l’infrastructure de publication
classique SharePoint
• Séparation UI et données
• Contribution répartie
• Flexibilité du moteur de recherche VS
CAML (ciblage, logique d’affaires)
6. WWW.COLLAB365.EVENTS
• Mise en place des espaces de
contribution
• Principe de classification des
contenus
• Gestion de la sécurité
• Affichage des éléments
Gestion du processus complet de
création du contenu jusqu’à son
affichage.
http://bit.ly/1hlnCvi
La publication
7. WWW.COLLAB365.EVENTS
Mise en place des espaces de
contribution
• Un site d’auteurs c’est:
• D’un point de vue technique: simple site SharePoint contenant des listes
hébergeant du contenu destiné à être publiées sur un ou plusieurs sites de
publication via les mécanismes de recherche.
• D’un point de vue fonctionnel: espace contrôlé de contribution aux contenus d’un
intranet ou d’un site web.
• La fonctionnalité « Cross Site Publishing » est activée à ce niveau pour la
configuration des « catalogues »
La publication
8. WWW.COLLAB365.EVENTS
Principe de classification
• Deux types de contenus répartis dans des
catalogues:
Cycle de vie court/moyen: de l’ordre de
quelques jours ou semaines
• Élément de catalogue (Nouvelles, etc.)
Cycle de vie long: de l’ordre de plusieurs
mois ou année
• Élément cible de contenu (A propos de
nous, Contactez-nous ,etc.)
• Tous les contenus sont liés à un élément d’une
« carte du site » via une colonne de
métadonnée gérée faisant le lien avec la
navigation
La publication
9. WWW.COLLAB365.EVENTS
Gestion de la sécurité
• Configuration des permissions sur les
catalogues et la bibliothèque de pages du
site de publication.
• Contrôle de la catégorisation de
l’information disponible dans chaque
catalogue
– Types de contenus et sous catégories
La publication
10. WWW.COLLAB365.EVENTS
Affichage des éléments
• Création de modèles de pages (*.aspx) dans le site de publication
• Un seul élément (page de contenu et nouvelle)
• Plusieurs éléments (nouvelles)
• Création de Result Sources spécifiques
• Utilisation des variables de recherche {Term} et {Term.IDWithChildren} et token GPP|
• Utilisation d’un Search Results Web Part de résultats de recherche
• (Optionnel) Result Types permettant de déterminer un Display Template
dynamiquement
La publication
11. WWW.COLLAB365.EVENTS
• Stratégie de navigation
• Problématiques de navigation
SharePoint OOTB
• Construction des URL
Gestion de l'accès à l’information
dans le portail.
http://bit.ly/1L1UCkO
La navigation
12. WWW.COLLAB365.EVENTS
Problématiques de navigation
OOTB
• La navigation logique: parcours des contenus de manière horizontale ou verticale à travers une
structure de liens définie, représentant le chemin nominal de navigation dans le site.
– Contextes de navigation SharePoint: navigation globale et navigation courante
• Navigation structurelle: basée sur les sites et sous sites
• Navigation par taxonomie: basée sur un ensemble de termes = « Plage » d’URL valides
pour un site
• La navigation transversale: parcours de liens vers des contenus répartis à travers tout le portail sur la
base de propriétés communes
– Explicites (Mots clés)
– Automatiquement (Office Graph)
La navigation
13. WWW.COLLAB365.EVENTS
Stratégie de navigation
• Problématique #1 : Le problème des contenus « inaccessibles » ou contenus «
fantômes ».
– Pages de contenu catégorisées avec le même terme, lequel afficher?
– « Enforce unique value » sur la colonne de navigation
• Problématique #2 : L’impossibilité de distinguer des sources de données de navigation
différentes par menus pour un même contexte global.
– Pied de pages, liens utiles, etc.
– Introduction du concept de « Zones de navigation »
• Un term set = une zone
La navigation
14. WWW.COLLAB365.EVENTS
Stratégie de navigation
• Différences entre:
– Simple Link or Header - Term Driven Pages
– Target Item Page - Catalog Item Page
• Format d’URL
Pour les termes de taxonomie
• Généré automatiquement par
SharePoint
Pour les éléments de catalogues
• = « Slugs »
• Nécessité d’une URL unique
• Générés via « Event receiver »
• Construire grâce à connection de
catalogues
La navigation
15. WWW.COLLAB365.EVENTS
• Gestion de documents
• Gestion des contenus médias
• Importation de contenus au fur et à
mesure du développement
Gestion du contenu documentaire et
des opérations de migration.
http://bit.ly/1LbG5Cq
La gestion documentaire
16. WWW.COLLAB365.EVENTS
Gestion des
documents
• Utilisation d’un centre de documents distinct
• Même principe de classification que les contenus du portail (Type de contenu
« Documents »)
• Ajout d’une colonne spécifique pour permettre le lien vers des pages de contenus du
portail
La gestion documentaire
17. WWW.COLLAB365.EVENTS
Gestion des contenus
médias
• Gestion des images
– Collection de sites séparée ou bibliothèques locales
• Si même collection de sites que les contenus, attention au URL relatives!
– Utilisation de la fonctionnalité des « Image Renditions »
• Stockage sur le système de fichiers
• Gestion des vidéos
– Hébergeur externe (Youtube, etc…) ou stockage interne
– Utilisation du type de contenu par défaut vidéo.
La gestion documentaire
18. WWW.COLLAB365.EVENTS
Migration de
contenus
• Il était une fois une coquille vide…
– Souvent la solution livrée après développement est vide de tout contenu
• Avec une procédure de déploiement automatisée utilisant le Cross Site Publishing, un
crawl est obligatoire
• Intégrer la migration/création de contenus à même le développement de la solution
– Utilisation de l’API Powershell de Sharegate
– Cmdlet Import-DSPData + Cmdlets de manipulation Excel
La gestion documentaire
19. WWW.COLLAB365.EVENTS
• Mise en place des variantes et
impacts sur la solution globale
• Améliorations
Création et affichage de contenu
dans plusieurs langues.
http://bit.ly/1fCjVBe
Le multilinguisme
20. WWW.COLLAB365.EVENTS
Mise en place des variantes
et impacts
• Configuration variantes SharePoint sur les sites d’auteurs et le site de publication (réglage
du timer job aux 5 minutes)
• Pas de variantes sur les documents mais utilisation d’une métadonnée de langue
• Duplication des ensembles de termes utilisés pour les menus et la classification
– « Pin » des termes entre un ensemble de terme « source » et un « cible »
– Traduction des termes seulement dans l’ensemble source
• Duplication des connexions de catalogues
• Détermination de la langue des éléments à la création via un event receiver puis filtrage
dans les requêtes de recherche via {Site.Locale}
Le multilinguisme
21. WWW.COLLAB365.EVENTS
Améliorations
• Contrôle de changement de langue (non présent dans SharePoint par défaut)
– Contextes à gérer
• Page *.aspx (incluant les pages systèmes)
• Élément de catalogue avec friendly URL générée dynamiquement (nouvelle)
• Élément de contenu avec friendly URL arbitraire
– Solution technique
• Génération d’une clé d’association unique (GUID) entre les éléments via event
receiver
• Contrôle *.ascx et provisionnement par delegate controls. Déploiement dans les
sites d’auteurs et site de publication
Le multilinguisme
22. WWW.COLLAB365.EVENTS
• Mise en place d’un module de
commentaires
Gestion des interactions entre
utilisateurs.
http://bit.ly/1Pz9MRx
Le social
23. WWW.COLLAB365.EVENTS
Gestion des commentaires
et likes
• Site web: outils tiers (Disqus, etc.). Intranet: Yammer, Balises et notes ou autre…
• Utilisation du mécanisme des forums SharePoint OOTB
– Chaque page est un sujet
– Commentaires authentifiés
– Gère les likes, « en réponse à », permissions sur les commentaires.
– ≠ évaluation sur les éléments sur les catalogues. Hébergées sur le site de publication
uniquement (problématiques de Cross Domain Scripting)
– Distinction entre langues
• Développement d’un contrôle utilisateur *.ascx portable en Knockout JS + CSOM pour l’intégration
aux pages.
Le social
24. WWW.COLLAB365.EVENTS
• Stratégie de ciblage basée sur la
recherche
Filtrage dynamique des informations
sur le portail selon les
caractéristiques de l’utilisateur
http://bit.ly/1L5zjht
Le ciblage de contenu
25. WWW.COLLAB365.EVENTS
Stratégie de ciblage
• Le ciblage de contenu ≠ sécurité
• Cas de ciblage:
• Un contenu différent pour une
URL unique
• Un ensemble de contenus
affichés dans un même
composant
• Les critères de ciblage doivent
êtres indépendants!
Le ciblage de contenu
26. WWW.COLLAB365.EVENTS
• Contrôle de période de publication à
la minute près
Gestion du cycle de vies des
contenus dans le portail.
http://bit.ly/1hbzhxf
Le cycle de vie
27. WWW.COLLAB365.EVENTS
Contrôle de la période
de publication
• Contrôle de période de publication: date de début de publication et date de fin
affichage seulement, pas d’archivage
• Problématique: par défaut le langage KQL ne permet pas de filtrage à la minute ou
seconde
– Utilisation du FQL via les affinements de recherche (opérateur range)
– Développement de Web Parts génériques, extensions de ceux par défaut de
recherche.
• A utiliser avec parcimonie car impose des contraintes (Cf. module de recherche ci-après)
• Code complet disponible ici: http://bit.ly/1WIzbgg
Le cycle de vie
29. WWW.COLLAB365.EVENTS
Organisation de la
recherche
• Séparation entre les documents, les contenus du portail (web) et les personnes
– Pas les mêmes métadonnées et filtres (période de publication, ciblage ,etc.) Impossibilité
d’appliquer la même requête pour tout le contenu
• Pas de « Search Center »
– Utilisation d’une page personnalisée et d’une structure d’URL standard /search/…
• Configuration
– Navigation par facettes
– Types de résultats et règles de requêtes
– Suppression des éléments SharePoint par défaut
– Ranking via l’opérateur (XRANK)
La recherche
30. WWW.COLLAB365.EVENTS
• La gestion du mobile
• La gestion de l’affichage des
informations
Application de l’image de marque de
l'entreprise au portail.
À venir…
Le design
31. WWW.COLLAB365.EVENTS
Gestion du mobile et
de l’affichage
• Utilisation de la starter master page de Randy Drisgill + Bootstrap 3 (approche
responsive)
– Format HTML selon la nouvelle façon de faire de SharePoint 2013
– Mobile ou non (système de grid uniquement)
• Fichier de corrections de bugs SharePoint avec Bootstrap séparé
• CSS: Utilisation de LESS Transition vers SAAS
• Gestion du mobile uniquement sur le site de publication!
• Display Templates? Très peu pour nous Utilisation de templates Knockout JS
directement dans les display templates
Le design