#SPC2012 : Developing Advanced BI Visualizations with Visio & SharePoint in Office 365 with Azure

Session de 10h30 à 11h45 animée par Chris Hopkins (Premier Consultant)

Le but de la session sera de voir comment mettre en oeuvre des solutions BI avancées pour les PowerUsers (via Visio) et pour les développeurs (création de mashups)

On commence par un rappel sur Visio Services qui permet d’afficher sur SharePoint des diagrammes Visio connectés à des sources de données pouvant être rafraichies et tout ça côté serveur

Les diagrammes peuvent être actualisés mais pas édités ce qui est une nuance importe

Pour créer des dashboards, il y a généralement 3 étapes

  • Identifier les sources de données
  • Modéliser le rendu
  • Définir les interactions

Visio va permettre de réaliser toutes ces opérations directement dans l’outil avant publication sur Visio Services

Petit rappel sur Visio qui permet de créer des diagrammes à partir de formes prédéfinies, d’insérer des diagrammes AutoCAD, d’ajouter des images/cliparts et de générer les diagrammes à partir de données

La génération de diagramme à partir de données se base sur la fonction « Data Linking » qui permet d’associer une ligne d’une source de données à une forme sachant qu’une même ligne peut être affectée à plusieurs formes (on est sur une relation 1-N)

Quand un diagramme est connecté à une source de données, les données peuvent être rafraichies automatiquement ou manuellement et les formes du diagramme sont rafraichies automatiquement en fonction des nouvelles valeurs (utile si on fait du color coding en fonction des valeurs)

Les sources données supportées sont multiples

  • Excel Services
  • Listes SharePoint (natives ou externes via BCS)
  • SQL / SQL Azure
  • N’importe quelle source assembly .NET
  • N’importe quelle base de données possédant un pilote compatible

Il est possible d’afficher les données provenant des sources de données sous forme graphique (icônes, texte, data bars, color by value…)

Si les mode de rendu graphique ne répondent pas aux besoins, il est possible de créer ses propres modes de rendus

On passe à une première démonstration où l’on voit un schéma Visio, connecté à une source de données, publié dans SharePoint et affiché grâce à Visio Services

On voit qu’on peut passer d’un diagramme à un autre en cliquant sur une forme à partir du moment où les interactions ont été définies correctement

On passe ensuite dans Visio pour voir comment cela a été implémenté et on voit que la source de données est une base SQL Azure, exposé sous forme de liste dans SharePoint grâce à BCS et elle même connectée au diagramme Visio grâce à la fonction Data Linking (un assistant permet de faire la connexion de manière très simple)

Quand on utilise une base de données SQL comme sources de données, il n’est pas possible d’utiliser une procédure stockée pour récupérer les données (seulement les tables et vues sont supportées)

Par contre si on utilise BCS pour exposer la procédure stockée comme une liste SharePoint via BCS, alors on peut utiliser cette liste dans Visio ensuite

Si on veut agréger des données provenant de plusieurs sources, les Data Graphics supportent les formules permettant de réaliser les agrégations nécessaires

Pour créer des dashboards interactifs, la WebPart Visio supporte la connexion avec les autres WebParts et il existe une API Javascript permettant d’interagir avec les diagrammes

On passe à une nouvelle démo qui montre un exemple d’utilisation de l’API Javascript pour dessiner des canvas HTML5 sur des diagrammes Visio en fonction d’actions de l’utilisateur, afin de mettre en valeur certaines portails du diagramme

Malheureusement, à quelques exceptions près (Azure et BCS notamment), cette session est exactement la même que celle présentée l’année dernière donc Visio/SharePoint 2013 n’apportent pas de nouveautés pour la création de tableaux de bord BI

Cette session est malgré tout intéressante pour les personnes souhaitant découvrir les possibilités offertes par Visio et ses fonctions de Data Linking, Data Graphics et API Javascript

Stéphane

#SPC2012 : Deliver SharePoint Apps On Non-Microsoft platforms – Lessons learned from the Trenches

Thurday, 9h00, Kirk Evans, Principal PFE, @kaevans, Dallas Texas Radu Grama, PFE, @radugrama

Résumé

Session particulière sur le développement sur des plateformes non Microsoft, pour attaquer du SharePoint. Ce scénario peut arriver dans des entreprises où les technologies sont hétérogènes, et où il peut y avoir des parties où la technologie veut se connecter à SharePoint via des Apps.

Il explique alors les problématiques de packaging, de connexion et de sécurité, et enfin de méthode d’accès aux données.

Le but de cette session est de créer des Apps grâce à des environnements non Microsoft en comprenant la sécurité. Le code va être fait en PHP dans cette session.

On nous met dans l’ambiance, c’est un Mac qui est sur scène

// Scenario Overview

Utilisation de FBA, pas de technos Microsoft.

Linux (Ubuntu 12.0.4) et AWS (Amazon Web Services), Apache, MySQL (avec un PhpMyAdmin), PHP

// DEMO :

On est sur un site PHP avec des customers et des agents dans une agence de voyage.

Un customer doit pouvoir laisser un message à un agent.

L’agent a un BO, avec un listing des hôtels et des chambres, les messages des clients, rechercher dans le listing des hôtels.

Ils gèrent les rendez-vous et opérations dans SharePoint 2013.

Le but sera de connecter les deux sites.

// Gathering requirements

Les deux systèmes vont communiquer en REST/OData Il explique ce qui se cache derrière ses environnements (Apache, mysql etc)

// App Decisions

Il revient sur les méthodes d’hébergement et explique qu’aujourd’hui, nous allons clairement être en Provider-hosted App avec un AppManifest Il revient également sur les App Experiences (Full Page Apps -obligatoire-, App Parts -optionnel-, Custom Action – optionnel-) Utilisation de O365, il va utiliser ACS (access control service), listings sont en MySQL mais les RDV seront dans SharePoint 2013.

// Packaging

Il explique que le .APP d’une App est un .ZIP.

// DEMO : Grama montre la création d’un package APP avec MonoDevelop

L’important est le AppManifest, qu’il a récupéré.

Il insiste sur la start page qu’il renvoie vers la page login de son site PHP.

Il a RemoteWebApplication dans AppPrincipal avec un ClientId qui va gérer l’authentification Il une classe console qui va lui recréer la structure d’un .APP et qui va le zipper dans un fichier .APP avec les Helpers de gestion de ZIP.

Il va sur son developer site, upload son .app.

Il explique qu’il a utilisé MonoDevelop sur Mac pour coder en .NET avec Mono.

// Retour sur les slides : Authentification et OAuth

Pour une Cloud app, il faut enregistrer l’App avec ACS (Access control services).

Utiliser les IDE pour développer l’App.

Confugrer OAuth sur l’application.

Puis package l’App.

Pour OAuth, on utilise des tokens. Il explique qu’une App agit comme une Il y a un App ID (client ID) et App Secret générés par ACS (page _layouts/15/appregnew.aspx).

https://sellerdashboard.microsoft.com/Application/Summary

Il faut utiliser cette interface pour enregistrer l’App pour qu’elle soit utilisable sur O365.

Il faut s’assurer que le formulaire d’inscription à la plateforme il faut créer un profil complet sous peine d’être refusé.

Quand il va sur l’onglet « Client Ids », il peut ajouter un client Id OAuth. Pour cela il faut qu’il mette un nom, un nom de domaine. Il récupère un Client ID et un Client Secret.

Quand il revient sur l’AppManifest c’est celui là qu’il et dans son ClientId de AppPrincipal>RemoteWebapplication // Evans explique le flux OAuth (cf session précédente qui l’évoque déjà).

Client requête SP, SP demande un context token à ACS, ACS lui renvoie un context token signé à SP, SP renvoie la page avec un iframe au client, le client demande le contenu de l’iframe à contoso.com (l’app domain), Contoso.com demande la validation du token à ACS, ACS renvoie un access token à l’App, l’App envoie la request et access token à SP, SP valide cela et renvoie les données à l’App.

Il explique que côté serveur, il y a une classe TokenHelper sauf qu’il ne peut pas l’utiliser car il est en Mono.

// DEMO : Grama explique l’équivalent TokenHelper

Il explique qu’on peut se baser sur un framework existant si on en connait, qui fonctionne avec OAuth 2.0 PHPStorm est utilisé (Eclipse serait un équivalent), et la librairie JSON Web Token (JWT) pour lui servir de TokenHelper.

  1. Il récupère la variable $_REQUEST[‘SPAppToken], et le décode grâce au CLIENT_SECRET récupéré et mis dans un fichier de variables. CLIENT SECRET fonctionne comme une clé privée. En décodant avec JWT, il obtient l’App Token.
  2. L’App Token est vide –> refuser l’accès –> Access denied.
  3. App Token est OK –> il doit maintenant récupérer l’Access Token
  4. $appToken->aud –> il split les @ et $appToken->appctxsender pour récup leprincipal name
  5. il va créer un tableau avec les paramètres de données à envoyer pour récupérer son access token (voir la documentation OAuth).
  6. Il récupère le endpoint qu’il doit requêter via AppToken->appctx->.. il passe rapidement sur le code pour récupérer l’access token
  7. Une fois qu’il a accessToken, c’est bon il a accès à SharePoint et peut attaquer les données.

L’access token dure quelques heures. Une fois qu’il est connecté il explique qu’il peut récupérer le refresh token qui lui dure de 6 à 12 mois .Ainsi il veut éviter de refaire la requête à chaque rafraichissement de la page.

// CSOM and REST / OData

Répétition de CSOM et REST via client.svc dans vti_bin … ou _api plus simplement.

Il insiste sur le fait qu’il ne va rien installer sur SP de particulier, mais bien attaquer à distance les données.

Il explique comment est venu OData, qui avant était conçu pour lire les informations, mais qui maintenant permet également de faire du CRUD. Il est aussi possible de récupérer les données en JSON avec les accepts-header HTTP.

Il créé un tableau d’en-têtes, pour envoyer sa requête GET.

Il met Authorization : Bearer en passant l’AccessToken.

Il met Accept : application/json;odata=verbose.

Il émet ensuite la requête JSON en attaquer _api/web/CurrentUser Il fait un curl_exec($ch) , $ch étant le tableau de requête, et met le résultat dans une variable session « sharepointUser ».

Christian

#SPC2012 : Best practices for record management with SharePoint 2013

Session de 9h à 10h15 animée par Scott Jamison, Jornata

Petit résumé:

Une présentation des fonctionnalités de SharePoint 2013 (qui apporte très peu de nouveautés) pour gérer son archivage de document. Des bonnes pratiques à reprendre mais peu de concret.

// intro

La session est basée sur l’histoire de Bob. Bob a déployé SharePoint.

Il a une demande de records management dans son organisation.

Il ne sait pas comment s’y prendre.

La session va donc aider Bob a répondre à son client.

// enterprise content management

Les concepts de RM sont : partage, organisation, trouver, construire, gérer.

3 étapes : 

  • Création des documents (création et organisation, metadata) -> personnel
  • Organisation des documents (policy, architecture de l’information, taxonomie) -> team
  • Securisation des document (reduire les risques) -> organisation

// record management

Le RM consiste a identifier, classe, archiver, conserver et detruire les enregistrements.

Le but est de faire tout ca d’une facon repetable et controlable.

Les problèmes à résoudre : 

  • Comment définir ses politiques de rétention ?
  • Comment accéder aux archives ?
  • Comment rendre tout ça semble pour que les utilisateurs adoptent l’outil ?

Il nous montre un cycle de vie de document : create, collaborate, review, approve, publish, expire, archive/destroy

Une best practice est d’ajouter des metadonnees a chacune des étapes.

// what s new in 2013

En SharePoint 2010:

  • content organizer
  • document sets
  • document IDs
  • location based metadata default : il pense que c’est la feature la plus sous estimée.
  • navigation par metadonnees
  • in place record
  • site based eDiscovery and Holds

En SharePoint 2013:

  • tout ce qu on a dans 2010 +
  • Site rétention : on peut cibler une policy sur un site, qu’est ce qui cause la fermeture et la suppression du site
  • site mailboxes (qui suivent les politique de rétention du site) : voir mon CR de mardi sur ce sujet. Cette fonctionnalité permet de drag et dropper un mail dans la doc lib ce qui permet de gérer les mails en tant que records
  • cloud parity : on a toutes les fonctionnalités dans le cloud.
  • eDiscovery : idem, voir mon CR précédent dédié au sujet.

– démo de la politique de rétention d’un site

Tout se passe dans les site setting, il faut activer la feature « site policy » qui active le menu « site policy » et « site closure and deletion ». On doit d’abord définir une policy au niveau collection de site, puis l’assigner au site.

Lorsqu’un site est fermé, un bandeau apparait tout en haut de l’écran : « le site est fermé à la demande de l’administrateur de la collection ».

– démo de la site mailbox

Il ajoute une app et la site mailbox est créé, rien de neuf par rapport a la session de mardi.

– démo depuis le cloud

Il montre juste un record center sur O365.

– il passe maintenant a une belle publicité sur son bouquin… 

// top 10 best practice

1 – identifier les roles :  qui est en charge des enregistrements (archiviste, legal), qui implémente (IT), qui gère le contenu, les utilisateurs

2 – analyser le contenu à conserver 

3 – encourager l’usage de métadonnées : les personnes qui créent le contenu doivent être former à bien remplir les méta, créer des colonnes, pas des dossiers, assigner des métadonnées par défaut sur les colonnes, former les utilisateurs à bien renseigner la propriété « title » (qui est par défaut le titre du doc dans les propriété du doc office).

Les dossiers doivent être réservés à la gestion des droits, à la partition du contenu en terme de volume, à assigner des méta par défaut. Pas d’autre raison de créer des dossiers !

– démo

Il montre un lib avec une vue a plat pour les lecteurs et une vue par dossier pour les contributeurs. Il se place en tant que contributeur et drag et drop des fichier dans un des dossier et les meta sont remplies par défaut.

4- construire file plan : un tableau de rétention des documents :

Contrat – description – 5 ans

SFD – …                    – 2 ans

Etc.

– démo dans les doc lib setting, on a un bouton pour générer un file plan qui liste les contents types, les politiques de rétention, etc.

5- mettre en place des schedule de rétention

– démo depuis lib setting. On peut baser le schedule sur des contenttype ou des répertoire.

6- définir la solution : in place ou record center

Un record center peut faire l’affaire si la politique de retention des sites n’est pas maîtrisée ou si l’administration des sites n’est pas « fiable ». On doit pouvoir maitriser les sites contenant les record pour faire du in place.

En contrario, le record center oblige a aller checker 2 endroits pour trouver ses documents.

Il a mis un tableau avec les pour et les contres pour choisir, il faudra le récupérer depuis les slides.

– démo de la déclaration de record in place et aussi du send to record center.

7- définir comment le contenu devient un record

Apres un certain temps ? Par code ? Workflow ? Manuellement ? A t-on des contraintes légales ? Peut-on laisser les utilisateurs définir les record seuls ?

8 – planifier l’intégration des emails

9- un file plan doit être tenu a jour pour savoir ce qui est archivé et comment

10- add ons 

Là il nous vend son consulting et des solutions de ses partenaires…

// ca y est Bob est content 🙂

// une question intéressante

Quoi de neuf coté doc ID ?

Rien c’est toujours aussi bof.

Fabien

#SPC2012 : Lighting up SharePoint 2013 Extranets with Business Intelligence

Session de 9h à 10h15 Nathan Miller, Collaboration TSP Richard diZerega, MTC Architect

La session va être orientée sur la partie Extranet avec l’intégration de BI. On commence par la définition d’un extranet, les utilisateurs (partenaires, clients, employés en mobilité…) et pourquoi utiliser SharePoint 2013 pour concevoir son extranet :

  • Reporting Dashboard
  • Content and Publishing
  • Social Collaboration
  • Great Price for Capabilities

Quelques challenges :

  • L’authentification des utilisateurs externes,
  • L’adoption des utilisateurs,
  • La sécurisation des données lors des échanges,
  • Les droits par rapport au contexte d’utilisateur

Première démo dans Office 365. Le gros avantage d’office 365 est que vous n’avez pas besoin de gérer toute une partie de la sécurité : c’est MS qui s’en charge. Il n’est pas besoin de produire de fort efforts en architecture, coût (serveurs et personnes comme architecte / administrateur) pour mettre en place une plateforme sécurisée tout en restant performante, merci Office 365.

L’extranet présenté en démo est structuré grâce à la navigation en plusieurs espaces « partenaire », qui possède des droits spécifiques (chacun sur son sous-site). Lorsqu’on se connecte au site avec un client, on ne voit que son espace. SP2013 permet d’apporter App Model. Par exemple sur la page d’accueil, une app dans un fichier excel est affiché (très graphique avec des bulles pour correspondant à des valeurs sur les partenaires. L’app s’appelle bubble quelque chose).

Une fois le site client ouvert. On voit un fichier Excel intégré (Excel Web App) avec une app Bing Maps affichant des points de tailles différentes sur la carte : les informations sont chargées grâce à Power View.

On passe sur un autre fichier Excel, qui permet de montrer des rapports via des des graphiques « PivotChart ». Au clic sur le troisième fichier excel, une erreur est affiché indiquant que le fichier est trop gros (+ de 10 Mo). Il est donc proposé en ouverture via Excel (client lourd).

Enfin, un dernier fichier avec une intégration de Power View intègre 4 partie (en mode dashboard), très interactif, graphique et intégrant des données.

Affichage d’un fichier Visio via Visio Web Access (il est apparemment très facile de connecter Visio à des données).

Ensuite, présentation d’une SharePoint App (MetroEyes), cette fois-ci depuis une tablette Windows 8. App plutôt sympa comportant des composants (graphique de données) qui réagissent au doigt : drag-drop, le dessin d’un rond avec le doigt sur la zone la transforme en graphique camembert. Le trait d’un graphique à un autre provoque la fusion des deux graphiques => une expérience utilisateur riche. Tout ça grâce à HTML 5.

Direction SharePoint OnPremise. Quelques schémas d’architecture / Infrastructure (type back to  back…). Coté de la central administration, les services primordiaux (Claims to Windows Token Service…), les applications service (Secure Store Service). Le Secure Store Service met en place tout un système (base de données) permettant de stocker les permissions. C’est intéressant pour protéger des systèmes back-end qui seront utilisés au sein de SharePoint 2013 (via Excel Services, Visio Services, PowerPivot…).

Dans Excel Services, on va activer l’option « Analysis Services EffectiveUserName » pour permettre l’authentification par utilisateur sur des sources de données « Analysis Services ». On voit une démo sans l’option où le fichier ouvert en Excel Web Apps affichent les zones en accès interdit.

Focus sur l’authentification avec UAG (MS Forefront), Windows Claims user pour le portail.

Grâce à SP2013 :

  • Excel Services : création de rapport, dashboards. Utilisation de PowerPivot et Power View
  • Reporing Services / PowerView : Conception via designer de requête, creation de table, matrice, chart report. Les rapports peuvent être planifié et partager des données.
  • Performance Point : concevoir des dashboards à travers des graphiques, KPI, SSRS Report. => Les utilisateurs peuvent naviguer à l’intérieur, interagir, tout ça dans un modèle sémantique

Démo sur un site concernant l’authentification. Sur le site, l’utilisateur peut se connecter depuis un compte utilisateur ou via un service d’authentification externe. Facebook login. Une autorisation dans facebook est demandée (basic info, email, birthday, location). Une fois autorisé, on voit qu’on est bien logué : en haut on peut lire « Hello Richard diZerega from Texas).

L’IT Pro et la BI n’étant pas ma passion, je vous voir les ressources à disposition après l’événement (Claims Based Authentification, Windows claims, FBA claims, SAML claims, scénarii avec deux zones Win Authentification et ADFSServer…)

Jérôme

#SPC2012 : Developer’s Guide to Integrating Microsoft Dynamics CRM & SharePoint 2013

Session de 9h à 10h15 animée par Girish Raja (Technical Product Manager)

C’est parti pour la dernière journée de la conférence et je ne sais pas si c’est le sujet qui n’intéresse pas les foules ou le fait que les gens sont déjà rentrés chez eux mais la salle est remplie au 1/4 de sa capacité

Rapide introduction ce qu’est Dynamics CRM pour les personnes qui ne connaissent pas et comment le produit se positionne dans l’offre Cloud de Microsoft avec Office 365 et Azure

On voit ensuite un slide rappelant tous les produits de la famille Business Platform (Dynamics, SQL, Azure, Lync, Yammer, SharePoint….) en rappelant que Microsoft mise sur l’aspect plateforme unifiée avec tous ses produits

1ère démonstration sur le portail Office 365 dans lequel on voit que l’on peut gérer l’intégralité des services SharePoint, Exchange, Lync, CRM…

Il est possible de souscrire à un abonnement CRM en quelques minutes directement depuis le portail et en passant par le même portail que Office 365, on gère les utilisateurs et les domaines dans un endroit centralisé ce qui simplifie la vie

L’intégration avec SharePoint porte sur 3 aspects que nous allons voir dans la suite de la session

  • Documents
  • Analytics avec PowerView
  • Business Connectivity Services (BCS)

On refait une passe sur les domaines métiers couvertes par CRM à savoir les ventes, le marketing et le service sachant que la plateforme peut être étendue à d’autres besoins (on parle de xRM dans ce cas)

CRM peut être déployé aussi bien en mode Online qu’en mode On-Premise et il est possible de l’utiliser sur tablette, téléphone et ordinateur

Les démos qui vont être faites par la suite seront sur la version Online mais les principes sont les mêmes sur la version On-Premise

On voit maintenant un slide présentant l’architecture de CRM (base de données, plutins, webservices…) mais vu que ces informations/schémas sont présentes sur MSDN, je ne m’attarde pas dessus

SharePoint et CRM sont des outils complémentaires sur de nombreux aspects :

  • Stockage de données (structuré dans CRM / semi-structuré dans SharePoint)
  • Social (tâches dans CRM / collaboration dans SharePoint)
  • Règles & Workflows (Formel dans CRM / Informel dans SharePoint)
  • Recherche
  • etc…

Out-of-Box, CRM est capable d’intégrer la gestion de documents stockés dans SharePoint (le support de SharePoint 2013 arrivera début de l’année prochaine)

Le support de tous les navigateurs majeurs (Firefox, Chrome, Safari) arrivera courant Décembre => Bonne nouvelle car cette fonction est attendue depuis le mois de Mai

Quand on stocke les documents dans SharePoint, un dossier est créé dans la bibliothèque de document pour chaque entité (prospects, clients, sociétés…)

Cela pose quelques soucis à des clients qui veulent avoir 1 bibliothèque par entité, fusionner des enregistrements et donc fusionner les dossiers, etc… Ce n’est pas possible OOB mais avec du développement, c’est faisable

Passage à la démonstration montrant comment la gestion documentaire fonctionne sur une fiche client et comment le paramétrer dans CRM (cela se fait en quelques minutes en allant dans les paramètres de la plateforme)

La partie la plus importante concerne un composant à installer sur la ferme SharePoint pour permettre à CRM de communiquer avec la plateforme

On voit ensuite qu’un plugin a été développé pour modifier le comportement standard de CRM (création d’un dossier par entité) pour que désormais il y a une bibliothèque de documents créée pour chaque entité

On voit ensuite un autre plugin pour qu’à chaque fois qu’un client est créé, plusieurs types de documents (gérés via les ContentTypes SharePoint) peuvent être créés directement depuis la fiche du client

Le code source des plugins est disponible sur le blog à l’adresse http://crmconsultancy.wordpress.com

Retour aux slides pour évoquer maintenant la partie BI dans CRM où un assistant de création de rapports est disponible en mode web (création de tableaux, de graphiques…)

Plutôt que faire les rapports dans CRM, on passe à une démo pour voir comment faire des rapports PowerView et les publier dans SharePoint et pour cela, on peut se connecter au EndPoint OData pour récupérer les données dont on a besoin

On peut créer des fichiers Excel Dynamiques (connectés en Live aux données CRM) depuis le portail CRM via le bouton « Export to XLS » et ensuite il est possible de créer des rapports PowerView dans Excel sans même avoir besoin de SharePoint (c’est qui nous est montré dans la démo qui ne fonctionne pas mais une vidéo pré-enregistrée est jouée en dernier recours.

Une session intéressante pour voir les possibilités de connexion entre CRM et SharePoint mais à force de répondre à toutes les questions posées pendant la session, le speaker a pris du retard et il saute certaines parties à la fin faute de temps (la partie sur BCS)

Stéphane

#SPC2012 : Request Management in SharePoint 2013

Wednesday, 17h00, Spencer Harbar, MVP Architect Edimburgh, UK

Résumé :

Session 300 pour un IT Pro. Il présente le Request Management service permettant de router les requêtes HTTP vers des serveurs particuliers, selon leur nature.

Il présente les différentes composantes du service, en quoi chacune consiste et quel rôle elles ont dans les étapes d’évaluation d’une requête.

Il finit par une démo pour montrer les différentes commandes Powershell afin de mettre cela en place avec une ferme de quelques serveurs. En faisant ça il montre comment exactement écrire les commandes permettant de configurer le service Request Management à chacune de ses méthodes.

// Request management

Gestion des requêtes HTTP par SharePoint. Comment SharePoint gère les requêtes et peut les changer.

SharePoint va pouvoir décider de router une requête (ou même ne pas l’accepter). .

// Usage scenarios

/ Reliability et performance.

Nous pouvons pour chaque requête, qu’elle soit routée de façon à ce qu’un serveur en sous-charge soit utilisé plutôt qu’un serveur surchargé.

Il est possible de prioriser les requêtes d’utilisateurs par rapports aux requêtes de robots (type bot de recherche).

/ Capacity management

Nous pouvons rediriger des requêtes d’un type vers des serveurs bien précis.

Il est aussi possible de définir des groupes de serveurs ayant un rôle et y router nos requêtes.

/ Scalability

Il est possible de rediriger la requête vers un load balancer pour lui permettre de gérer la requête et la volumétrie de requête au niveau du réseau.

/ Service management

Il est possible de rediriger un type de requête (search, user profiles, office web apps), vers des serveurs spécifiques.

Il permet également être d’une bonne aide pour diagnostiquer des problèmes.

// Fundamentals

C’est disponible pour toutes les licences. Il n’y a pas d’impact par défaut (il est désactivé par défaut). L’étendue du request manager est sur la web application.

Le request manager est composé de trois éléments

// Architectural Overview

Le request manager est implémenté par un SPRequestModule. Il tourne sur un web server (front – WFE).

La configuration lorsque la webapp a un host leader est compliquée en revanche. Il conseille plutôt de créer des host named site collection.

Il existe plusieurs modes de déploiement.

Integrated mode : le service tourne sur le serveur web dans la ferme.

Dedicated mode : serveur dédié.

Selon l’un ou l’autre, l’implémentation des serveurs peut être ou non possible.

// Components rules and evaluation

Routing targets ou Machine targets. Les serveurs vers lesquels les requêtes sont routées.

Request Management Rules / Throttling rules : les règles de routages Execution Groups : ensemble de rules, 3 possibles. / Rule criteria : les proprerties permettent d’evaluer la requête (user agent, url, hjost, soapaction, IP, custom header etc.) et les Match Methods permettent d’exprimer les égalités (startswith, endsqwith, equals, regex) L’évaluation va matcher la throtting rule, on match les routing rules dans chaque exécution group. Selon la rule, on va rediriger vers le pool de machines.

// Configuration and Management

Il plaisante sur le fait qu’il existe une interface utilisateur sur la central admin …. NON ! tout se fait en Powershell.

Il présente les commandes *-SPRequestManagementSettings , *-SPRoutingMachinePool (pool machine et routine targets), *-SPRoutingMachineInfo (configurer les routine targets), New-SPRequestManagementRuleCriteria (définir un critère qui va permettre de matcher la règle), *-SPThrottlingrule (pour créer les rattacher les critères aux propriétés), *-SPRoutingRule (configurer les routine rules et leur groupe d’éxécution).

// Monitoring

ULS Logs + IIS Logs (HTTP Logs ou SPPING Mechanism) + Performance counters

// DEMO : Scenario and Demonstration

Ferme SP + 3 WFE  (SP1, SP2, SP3) load balancés avec BIG-IP + 3 host named site collections (HNSC) Il veut refuser toutes les requêtes depuis OneNote. Et il veut également que les PDFs soient redirigés vers SP1 ou SP2. Les requêtes pour la site coll Adventure Works sont servis par SP1 et SP2. La site coll Contoso est servie par SP3. Enfin Fabrika est servie par SP1 et SP2.

Il a créé 2 groupes d’exécution (1 pour les PDFs, et 1 pour les règles de HNSC).

Il a créé 2 machine pool (1 avec SP1 et SP2, 1 avec SP3).

Il note qu’il a une site coll à la racine sans host name pour que IIS puisse gérer, c’est quelque chose à savoir.

Il fait un certain nombre de configurations et commandes Powershell en les expliquant. Je ne rentrerai pas dans les détails, mais ça marche !

Il finit par montrer les loge afin d’expliquer le service a bien effectué chacune des étapes qu’il a expliqué.

Christian

#SPC2012 : Optimize search relevance in SharePoint 2013

Session de 17h à 18h15 animée par Jan Inge Bergseth et Victor Poznanski

Petit résumé:

Une session 400 en fin de journée par 2 accents à couper au couteau… Vive la Norvège !

On a eu une revue des méthodes pour jouer sur les résultats selon les requêtes. Pas simple du tout !

// les challenges pour la recherche

Exemple d’une personne qui tape « SharePoint conference » dans son moteur de recherche :

  • Que cherche t il ?
  • Ou sont mes slides ?
  • Ou se déroule la conference ?
  • Etc…

Améliorer la relevance est un cycle en 4 étapes :

  • il faut identifie le problème (une webpart : vous ne trouvez pas ce que vous voulez ? »‘ est une bonne idée pour que les soucis soit remontés)
  • le diagnostiquer (problème de crawl, verifier les permission, etc.)
  • réparer le problème
  • déployer

// authorities

On peut définir des site (url) qui font autorité. KM, référence, etc.

Définir un site comme une autorité donne un peu d’autorité aux sites avec lesquels ils est lié par hyperliens. Et ceci en cascade.

Un site défini comme autorité voit son contenu remonter au niveau ranking dans les résultats.

// result sources

Équivalent des scopes 2010.

C’est une configuration au niveau site collection.

L’idée est de cibler des recherches contenant le mot « training » vers une liste de training. (par exemple).

{searchTerm} url:http://site/list

// démo : faire l’équivalent du federated search 2010

On paramètre un result sources sur du openSearch (bing).

Ensuite on créé un query rule pour déclencher la recherche sur notre result source et l’afficher dans un result bloc.

Exemple : si je saisi sharepoint, j’ai un bloc avec les résultats de Bing. L’avantage est que ces résultats s’affichent dans la même webpart que les autres, pas comme en 2010.

// query rules

Cas d’utilisation : si j’ai une query avec un nom de société, je veux surement afficher des résultat de mon CRM.

Ou si ma requête commence par « what is », je veux un bloc avec les résultats de wikipedia.

// démo : query rule

Depuis les site settings, on crée une query rule de type advanced

Jan Inge va a fond, impossible de noter et difficile à comprendre, la vidéo sera utile.

// verticals

Les vertical sont super intéressants pour avoir des refiner, display templates, query rules, sort, tous différents et dédiés à ce vertical.

On a une démo encore a fond la caisse pour montrer qu’on peut afficher un result bloc d’un vertical depuis un autre si on saisit les requêtes les plus courantes sur celui ci. En gros…

// démo : dynamic rules / XRANK

Un dynamic ordering peut se paramétrer dans le query builder.

Cela permet de paramétrer : Si le résultat correspond à une condition, on augmente ou diminue le ranking.

// ranking customization

Cette option doit être gardée que si on arrive pas à ce qu’on veut avec les outils décrits avant.

De plus on doit avoir diagnostiquer que le ranking doit être améliorer pour la plupart des queries.

On a un outil qui sera disponible pour tuner le ranking depuis le navigateur. Celui ci sera disponible dans les prochaines semaines. C’est un wsp qui ajoute des écran d’administration dans les site settings.

C’est assez high level, difficile de les suivre, revoir la vidéo et les slides sera pas un luxe.

🙂

Fabien