Deep Linking to a SharePoint Framework Tab in Microsoft Teams

Image by Foundry Co from Pixabay

This is part 3 of a 3-part article series about building a “360 degree view” mashup for Microsoft Teams using the SharePoint Framework and React. The articles are:

  1. Part 1: 360 Degree Collaboration in Microsoft Teams
    This article introduces the 360 Degree pattern for collaborative applications, and explains a the workings of a sample solution based on SharePoint Framework and React
  2. Part 2: Working with Teams Content from an SPFx Tab
    This article explains how to access Team and channel content, such as the shared calendar and conversation, from a SharePoint Framework tab in Teams
  3. Part 3: Deep linking to a SharePoint Framework tab (this article)
    This article explains how to create a deep link that opens a Team, Channel, and tab, and passes information to your SharePoint Framework tab so you can display specific information

The series is based on a sample Teams tab written in SharePoint Framework which displays a mashup of information about customer visits.

What is a deep link?

In the world of web applications, a deep link is a link that not only selects a web page but also passes data to an application running on that page. For example, a link could open an Excel spreadsheet in a particular Team, rather than opening Teams and Excel in separate pages.

Continue reading

Working with Teams Content from an SPFx Tab

This is part 2 of a 3-part article series about building a “360 degree view” mashup for Microsoft Teams using the SharePoint Framework and React. The articles are:

  1. Part 1: 360 Degree Collaboration in Microsoft Teams
    This article introduces the 360 Degree pattern for collaborative applications, and explains a the workings of a sample solution based on SharePoint Framework and React
  2. Part 2: Working with Teams Content from an SPFx Tab (this article)
    This article explains how to access Team and channel content, such as the shared calendar and conversation, from a SharePoint Framework tab in Teams
  3. Part 3: Deep linking to a SharePoint Framework tab
    This article explains how to create a deep link that opens a Team, Channel, and tab, and passes information to your SharePoint Framework tab so you can display specific information

The series is based on a sample Teams tab written in SharePoint Framework which displays a mashup of information about customer visits.

Getting from the Tab to the Team, and beyond

As you may have heard, the great new way to write custom tabs for Microsoft Teams is to use the SharePoint Framework. One big SharePoint Framework web part makes a tab, and SharePoint takes care of hosting, single sign-on, configuration, and more.

To get started, follow this tutorial. It’s a great start, but it might leave you wondering how to interact with the Team your tab is running in, like read the meeting calendar or post a message. This article will explain how you can do that and also unlock the entire Office 365 Group from your code.

Continue reading

360 Degree Collaboration in Microsoft Teams

This is part 1 of a 3-part article series about building a “360 degree view” mashup for Microsoft Teams using the SharePoint Framework and React. The articles are:

  1. Part 1: 360 Degree Collaboration in Microsoft Teams (This article)
    This article introduces the 360 Degree pattern for collaborative applications, and explains a the workings of a sample solution based on SharePoint Framework and React
  2. Part 2: Working with Teams Content from an SPFx Tab
    This article explains how to access Team and channel content, such as the shared calendar and conversation, from a SharePoint Framework tab in Teams
  3. Part 3: Deep linking to a SharePoint Framework tab
    This article explains how to create a deep link that opens a Team, Channel, and tab, and passes information to your SharePoint Framework tab so you can display specific information

The series is based on a sample Teams tab written in SharePoint Framework which displays a mashup of information about customer visits. The Teams tab allows users to see one another’s schedules, and then brings together all the information needed for each visit. The same approach could be used for any kind of mash-up. Users can see at a glance what customer visits are approaching for each team member; when a visit is selected, the solution displays:

  • customer information (from the Northwind database OData service)
  • documents (from SharePoint)
  • recent transactions (mock)
  • a map (Bing maps)
  • current weather (Open Weather Map)
  • photos (from SharePoint)
  • a text box for sending messages to the Teams channel with deep links back to the selected visit

Continue reading

Swooping into Site Designs

A few months ago a group of SharePoint MVPs gathered to film a new kind of reality TV show and remake a company’s Intranet. You may have seen it – SharePoint Swoop!

This is a story from behind the scenes,in which I got to make their work reusable with SharePoint Site Designs and Scripts. It was quite a thrill to be involved, even though I wasn’t there in person! I’ll start with the story, then dig into the details of Site Designs and Scripts.

Continue reading

Localized strings in solutions that span classic and modern SharePoint sites

This article builds on an earlier one, Building Headers and Footers that work on Classic and Modern sites. That article, with associated sample code, was about how to create a top menu and footer that work on both modern and classic SharePoint pages. On modern pages, the solution is a SharePoint Framework extension; on classic pages, it’s a stand-alone solution that just happens to use SharePoint Framework tooling like TypeScript, WebPack, and React. That allows a very high degree of common code between the classic and modern implementations.

2018-04-07_22-31-55
Figure 1

The good news is that my POC was successful, and the partner and their customer liked it!

The sample code has moved! It’s now in the SharePoint Framework Extensions repo.

I skipped over one key capability in my project, which was localization. The customer in this case is a large multi-national company, so it’s not too surprising they would want to show some information in the user’s preferred language.

Continue reading

Office 365 Developer Review from Microsoft Ignite

Companion Article for the Overview at the Boston Office 365 Developer Bootcamp

This article could be useful to any Office 365 developer who wants a quick reference to  the recorded sessions from Microsoft Ignite, but it’s also intended as a companion to my opening talk at the Office 365 Developer Bootcamp on October 27, 2017, in Burlington, MA. The talk is intended to show you all the ways you can develop for Office 365. Office 365 includes the Office client programs, such as Word, Excel, and Outlook, as well as the online services, such as Exchange Online, SharePoint Online, etc.

There was a ton of great content at Ignite on Office development and, thankfully, most of it is available online. Here are links to the sessions that are available as recordings, so you can dive into whatever areas you like.

Continue reading

Office Developer Bootcamp Sponsors on Board

Some readers may already know that Scot Hillier and I are presenting an Office Developer Bootcamp focused on the SharePoint Framework on Friday, October 27, 2017 at the Microsoft office in Burlington MA. This is a great opportunity to learn SharePoint Framework development, including related technologies, Typescript, WebPack, and React. There are still openings, and it’s free! Please register here to join us!

I’m pleased to announce that we have some great sponsors for this event. Not only will they ensure that attendees are well fed, they were hand-picked as they bring key technologies that every SharePoint developer should know about!

Continue reading

Creating Reusable React Components for SharePoint Framework Solutions

Lessons Learned from the #SPShire Project

This is the one of my lessons learned from the Shire Hub Intranet project, based on the forthcoming SharePoint Communication Sites.

The lessons in this blog series are:

  1. Previewing and Opening Office Documents from the SharePoint Framework
  2. Using the OneDrive File Picker in SharePoint Framework Solutions
  3. Creating Reusable React Components for SharePoint Framework Solutions
    (this article)

This project on github contains the sample solution for all three articles.

Continue reading

Using the OneDrive File Picker in SharePoint Framework Solutions

Lessons Learned from the #SPShire Project

This is the one of my lessons learned from the Shire Hub Intranet project, based on the forthcoming SharePoint Communication Sites.

The lessons in this blog series are:

  1. Previewing and Opening Office Documents from the SharePoint Framework
  2. Using the OneDrive File Picker in SharePoint Framework Solutions
    (this article)
  3. Creating Reusable React Components for SharePoint Framework Solutions

This project on github contains the sample solution for all three articles.

Continue reading

Previewing and Opening Office Files from the SharePoint Framework

Lessons Learned from the #SPShire Project

SPShire

I’m thrilled to be part of an early adopter project building a new intranet for Shire Pharmaceuticals based on the forthcoming SharePoint Communication Sites. Shire is an exciting and innovative company, and the team includes a number of my fellow Microsoft MVP’s as well as teammates from BlueMetal. Last week Microsoft broadcast a webinar from the Boston MTC featuring a cross-section of the development team. Microsoft’s Mark Kashman promised we’d post some of the lessons learned in the project, and this is one of those postings.

The lessons in this blog series are:

  1. Previewing and Opening Office Documents from the SharePoint Framework
    (this article)
  2. Using the OneDrive File Picker in SharePoint Framework Solutions
  3. Creating Reusable React Components for SharePoint Framework Solutions

This project on github contains the sample solution for all three articles.

Continue reading