Vince365

    • 23/4/2019

    Speaking at Microsoft Build 2019

    I am deeply honoured and humbled to announce I have been selected to speak at the Microsoft Build 2019, which will be happening from May 6th to 8th in Seattle.

    The subject is going to be a bit different from my usual speaking area however, we will be talking about IoT, health and wellbeing.

    Here is the abstract of the session.

    Using IoT to improve people’s health and brain power

    The office space is a hostile environment for our bodies and health. Back pain, brain asphyxia, drowsing and many more health related issues come cripple our workforce, having huge consequences on employee’s well being and their performance. 

    If things are slowly starting to improve with ergonomic desks, medical advisors and other initiatives, let us look at what technology could do to help us. Join Microsoft MVP Vincent Biret for a session on how you can leverage small and simple IoT projects to improve individual’s personal health and increase their day to day well being as well as overall performance. 

    Learn about Microsoft Azure IoT and serverless solutions through fun and odd demonstrations during this session packed with examples.

    The Microsoft Build is a paid conference with dozens of sessions, mostly from the product teams, focusing on a developper audience. You can learn more about it and register here.
    I hope to see many of you there!

    • 18/4/2019

    Speaking at SharePoint Fest DC 2019

    SharePoint Fest Washington DC 2018 is happening from April 29th to May the 3rd. This event will feature 2 days pre-conference workshops and 3 days of conference. You can find more information about it on the website. I'll be presenting three sessions:

    DEV104 - Migrate your custom components to the SharePoint Framework

    Migrate your custom components to the SharePoint Framework.

    It’s the 3rd model Microsoft has come with to customize SharePoint in less than 5 years. You may still have add-ins/apps or even solutions running in production and you’re asking yourself what to do about all that?
    Do you have to start all over again? And for how long that new model will last?

    We’ll see together what could be the reasons pushing you to chose one model or another. Do you need to migrate everything now. How to build applications that will be easy to migrate to the framework if you’re on “old versions” of SharePoint. And how to leverage existing components you’ve developed.

    This session is primarily meant for developers and deciders.
    AZR202 - Azure Functions: What’s New In V2 & Getting Started

    Azure Functions are an extremely important and popular service from Microsoft for serverless workloads. Version 2 of this service is now available and whether you are getting started or looking to migrate and better understand the differences, it’s important to know more about this powerful service and development approach.

    Join Vincent Biret, an MVP and expert on Azure development, during his session to get a crash course on tooling, ways to get started, authentication, authorization and how to access and process data quickly. With many demonstrations, you will learn how to leverage Azure Functions to build your APIs and backend services for line of business applications, IoT, data processing and much more!

    AZR302 - Automating PROV For Your Digital Workplace: With Azure Durable Functions & Microsoft Graph

    Out of the box Microsoft allows you to provision pre-built templates to help users get started and meet your business needs. In the real world almost all organizations extend these templates and further tailor the provisioning of new digital spaces, whether they be SharePoint sites, Microsoft teams or more. Understanding how to automatically create new teams, channels, tabs, invite people, send a welcome message and much more is a critical part of getting more out of Office 365.

    Join Vincent Biret, MVP and Office 365 expert, as he demonstrates how to build a better provisioning workflow that leverages Azure Durable Functions and the Microsoft Graph. With what you learn in this session you can better automate and improve the provisioning process and significantly reduce the amount of administrative and manual work needed in Office 365.

    • 2/4/2019

    Speaking at SharePoint Saturday Houston 2019

    It is the second time in a few years I have the ooportunity to speak at the SharePoint Saturday Houston.

    I’ll give a speech about "Automating Provisioning For Your Digital Workplace: With Azure Durable Functions & Microsoft Graph"

    Together we will see how you can improve your provisioning workflows and automate most of it leveraging Azure Durable Functions and the Microsoft Graph. This session is geared mostly towards developers but also for IT pros and deciders that want to gain insights on how to combine business processes and provisioning.

    Together we will see a lot of demonstrations, examples.

    If you’re in the area Saturday April, the 5th 2019 don’t hesitate to register to the event.

    Just as a reminder SPS are free events organized by the community with lot of great sessions. This is a good occasion to expand your network, learn a lot of things and to spend a good day.

    See you there! 

    • 29/3/2019

    SharePoint Framework 1.8.0 and unit testing: bad Karma

    Sorry, I had to make the pun…. When the SharePoint Framework originally shipped, the tooling included KarmaJS to write unit tests.

    KarmaJS received a lot of complaints about performance, capabilities, modern JavaScript support… This especially if you use is in combination with PhantomJS, a headless web browser project that has been abandoned a long time ago now which also shipped with SPFx.

    While some people have been arguing for a choice in unit testing framework with SPFx like we (almost) have choice in web frameworks, we saw little movement on that front over the last years.

    A couple of weeks ago, Microsoft release version 1.8.0 of SPFx, it’s a great release especially if we look at it from a tooling modernization perspective (flexibility on the typescript version, depreciation of old fabric stuff…).

    However, they also have removed karmaJS from the standard tooling, and they haven’t documented that change, I have reach out to them internally hoping this will get resolved soon.

    While you can perfectly bring karma back by installing a few packages and tweaking your project configuration, I’d recommend you move to Jest it’s not a big effort and you will get a much faster test cycle. If you want to see the work this represents on a sample webpart, you can look at this pull request, keep in mind it also includes the upgrade to SPFx 1.8.0.

    The PnP generator has included Jest configuration for a while now thanks to the work of Elio Struyf and Andrew Connell and I started the work to update the tooling and documentation around the Azure DevOps integration.

    • 15/1/2019

    SharePoint Framework and DevOps Practices: New Documentation, New Samples

    TL; DR;

    With the release of Azure DevOps, there’s some new SPFX documentation to set up your CI/CD pipeline in Azure DevOps.  Have a look and share your thoughts.  Your feedback is always welcome! The Patterns and Practices Initiative also includes a newly reorganized DevOps repository for tools and samples around SharePoint Framework Build and Deploy Practices.

    The long story

    My journey into the SharePoint DevOps world

    I have been working around Application Lifecycle Management (ALM), Continuous Integration (CI), Continuous Deployment (CD) and DevOps practices in the SharePoint/Azure/Office 365 ecosystem for several years.  In my experience, whether you’re working alone or as part of a team, adopting proper ALM practices is crucial if you want to produce high quality code.

    Historically, SharePoint developers didn’t have many viable options to implement such practices.  Building full trust solutions and using XAML build definitions on Team Foundation Servers were more difficult than  their “open source stack” counterparts. At the time I was part of the SharePoint on-premises product team for Oceanik, a multilingual product for SharePoint, it was painful and slow, though doable, to automate builds and deployments.

    The process improved somewhat with the SharePoint Add-ins development model and Visual Studio Team Services’ new build system (originally called 2015, or JSON builds).  At that time, I had the chance to explore these new options and be part of the Attribute product team, which was a semantic analysis product which would automatically tag your documents in SharePoint.  With all the learning I’ve been doing, I took the opportunity and started speaking and blogging about these experiences I had discovered.

    The power of the community

    Great things happen when individuals with similar interests and passions come together.  This is exactly what happened to me.  Through my speaking engagements, I started building my personal network.  Together, we shared our issues and came up with different approaches for solving them.

    If you spend enough time in the SharePoint development ecosystem, you are likely to come across some great community leaders in the domain.  I’m lucky to have had the chance meet some of them, such as Elio Struyf, Waldek Mastykarz, Andrew Connell, and Vesa Juvonen amongst many others.  Following our early encounters, Elio and I  started building a Repository to demonstrate how to integrate SharePoint Framework and Visual Studio Team Services to have a better toolchain.  The goal was to provide blog posts, which we both wrote independently with no real coordination.  It took longer than expected to complete the work as we both hold jobs, are frequent speakers, and have other responsibilities.  Fortunately for us, there were several factors that played in our favour:

    • In December 2017, Waldek Mastykarz and Andrew Connell created the Office 365 CLI to help you script and automate administrative tasks for Office 365 from any platform.
    • In March 2018, we met with Vesa Juvonen, who recommended moving the documentation under the OfficeDev PnP and Official Microsoft documentation
    • In May 2018, Microsoft came out with long requested ALM APIs making it much easier to deploy “apps” to SharePoint.
    • Shortly after the ALM APIs were released, the Office 365 CLI implemented these APIs making the whole thing much easier

    New documentation, new repositories

    I would like to introduce you to this new documentation article, which guides you through setting up and configuring your CI/CD pipeline for the SharePoint Framework with Azure DevOps.  I suggest you try it out.  If you run into any problems, please don’t hesitate to open any issues. More importantly I would like to introduce you to the SharePoint Framework Build and Deploy Practices repository.  This is the first step for documenting the ALM process for the SharePoint development ecosystem.  What could you add to that?  Is there anything you would like to see that is not there today?  CircleCI?  AppVeyor?  Travis?  Jenkins?

    About this blog

    You probably have noticed seeing less content on this blog over the last year. The main reasons being GitHub and Stack Overflow. Those platforms have truly changed the development landscape over the last few years. From my perspective I think it is much more beneficial to the whole community if the solution that would have been in a blog post is directly incorporated in an open source project. Same if the knowledge answering this question or revealing that bug is shared on platforms that have more exposure, mechanisms to triage/dispatch/address it, etc.

    Conclusion and final thanks

    This has been an amazing journey which allowed me to learn a plethora of things as well as meet and get to know peers. In addition to the people that I mentioned through the article, I’d like to thank my friend Haniel Croitoru who proofread not only the documentation but also this article.

    • 5/1/2019

    Guest of the Intrazone podcast

    As 2018 is concluding (we’ll be in 2019 by the time this blog post is published), I’ve taken a few days off to rest, spend time with the family, play video games, read, watch movies and… catch up on my blog posts writing.

    Almost a month ago now I was presenting at the SharePoint Saturday Toronto, huge thanks to Eric Riz, Kanwal Khipple and Noorez Khamiz for organizing the event! More importantly, they had to find a new venue at the last minute because the original one was forced to closed done for a few days and they pulled it off!

    During the event Yana Berkovich, Kate Wilson, Sherman Woo, Mark Kashman and myself got together to record an episode of the Intrazone podcast: SharePoint from the Canadian POV.

    During this episode we talked about different subjects including development, governance, information architecture, data visualization and much more, I encourage you to check it out!

    • 3/1/2019

    Presenting at the Microsoft Ignite Tour Toronto

    The Microsoft Ignite tour is a series of events that take place in cities around the world. This series of events is organized by Microsoft and presenters are picked among Microsoft Employees, Regional Directors and MVPs.

    I’ll have the opportunity to present one session “How to do DevOps with the SharePoint Framework and why it matters?”. During this session we will explore together how you can setup your continuous integration and continuous deployment pipeline leveraging Azure DevOps (formerly Visual Studio Team Services).

    The event will be taking place at the Metro Toronto Convention Centre the 10th and 11th of January and you can register for free here.

    See you there!

    • 31/12/2018

    Speaking at Granite State SharePoint Users Group

    On January the 3rd I’ve been invited to speak (virtually) at the Granite State SharePoint Users group. I’ll be presenting the session “The Microsoft Graph and the SharePoint Framework on steroids with Azure Functions”.

    This session will demonstrate how you can tap into a wealth of data and insights from the Microsoft Graph, interact with the user using the SharePoint Framework and extend components with complex line of business logic leveraging serverless Azure Functions.

    If you can make it to the Microsoft Store in Salem come join the user group, it is free and there will be pizza! Don’t forget to register with the meetup event here.

    If you can be physically present, you can also attend the presentation online here.

    • 20/11/2018

    Speaking at SharePoint Saturday Toronto 2018

    This year again I have the opportunity to speak at the SPS Toronto.

    I’ll give a speech about “Migrate your custom components to the SharePoint Framework”.

    Together we will see how you can transition from either the server-side object model or the add-ins development fashions to the modern SharePoint Framework approach. This session is mostly meant for developers and technical architects who are curious about getting started on the new model and that might have legacy applications.

    Together we will see a lot of demonstrations, examples and you’ll leave the session with a clear understanding of how to transition your existing custom solutions to the latest and greatest.

    If you’re in the area Saturday November, the 24th 2018 don’t hesitate to register to the event.

    Just as a reminder SPS are free events organized by the community with lot of great sessions. This is a good occasion to expand your network, learn a lot of things and to spend a good day.

    See you there! 

    www.spsevents.org/city/Toronto/Toronto2018

    • 10/10/2018

    Speaking at SharePoint Saturday Ottawa 2018

    This year again I have the opportunity to speak at the SPS Ottawa. It has become a regular event for me. This SPS is really dear to me because not only I get to see a lot of Canadian MVPs friends but it also was the first event ever I was presenting in (a broken) English a long time ago.

    This year I'll present "The Microsoft Graph and SharePoint Framework under steroids with Azure functions" or how these three technologies really represent a power trio to build customizations in Office 365. Together we'll see how to leverage the Graph to access your company's data, how to leverage the SharePoint Framework to access the Graph and build user centric applications as well as how to leverage Microsoft Graph connected Azure Functions via the SharePoint Framework to implement your line of business logic with backend processing capabilities.

    If you’re in the area Saturday November the 10th 2018 don’t hesitate to register to the event.
    Just as a reminder SPS are free events organized by the community with lot of great sessions.


    This is a good occasion to expand your network, learn a lot of things and to spend a good day. The event takes place at algonquin college.
    See you there!

    • 27/8/2018

    Speaking at SharePoint Saturday New England 2018

    This year again I have the opportunity to speak at the SPS New England.

     

    I’ll give a speech about “Improving DevOps using Microsoft's Business Productivity Tools and more” and I'll be co-presenting the session with my friend Haniel Croitoru.

    We'll explore together how DevOps practices impact and improve solutions delivery for your customers and for the best. With real life scenarios and experience for the field we'll show you how you can get started and what to expect out of it.

    If you’re in the area Saturday October, the 20th 2018 don’t hesitate to register to the event.

     

    Just as a reminder SPS are free events organized by the community with lot of great sessions.

    This is a good occasion to expand your network, learn a lot of things and to spend a good day. The event takes place at Microsoft offices

    See you there!

    • 26/8/2018

    Speaking at the European SharePoint Conference 2018 and free discount for you!


    I am delighted to announce I have been selected to speak at the European SharePoint Conference 2018. This event will take place in Copenhagen, Denmark from the 26th to the 29th of November.

    I will be speaking about “Migrate your custom components to the SharePoint Framework”.

    It’s the 3rd model Microsoft has come with to customize SharePoint in less than 5 years. You may still have add-ins/apps or even solutions running in production and you’re asking yourself what to do about all that?

    Do you have to start all over again? And for how long that new model will last?

    We’ll see together what reasons could push you to chose one model or another. Do you need to migrate everything now? How to build applications that will be easy to migrate to the framework if you’re on “old versions” of SharePoint? And how to leverage existing components you’ve developed.

    This session is primarily meant for developers, architects and deciders.

    Although this is a paid event, you can get a discount of 100E with the code ESPC18SPK!!

    I am truly honored to be part of this excellent speakers line up and can’t wait to be at the event to attend some of the sessions myself!

    I hope I will see you there! Information and registration https://www.sharepointeurope.com

    • 23/8/2018

    Speaking at SharePoint Saturday Pittsburgh 2018

    I Have the pleasure to announce I have been selected to speak at SPS Pittsburgh 2018.

    I’ll give a speech about the graph “How to do Dev-Ops with the SharePoint Framework and why it matters”.

    Together we’ll see why it’s important to follow the DevOps processes, methodologies, and philosophy and how to implement it for the SharePoint Framework with Visual Studio Team Services (or TFS). Go from the original idea to production automating as much as possible!

    If you’re in the area Saturday September, the 15th 2018 don’t hesitate to register to the event.

    Just as a reminder SPS are free events organized by the community with lot of great sessions.

     

    This is a good occasion to expand your network, learn a lot of things and to spend a good day. The event takes place at Microsoft Offices, 30 Isabella St.

    See you there!

    • 8/8/2018

    Speaking at SharePoint Fest Seattle 2018

    SharePoint Fest Seattle 2018 is happening from August 20th to 24th. This event will feature 2 days pre-conference workshops and 3 days of conference. You can find more information about it on the website. I’ve been selected amongst 74 other speakers (including people from Microsoft product teams!!) to present this year two sessions:

    AZR203 - Azure Functions In The Real World: Lessons Learned & Best Practices

    “Azure Functions is one of the most powerful new solutions provided by Microsoft. Customers are leveraging it, and it has generally been available for a year now quietly delivering value across hundreds of projects. Many of you are probably asking yourself questions like “are functions mature enough?” or “are they production ready?” or even “is the right tooling here yet?” when considering this option for your projects.”

    AZR302 – Microsoft Graph and SharePoint Framework under steroids with Azure Functions

    “Modern development means client side first, backend second. However, there are still cases where you might need some backend processing, for long running operations, heavy computing consuming tasks or security concerns.

    During that session we will learn how you can build server-less solutions to support modern development. We will determine together when it makes sense to offload things on the backend and when is does not. We will have a lot of examples working with the Microsoft Graph as well as the SharePoint Framework.

    Finally, we will see that server-less does not mean hacky solutions and that proper continuous integration and deployment processes can be implemented.”

    I’m truly honored to be part of this prestigious event with so many other great SharePoint/Office 365 speakers. If you haven’t booked your ticket to the event yet, go ahead!

    See you there.

    • 6/8/2018

    Speaking at SharePoint Saturday Charlotte 2018

    I Have the pleasure to announce I have been selected to speak at SPS Charlotte 2018.

    I’ll give a speech about the graph “How to do Dev-Ops with the SharePoint Framework and why it matters”.

    Together we’ll see why it’s important to follow the DevOps processes, methodologies, and philosophy and how to implement it for the SharePoint Framework with Visual Studio Team Services (or TFS). Go from the original idea to production automating as much as possible!

    If you’re in the area Saturday August, the 18th 2018 don’t hesitate to register to the event.

    Just as a reminder SPS are free events organized by the community with lot of great sessions.

     

    This is a good occasion to expand your network, learn a lot of things and to spend a good day. The event takes place at the UNC Charlotte Center City.

    See you there!

    • 4/8/2018

    Guest on the Microsoft Graph Community call (June): The Online Meeting Solution

    I must admit I’ve not been on page lately for the blog posts. However, I had the privilege (among other great speakers) to present during the Microsoft Graph Community call for the month of June.

    Microsoft Graph Community calls are online webinar organized by the Microsoft Graph Team. The Team usually presents announcements and then allows time for community speakers to presents discoveries, real life solutions and lessons learnt with the Microsoft Graph. Those call are free to attend and if you’re not already registered, here is all the information you need.

    During this edition I was presenting a real-life solution that we (2toLead) built and deployed to more than 100 000 users. This solution helps the customer be more efficient when organizing online meetings by creating the invitations in Exchange, creating a structured space in SharePoint to capture key elements (agenda, tasks, comments…) and creating a Skype online meeting so people can attend virtually.

    This solution relies heavily on the Microsoft Graph and during the project we learnt a few tricks I’m sharing during the demonstration that could be useful to any of you building solutions that take advantage of the Microsoft Graph.

    Here is the link to watch the recording (that also contains awesome demonstration with Flow and PowerApps).

    • 2/8/2018

    Guest on the Microsoft 365 Dev Podcast: Microsoft Graph Open Extensions and Calendering

    Last week I had the honor to be a guest on the Microsoft 365 Dev Podcast hosted by Jeremy Thake and Paul Schaeflein.

    It was the second time I was invited on a podcast (the first one being in French about devops), this is a fun exercise where the content is delivered as a discussion between the hosts and the guests.

    During this episode we discussed about two main topics:

    • The Microsoft Graph open extensions (currently starting a project using those at 2toLead)
    • The Calendar capabilities in the Microsoft Graph (and I shared a few tricks that might interested you if you plan on using those APIs)

    I’d like to thank Jeremy and Paul for giving me this opportunity and for the good conversations.

    Click here to listen to the podcast (multiple platforms supported) and don’t forget to subscribe to it!

    • 4/7/2018

    Not Office Servers and Services MVP anymore, becoming Office development MVP

    Renewed as MVP and changed category

    I have the pleasure to announce I’ve been renewed as a Microsoft MVP, for the fifth year in a row (time flies, I’m getting old). A slight change this time, my award is Office development.

    Over the years I’ve been a SharePoint MVP, an Office Servers and Services MVP and now an Office development MVP.

    Originally Microsoft had it’s MVPs organized by products, which made a lot of sense in a on premises world which required a deep knowledge in something very specific. Also, it allowed MVP’s to be connected directly with the teams at Microsoft on their product. However, over the last decade the industry transitioned to a cloud first model and somebody who was working with SharePoint (or Exchange, Skype…) is most likely to be working with Office 365 at large (and some Azure as well). A couple of years ago (3?) Microsoft decided to reorganize the MVP program to have award categories (Azure, Office servers and services, Visual Studio and Team Services…) which regroup contribution areas (e.g. OSS: SharePoint, Exchange, Office 365, …)

    The only downside for that reorganization is that in the case of Office Servers and Services, the focus was now much more on the “IT pros” and “power user” side of things, with little attention given to any developers (aren’t those guys in Azure now?) when at the time, the SharePoint category would include devs as well.

    After a year Microsoft realized that and decided to create the Office Dev award category (which regroups SharePoint dev, Office 365 dev, Excel “dev”, Office add-ins…) and somehow randomly dispatched the MVP’s in that award.

    I’m not going to dive in the intricacy of the program (and I don’t think I’m allowed to at some point) but basically the category you’re in will dictate the content you have access to, the product teams that will listen to you and so on. During the last MVP summit, my content was way off my centers of interest and I had to ask all the time to my friends in the “correct” category “hey which room are we going to next?”.

    This new category should map much better to my interests and contributions and allow me to have better interaction with the many different product teams at Microsoft.

    About this blog

    I started this blog eight years ago now, (time flies, I’m really getting old) back when I was student (I’d soon become a Microsoft Student Partner) and the primary focus was to fill the gaps of Microsoft documentation and my memory.

    The idea was simple, whenever I had a problem the documentation wasn’t giving a clear answer to and I didn’t want to forget the solution for, I’d document it. And instead of keeping that for myself, let’s put it on a blog so it might help over people.

    Over the years a lot of things changed: Microsoft is much more active on their blogging platform (the focus changed a bit though), they transitioned a to open source, even the documentation is based on open source allowing us to fill the gaps with a much simpler process, people read less and watch more, and cross-technology help platforms emerged (thinking about stack overflow).

    With those considerations in mind I think it’s much more valuable to contribute to the global effort on those public platforms (stackoverflow, github…) that will benefit everybody (even those that have no clue about your blog) and allow for peer reviews, updates, etc…

    Besides investing more time on those way of contributing, I also changed a lot, my focus back then was both IT pro and dev, and I’ve matured to understand my core passion is development (in a DevOps philosophy).

    Lastly I spend much more time giving in person sessions at events than a couple of years ago.( I actually gave my first session in English ever almost five years ago now at SharePoint Saturday Ottawa, hopefully my English has improved since).

    All those reasons hopefully explain why there’s a bit less content over here, and this is for the greater good :)

     

    To conclude this post, I’d like to thank all my peers (MVPs or not), the people leading/following/challenging me and finally Simran Chaudhry who was until recently an amazing Canadian MVP lead during my four first years as an MVP!

    • 27/6/2018

    Speaking at SharePoint Saturday New York City 2018

    This year again I have the opportunity to speak at the SPS NYC.

    I’ll give a speech about “Migrate your custom components to the SharePoint Framework”.

    Together we will see how you can transition from either the server-side object model or the add-ins development fashions to the modern SharePoint Framework approach. This session is mostly meant for developers and technical architects who are curious about getting started on the new model and that might have legacy applications.

    Together we will see a lot of demonstrations, examples and you’ll leave the session with a clear understanding of how to transition your existing custom solutions to the latest and greatest.

    If you’re in the area Saturday July, the 28th 2018 don’t hesitate to register to the event.

    Just as a reminder SPS are free events organized by the community with lot of great sessions.

    This is a good occasion to expand your network, learn a lot of things and to spend a good day.

    See you there! 

    http://www.spsevents.org/city/nyc/nyc2018

    • 16/5/2018

    Less than three weeks before the #SPSMontreal 2018!

    This year again I have the privilege to be part of the organizing committee for SharePoint Saturday Montréal 2018 taking place June the 2nd at Cégep du vieux Montréal.

    It’s free, it’s the occasion to learn a lot, not only about SharePoint but also about Office 365 and Azure.

    This year in a few numbers:

    • 25 sessions (in English and French)
    • 1 Keynote by the Great Serge Tremblay
    • 16 Microsoft MVP (Most Valuable Professional)
    • 1 MSP (Microsoft Student Partner)
    • 5 MCT (Microsoft Certified Trainers)
    • 9 partners
    • 200 attendees (planned)

    Besides the content, it’s also the occasion to develop your network, eat some Schwartz (smoked meat) and “SharePint” (Share a pint) !

    I hope I’ll see you there in a couple of weeks!

    Registrations:

    http://www.spsevents.org/city/montreal/montreal2018/_layouts/15/spsevents/registrations/registrationform.aspx

    • 10/5/2018

    Speaking at the #Techorama Belgium 2018 about the #MicrosoftGraph

    This year again I have the honour to be selected to speak at the Techorama Belgium 2018.

    It is a paid event taking place at the Kinepolis Antwerp (attending/speaking in a cinema theater is really cool!) from May 23rd and 24th. They have a great content, great speakers (many folks from Microsoft or other MVPs) and if you haven’t booked your ticket yet, I suggest you do!

    I’ll be giving two sessions that are related:

    • What’s new with the Microsoft Graph? (we’ll cover together what came out during the last year)
    • Deep dive into Microsoft Graph (we’ll cover advanced scenarios around capabilities, authentication and authorization…)

     

    https://techoramabelgium2018.sched.com/event/DOxx/whats-new-with-the-microsoft-graph

    https://techoramabelgium2018.sched.com/event/DOvi/deep-dive-into-microsoft-graph

    Hopefully see you there! (I know that a lot of the Office 365/SharePoint people will be at SharePoint Conference North America during the same time period)

    • 16/4/2018

    Internet Explorer compatibility mode is changing on SharePoint Online

    The history being this situation….

    Internet Explorer has been a corporate browser for two decades now. And many of us remember the dark ages of web development when we needed to have “IE compatible code” and “web compatible code”.

    As many companies invested deeply in the browser building portals that worked with specific versions, Microsoft provided a decade ago a compatibility mode, allowing the browser to “behave” like a former version of itself and stay compatible with websites that had not been updated.

    You can set, from your website, this compatibility mode to instruct Internet Explorer which version it should run under and since SharePoint 2013, it was set to version 10.

    This made a lot of sense originally as SharePoint had a lot of legacy code that needed to be migrated by the product team before it could run properly under IE 11.

    However, as years passed, it was more and more painful, degrading performances, compatibility with modern frameworks and bringing strange rendering behaviors.

    …And what changed recently

    At 2toLead we started noticing a couple of tenants changing from the version 10 compatibility mode to “edge” (IE11, it was called this way at the time in the transition period) with tenant version 16.0.0.7604.

    You can check the version of your tenant by using your browser’s development tools, look at any request to SharePoint and look at the MicrosoftSharePointTeamServices response header.

    To check which compatibility mode SharePoint is currently sending to your users you can look in the source of the page and check the X-UA-Compatible metadata.

    You can mostly expect performances improvements and better compatibility with modern web standards and frameworks. There might be cases where, because you had to workaround issues with older version of IE, some things might start behaving/looking differently.

    Lookout for this change coming to your tenants if you have any customization in place!

     

    Alternatively, your admins should be able to put the SharePoint site in a list and force the compatibility from an admin perspective, that might come at the price of some native SharePoint functionalities not working anymore and should only be used temporary to give you the time to fix the situation. https://docs.microsoft.com/en-us/internet-explorer/ie11-deploy-guide/turn-on-enterprise-mode-and-use-a-site-list

    Reminder, Internet Explorer 11 is the only supported browser for client OS now. https://support.microsoft.com/en-us/help/17454/lifecycle-faq-internet-explorer

    Related resources

    https://techcommunity.microsoft.com/t5/SharePoint/IE9-IE10-users-in-SPO-Time-to-move-to-modern-browsers/td-p/36692

    https://docs.microsoft.com/en-us/internet-explorer/ie11-deploy-guide/fix-compat-issues-with-doc-modes-and-enterprise-mode-site-list

    • 21/3/2018

    Git: fork/import/manual copy, keep it clean

    Part of my role at 2toLead is to help set guidance around best source management practices either internally or for our customers. One of the questions I get often is: Should I fork this repository or do something else with it?

    It’s hard to get clear and simple guidance on the web so I thought I’d take a stab at it.

    As we’re using Visual Studio Team Services, my examples and screenshots will be based on it, but it really applies to any git service like Github or internal git servers.

    The options you get

    From my point of view, when you have an existing repository somewhere, you have the following options to move/copy it depending on your scenario:

    • Making a manual copy: manually copying files over, running a git init or something similar and starting anew. This should probably be always avoided. You’ll lose history, capability to merge with the source and so on. Even if it looks super easy, you’ll regret it later.
    • Using the import option: In VSTS you have the option, after creating a new repository, to import the content (and history, and branches…) from another repository. This is great for simple migration scenarios as it’ll keep the history and other artifacts that will be useful later. Use it if the source is not in the same service (ie Github => VSTS) or if you’re planning to delete the source right after.
    • Fork a repo (from the source): this is probably the best option if you’re planning to have both the source and the new repository live. It will allow you to easily port your commits from one repository to another (via pull requests). This choice should probably be your go to by default.

     Example of authoring a PR across repos.

    Example of importing a repo

    Getting out from the mess

    Now let’s say you landing on this article because the situation already got out of control. You have the “same” source base that got over multiple repositories, and not necessary on the recommended way, how do you fix that?

    Before we begin let me say that this operation can be error prone, make you loose work, will induce a “service interruption” (even short) for your developers and this solution is provided with no warranty whatsoever. Also make sure all changes are committed and pushed before starting anything, for every developer accessing the repo.

    You are facing two main cases:

    • Your repositories have at some point a common commits tree (they have been forked or imported). Git is going to “understand” some of what happened and will be able to help us
    • Your repositories don’t share a common tree (manual copy of files), you are going to have to “replay” the changes on the new fork manually, super error prone.

     

    Common tree scenario

    Let’s say I have the current structure.

    ProjectA/RepoSource

    ProjectB/ImportedRepo

    The second one being an import of the source one. Source didn’t get any updates since the import but the import did. And now I want to be able to propagate changes from importedRepo to the source one, without having to handle merges and multiple remotes locally.

    First, fork the RepoSource repo into ProjectB/ForkedRepo

    Then clone the ForkedRepo locally. After that run the following commands.

    https://gist.github.com/baywet/0373d9a298bbb5f4cbd0ae6df6326872#file-bringimportedrepobranchesbacktoforked-sh

    Make sure you set up the branch policies, builds definitions and release definitions are up to date. Even run a diff tool on your local machine, branch per branch, between the two repositories folders and you’re good to go!

    For the other developers on the team, simply run these set of commands to re-map to the new forked repository.

    https://gist.github.com/baywet/0373d9a298bbb5f4cbd0ae6df6326872#file-updatedevelopersrepoaftermigration-sh

    My ask for the VSTS product team

    Please make it easier to move Git repositories between team projects keeping the fork link and everything.

    https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/17189462-make-it-easier-to-move-a-git-repo-from-one-team-pr

     

    Conclusion

    I hope that post helped bring a bit of clarity on the best practices as well as it helped some of you fix the situation.

    • 8/1/2018

    New SharePoint Framework PnP Samples available: using the Skype UCWA Web SDK to subscribe to people’s status

    TL;DR;

    I added two new SharePoint framework WebParts PnP sample to demonstrate how to use the Unified Communications Web API JavaScript SDK from Skype for business. This SDK allows you to do things like subscribe to a person status, start instant messaging conversations, calls…

    To get a look:

    Long version

    I recently had the occasion to make my first contribution to PnP (besides creating issues and helping investigate those). In these two new samples I show you how to you how to leverage the Skype UCWA SDK to subscribe and display people skype status.

    That skype status will update itself it changes (ie: the target user sets his/her status to something different in Skype for business or goes offline).

    This approach is better than the previous ones leveraging office integration, activeX or the SharePoint File User Status because:

    • It is cross platform (doesn’t need activeX, Internet Explorer, or security zones configuration)
    • It does not require Office to be installed on the machine or the user to be singed in Skype for Business
    • It updates with status changes
    • It does not need a file to be created and can be rendered anywhere on the page
      • (the file presence indicator is SharePoint talking to the Skype server and rendering some HTML, but it only does so in libraries)

    The UCWA

    The API itself is a bit peculiar a doesn’t necessary works like a “standard API” (OAuth + REST). The key differences being:

    • You can subscribe to some of the object model (status, conversations, audio/video feeds…)
    • Authentication is a bit (too) complex
      • It’s not standard and expects you to get a 403 in order to get the identity provider information
      • The discovery server also acts like a relay and the “API” is segmented in multiple resources (besides the permissions) which necessitates multiple rounds of authorization.
    • Not OData capable (we got used to that in the Microsoft world)

    All those differences impart the few SDK’s. The JS SDK (the one used in the samples) is a bit “old fashioned”. I really wish they spent some time:

    • Moving to UMD and not a global var
    • Providing npm packages and not a single bundle on the CDN
    • Providing types definitions
    • Providing better version information (+ semver)
    • Allowing developer to leverage their own auth libraries (like hellojs or msal) instead of the implementation the have bundled.

    Those are the main reasons why I’m side loading the script and not including it as an external dependency in the samples.

    Lastly, the documentation is a little bit all over the place, I’d suggest you corroborate the information even from official sources because it looks like some of the documentation hasn’t been updated. Here are the entry points:

     

    Microsoft Teams vs Skype

    The skype for business API’s are still not available through the Microsoft Graph. And Microsoft announced that Microsoft Teams is going to be the future for unified communications, instant messaging and so much more. However, Skype for business Server is going to keep being the backend (and at least provide some of the APIs) for a least a few years.

    • 5/1/2018

    Speaking at SharePoint Fest DC (Washington) 2018

    SharePoint Fest DC (Washington) 2018 is happening from March 26th to March 30th. This event will feature 2 days pre-conference workshops and 3 days of conference. You can find more information about it on the website. I’ve been selected amongst 44 other speakers to present this year two sessions:

    AZR204 – Microsoft Graph and SharePoint framework under steroids with Azure Functions

    Modern development means client side first, backend second. However, there are still cases where you might need some backend processing, for long running operations, heavy computing consuming tasks or security concerns.

    During that session we will learn how you can build server-less solutions to support modern development. We will determine together when it makes sense to offload things on the backend and when is does not. We will have a lot of examples working with the Microsoft Graph as well as the SharePoint Framework.

    Finally, we will see that server-less does not mean hacky solutions and that proper continuous integration and deployment processes can be implemented.”

    More information here.

    DEV 302 - Is it possible to do DevOps with the SharePoint framework?

    You had it all right with solutions and add-ins. Your release pipeline was set up. Do new technologies and methodologies mean starting over?

     

    Don’t panic I’m here to help! Together we’ll see how to set up a devops pipeline for SPFX developments with:

     Automated builds

     Automated deployments

     Automated tests

     Code quality check

    There will be a lot of demonstrations during this session and we’ll be mostly using Visual Studio Team Services/Team Foundation Server.

    This session is mostly meant for develops, architects, quality assurance people…

    More information here.

    I’m truly honored to be part of this prestigious event with so many other great SharePoint/Office 365 speakers. If you haven’t booked your ticket to the event yet, go ahead!

    See you there.