Hands-on SharePoint Spaces, VR solution at the Microsoft Ignite 2018

I must admit that I was quite skeptical when I heard about this new feature earlier this year. One of the main reasons of my skepticism was that I could not find the right use case from an end-user perspective. During the Microsoft Ignite, 3 booths were available to get our hands on this new solution, so why not testing this and trying to change my mind ? 

SharePoint Spaces tested by Mozzaik Team

It started with a quick introduction from Vidya who’s part of the Microsoft SharePoint Space product team. I discovered that there are already 7 webparts developed, and more to come. Microsoft teams already using this feature internally, yet I couldn’t find if it would be easy to programmatically convert or extend a webpart so they support the 3D glasses, but I guess it’ll be possible with PnP in due time.

 

Creating a new space is really easy, you just need to select the « New » menu in the ribbon as you would do for a new page or a list. Select from the spaces available, and you’ll have the page loading instantly. I’ve seen the organization chart demo, then the data visualization (mind blowing!!)

SharePoint Spaces Data Vizualisation

 

So what about the rendering ? Though it’s still at the early stage for this technology, I can really see the potential in an industrial environment, especially for the FLW (First Line Workers) when browsing the details of a piece and following a specific process which could be a « Process viewer WebPart ». And folks, that’s the key take away here : the WebParts.

 

SharePoint Spaces Tent with the WebPart panel opened

My skepticism relied on the absence of solid user scenarios that could justify the investment on this technology, but knowing that it relies on webPart, I can easily imagine specific webparts for supply chain processes, where you trigger the right process with the controller, and it points out the manufactured pieces and the associated steps to build the piece. Also, knowing that FLW and Product teams could share and use the same Site and interface could really benefits for the communication for the whole building process. 

From a technology standpoint, it relies on BabylonJS , GLTF format for 3D scenes and models, and the HP Windows  Mixed Reality for the headset and the controller. 

If you want to know more about SharePoint Spaces and the mixed reality, check the Microsoft article : https://www.microsoft.com/en-us/microsoft-365/blog/2018/05/21/sharepoint-innovations-transform-content-collaboration-with-mixed-reality-and-ai/

Ignite 2018 – Customizing Modern SharePoint avec Ed Hild, Architecte Microsoft MCT

Une session au MTC qui fait salle comble, pas d’annonces en particulier. La session est tenue par Ed Hild, Architecte au MTC de Washington.
Rappel de 2 templates de site SharePoint
  • Team Sites : Department, Team, Project, Extranet (partner, customer), comittee
  • Communication sites : portails, communities, etc …
Gouvernance : Utilisation d’un préfixe lors de la création d’un Team Sites qui pointe directement sur le departement de l’utilisateur. Gestion de la confidentialité avec le choix. Lors de la démonstration, Ed nous présente le site de gouvernance du MTC. Intégration d’une PowerApps dans la page, vraiment sympa avec un Canvas complet. 
A noter : une évolution du Hightlight content, avec la capacité de rajouter une requête de recherche directement dans les paramètres de la WebPart 
Branding / Theming
Rappel des principes de bases du Themes SP Modern. Présentation de Primary Color et Accent Color. Un écran présente la navigation latérale avec un fond coloré en bleu, le rendu est vraiment sympa !
Site Design / Site script
Ed nous rappelle qu’il a commencé les templates depuis … un moment  Comment cela a évolué, avec les XML, les sites definitions, etc …
Démonstration du site design sur un nouveau site, effet démo, le panel latéral à droite ne s’affiche pas. En temps normal il aurait afficher la liste des éléments provisionnés (columns, permissions, etc…). Concernant leur utilisation au MTC, ils utilisent de l’Azure Queue couplé avec du PowerShell dans une Azure Function qui execute des scripts PNP (Site Scripts)
Hub Sites
Ne sera pas dans SharePoint 2019 Server. « Dynamic ever changing ». La meilleure option pour gérer le changement de périmètre et d’organisation des sites dans un ecosystem SharePoint  
Références disponible ici (powershell, github, etc …) : http://aka.ms/modernsp

Ignite 2018 – Office 365 Business Apps (SharePoint, PowerApps, Flow, Forms)

Une session que j’attendais avec impatience car elle réunit plusieurs Workload Office365 ! SharePoint, PowerApps, Flow, Forms, Power BI. On appelle cela, les Business Apps. La session commence par une mise en avant de Lego qui a su évoluer dans ses applications et Excel pour aller vers PowerApps. 
Lists (SharePoint)
Nouveau formulaire de création de listes, avec la possibilité d’utiliser depuis une liste déjà existante ou un modèle. On peut aussi créer une liste depuis un fichier Excel, avec la sélection de table. Présentation d’une nouvelle colonne de type « lieux » qui permet d’ouvrir un panel une fois cliqué dessus. Lorsqu’on ajoute une ville, cela va automatiquement peupler d’autres colonnes avec Code Postal, etc… Prévue pour Q4 2018
Présentation du column formating « avancé », où l’on se retrouve avec une interface similaire à de l’Excel et du color formating.
Workflow
Cas d’usage, on créé un site SharePoint et on souhaite le rattacher à un Hub Site, l’opération se fait avec Flow avec « Approval ». Au passage, on voit la nouvelle interface de « Settings » depuis la roue crantée. Flow directement dans un Column formatter. 
Set a reminder, Hub Join approval, Request Sign-Off, Content Approval, Page approvals et d’autres Flows présentés, la plupart se basent sur la fonctionnalité « Approval » de Flow. Une annonce majeure c’est le Flow « SharePoint permissions » et le « create your own template » au travers d’un SharePoint Connector updates où l’on va pouvoir gérer des colonnes multivaluées, partage de liens, file actions, ET le send HTTP request to SharePoint etc … 
Apps
Forms : WebPart avec gestion des données à récolter depuis SharePoint. 
SharePoint : compatible avec les DocLibs
PowerApps : On peut composer des pages avec une connexion vers des documents, un côté « Document sets » mais avec une page, très intéressant.
Cognitive Services : Présentation de la reconnaissance visuelle pour les images publiées dans SharePoint. Flow est présenté avec Get File Content puis « Predict tag from image », on n’a pas de difficultés à trouver un usage associé à cette fonctionnalité. On retrouve les classic « Sentiment, Translation », mais aussi « Key point summary », « recognized objects »
Power BI : Plus grande intégration avec SharePoint, mais pas d’annonces à cette session.
Roadmap à retenir :
Power BI dans des listes SP, Search connectors, etc … 
Ressources :https://aka.ms/sharepoint/bizapps
Citation

Ignite 2018 – Future of Yammer, Vision & Roadmap

Yammer a 10 ans !  Cette session est une présentation de la vision de Yammer par les équipes produits de Microsoft pour les prochaines années. On peut résumer en une phrase:
« Empower and connect every person accros organization to maximize their impact ». 
Parmi les points importants, la transparence et la sérendipité. Le souhait d’avancer sur une intégration avec Outlook, Stream, … 
Live Event
Le composant « Live Event » avec une nouvelle section « Group Events » dans la page Yammer, intégration de Stream directement. La video « flotte » en fonction du scroll vertical mais aussi des pages, un comportement similaire à ce qu’on peut retrouver sur FB. Une fois finie, l’événement est disponible sur Stream avec toutes les fonctionnalités associées (reconnaissance visuelle, transcript, etc ..) tout ça est prévu en Q4 2018
Yammer tab in Teams
Une nouvelle tab disponible. Intégration d’une conversation Yammer dans une conversation Teams !! (prévu en Q1 2019)
SharePoint
Nouvelle WebPart Yammer conversation, avec l’application du thème SP directement dans la composant. L’ajout d’un document Yammer l’enregistre directement dans le Team Site. (prévu en Q1 2019)
Microsoft Search
Présentation d’un vertical « Conversations » dans les résultats de recherche avec un filtre « Yammer », évolution prévue pour Q4 2018
Roadmap 2019
H1 2019
Mark « best answer », RTE, Q&A, eDiscovery 
H2 2019

Participation aux live events, Pin posts, People Cards, Geo Storage.
Un point d’attention sur le stockage des données pour l’Europe.

Connecter VSTS à Teams

Objectif

Avec Teams vous pouvez partager un ensemble d’information aux différents membres de l’équipe sans que ceci aille sur le site VSTS du projet.

Prérequis

  • Avoir un projet VSTS avec un backlog rempli (si ce n’est pas le cas vous pouvez créer un projet rapidement en suivant cet article)
  • Installer Teams

Suivre les événements du projet

Par défaut, VSTS notifie par mail différents évènements qui se produisent sur un projet. Par conséquent, notre boîte mail se retrouve vite saturée de mail provenant de VSTS.

Certains de ces évènements sont envoyés par défaut seulement à la personne qui a déclenché l’évènement.

Par exemple, suite au commit du code d’un développeur sur la branche de développement, l’échec ou la réussite du build automatique (cas d’une intégration continue) sera envoyé seulement à ce développeur, par défaut.

En connectant VSTS à Teams, ces différentes notifications peuvent être partagées à l’ensemble de l’équipe projet, sans encombrer les boîtes mail de chacun.

Etape1

Vous devez créer un nouveau canal à votre équipe projet sous Teams

  • Cliquer sur « Ajouter un canal », dans le menu contextuel de l’équipe

Teams1

Dans la fenêtre de création du canal :

  • Saisir le nom du Canal
  • Cliquer sur « Ajouter »

Teams2

Etape 2

Il ne reste plus qu’à créer un connecteur pour que les notifications de VSTS arrivent dans le canal Suivi Backlog.

  • Sélectionner le canal
  • Cliquer sur « Connecteurs » dans le menu contextuel

Teams3

Dans la fenêtre de gestion des connecteurs :

  • Rechercher « Visual »
  • Cliquer sur le bouton « Configurer » du connecteur Visual Studio Team Service

Teams4

Dans la fenêtre de configuration :

  • Sélectionner votre compte de connexion à VSTS
  • Sélectionner le nom de la souscription VSTS

Teams5_1

  • Sélectionner le projet à surveiller

Teams5_2

  • Sélectionner le type d’évènement à surveiller
    • Pour notre exemple : « Elément de travail mis à jour »

Teams5_3

  • Cliquer sur « Enregistrer »

Teams5_4

Lorsque la configuration est faite avec succès, le post suivant apparaît dans le canal :

Teams6

Etape 3

Vous pouvez tester le connecteur en modifiant par exemple une tâche du projet sous VSTS.

Teams7

Selon vos besoins, vous pouvez tester les différents types d’évènement que vous souhaitez écouter dans Teams.

Visualiser le Product Backlog du projet

Dans le canal dédié au projet, il est aussi possible d’ajouter un onglet afin de visualiser rapidement la backlog du projet sous forme de Kanban.

Etape 1

Dans le canal du projet :

  • Ajouter un nouvel Onglet, en cliquant sur « + »

TeamsBacklog1

Dans la fenêtre de sélection d’onglet :

  • Rechercher « VSTS »
  • Cliquer sur l’icône « VSTS »

TeamsBacklog2

  • Entrer vos identifiants de connexion pour VSTS

TeamsBacklog21TeamsBacklog22

Etape 2

Dans la fenêtre de configuration de l’onglet VSTS :

  • Sélectionner un compte de connexion à VSTS

TeamsBacklog3

  • Sélectionner la souscription VSTS
  • Cliquer sur « Continuer »

TeamsBacklog4

Etape 3

  • Sélectionner le projet
  • Sélectionner l’équipe
  • Sélectionner le niveau des items du Backlog à visualiser
  • Cliquer sur « Enregistrer »

TeamsBacklog5

Etape 4

Visualiser et partager avec votre équipe le kanban.

TeamsBacklog6

Attention, seuls les personnes possédant un compte pour se connecter aux projets pourront accéder à cet onglet.

 

Conclusion

Si vous utilisez déjà Teams pour gérer vos projet au sein de vos équipes, connecter VSTS à Teams est pratique. L’ensemble des informations dont vous avez besoin sont maintenant disponible sur un seul outil Microsoft.

Teams permet de visualiser rapidement et simplement certaines informations du projet VSTS, si vous avez besoin de plus de détail passer directement par VSTS.

 

 

 

 

 

 

 

Activating Office 365 groups is not an option

 I see a lot of different reactions when it comes to Office 365 groups. But there is one thing that unites close from every IT department I know : deactivate it, hide it ! (and pray for users to not get aware of its existence). Caricature ? Maybe

Reasons ?

  • We are not ready
  • We can’t control everything yet
  • We have difficulties matching every tool with a use case
  • We only want users to have the tools we decided they needed

Here is why those arguments are irrelevant in my opinion.

growefficiently-turntocloud

Everything is built upon groups

This is SaaS. Microsoft is deciding (with feedback from users of course) what the future is. And Microsoft decided the future will be built upon groups.

Lots of features have rolled out, some others are rolling out right now. And not only for first release customers. The only way to go back to good old SharePoint Sites : stop Office 365.

We are building technical debt

Technical debt is something we fight a lot as developers. Every problem, every bug that we just hide will come back one day. And it will be far more difficult to fix. We all know what happens when we shut down some work because we have other priorities. We will always have other priorities.

One day we will have to activate it,  whether there is no more ability to stop it or because no tool works without. And it is going to hurt. A lot.

This is the perfect moment to prepare

Features are rolling out, one by one. It is easy to stay tuned, news after news. We still have time. The perfect moment to try it. To get feedback from users. To check which tools we prefer for our usages. To build our adoption strategy. We may be surprised, as users may prefer groups to the big SharePoint template we spent months building.

All the time we spend creating SharePoint branding that will be obsolete in 6 months. All the energy we spend trying to hide O365 features. We could be monitoring usages, communicating, building adoption strategies, building tools to do what groups don’t do.

What’s wrong with giving tools to users ?

Everything that is rolling out now is just a set of extra tools users can have. Why so much hate ? It’s like IT departments want to tell people a list of scenarios with a tool attached to each one. We want to control everything. We are control freaks. There are reasons we build procedures, of course. But sometimes we should let go.

Maybe users know better than us what they need. Maybe they are used to massive tooling in there private life. Maybe they are now using Slack + Dropbox + Trello and have the same features but without you monitoring it. Maybe they just need a go and will be delighted to use those tools. Maybe not. The best way to know is to go for it, and get feedback. Feedback, iterative or lean strategies are not only for startups !

What is the worst case scenario ?

Users creating an important amount of groups, and information is not well organized ? Users creating groups they shouldn’t create ? Users uploading top secret documents in external groups ?

We can have power users with a global vision of the team and responsible for organizing work and data. Those people are already organizing other content in their team.

We can classify groups to remind users about what content should be in each group. We will soon be able to apply policies with each classification.

Users are adults with responsibility on their actions. We don’t block  every action that could be possibility dangerous if maybe someone was doing something very stupid. Or it is not yet the case in my country. We should stop doing that in IT every day, treating users as brainless children.

If you really need to ensure some documents will never ever possibly get out of your company, there are true solutions.

So what now ?

We don’t have to use everything now. We don’t have to love every feature. We don’t have to stop everything we had and migrate to groups. But we have to get used to them. And I think we will finally love using them.

Why and how we started contributing to Patterns & Practices

Our journey with Patterns & Practices

Our journey with Patterns & Practices started when we first saw the project on GitHub, maybe two years ago. We already had our own internal framework so we just checked what this new tool could do for us. It clearly didn’t cover all our use cases, and we would still have to use our own framework.

Then I came to Ignite in 2015, and I saw Vesa Juvonen presenting the provisioning framework. It was like “Damn, it has grown a lot!”. We started using it as nugget package. It was still not covering all our use cases, but we were migrating our code slowly. As a lot of people were using this project, we found PnP functions more tested than ours, and it was great. We still had our framework tho, but it was disappearing.

But we still had issues:
        We couldn’t debug when we had a problem
        We had to wait for fixes, so we copied PnP functions in our framework to fix them for ourselves
        We had to go to GitHub and browse files to understand fully all we could do with this framework

Contributing

And then, we decided to fork the project (we are using PnP-Sites-Core as a fork, as this is the project we use the most). When you know git (and I really recommend reading at least the first three chapters of the git documentation if you are new to it), it is really fast to set up your environment for development.

Our contribution workflow is:

contribution-patterns-practices

1.      We locally clone our fork
2.      When we want to do some changes, we create a branch for this change that we merge to master when it’s ready
3.      We have a dev branch, created from the tracked PnP-Sites-Core dev branch
4.      When we have something interesting to propose we create a branch, get the commits from our master branch and create the pull request

We then just have to regularly get updates from PnP repositories, and reference our fork as a submodule in other projects.

This new approach has some advantages:
        Our whole team has a better understanding of how the project works
        We can debug
        We don’t have to wait for official fixes
        We can add our own code directly into the framework
        It’s exciting to take part of a bigger community 

5 pull requests merged so far, and a 6th waiting 🙂