Presented by Eli Robillard at Microsoft Ignite The Tour: Toronto
SharePoint is the bedrock of enterprise intranets, while Microsoft Teams is the new collaboration tool on the block. In this session we look at each product individually, then show you how they can work together. We start with an overview of the SharePoint Framework and modern, cross-platform intranet development. We pivot to an overview of Microsoft Teams extensibility and demonstrate how to increase the speed relevance of collaboration in your organization. Finally, we put the two together – with a little help from Microsoft Graph - and show you how a single application can run in both applications.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
MDEV30: Building modern enterprise-grade collaboration solutions with Microsoft Teams and SharePoint
1.
2.
3. Title Date Time Speakers
Session
code
The perfectly tailored productivity suite
starts with the Microsoft 365 platform Wed 9:00 AM – 10:15 AM Kyle Marsh MDEV10
Microsoft Graph: a primer for app
developers
Wed 10:45 AM – 11:30 AM Kyle Marsh MDEV20
Building modern enterprise-grade
collaboration solutions with Microsoft
Teams and SharePoint
Wed 11:30 AM – 12:15 PM Eli Robillard MDEV30
Transform everyday business processes with
Microsoft 365 platform tools
Thu 11:30 PM – 12:15 PM Eli Robillard MDEV40
Windows 10: The developer platform, and
modern application development
Thu 1:45 PM – 2:30 PM Pete Brown MDEV50
Microsoft 365 Developer Learning Path
7. SharePoint news
keep people informed and engaged with
relevant news delivered across apps & devices
Communication sites
share news & information, resources & services,
vision and knowledge across the organization
Hubs and associatedsites
connect and organize sites based on
department, division, region, or project
Home sites
create a personalized landing experience for
your organization
SharePoint
11. SharePoint Framework (SPFx) Extensions
Application customizer Command set Field customizer
Add script to modern pages
Adjust top and bottom sections
of page with custom rendering
Extend the modern list command
surfaces with new actions
Visualize data inside
columns in the list view
14. SharePointProvisioning
Service
• Provisioning service is integrated directly
to the SharePoint Look Book site
• Provisioning example content and
structures to your dev tenants to simulate
production usage
• >10 different designs with sample content
http://aka.ms/spprovisioning
15. Microsoft Teams is designed to be fully extended
Bots
Help users get tasks done in calls,
conversations and online meetings
Connectors
Post rich updates to channels
Apps & Deployment
All content across all teams and
channels in one place
Tabs
Surface rich content within
Teams
Activity feed
Engage users via feed
notifications
Messaging extensions
Allow users to query and share
rich cards in conversations
Calling + Meetings
Enhance Calls and online Meeting
with Calling and Media bots
Microsoft Graph
Gateway to your data in
Microsoft cloud
Conversations
Inform &
notify
Apps
Dashboards
& tools
18. Bring SharePoint apps and
content into Teams
Expand the reach of your
existing SharePoint solution
Reuse all your existing code
Deploy as an LOB app in Teams
New: easily bring existing
pages into Teams by pinning
as tabs
Notes: This Ignite presentation was originally developed and delivered by Mike Ammerlaan.
You can find a recording at:
https://techcommunity.microsoft.com/t5/microsoft-ignite-the-tour-2019/building-modern-enterprise-grade-collaboration-solutions-with/m-p/907333
ER: Good afternoon and welcome to MDEV30, or how to build apps on Teams and SharePoint.
ER: Identity is the foundation of security, no matter where we are in this stack. Identity is also the foundation of personalization, the work we do, the content we touch, the people we work with, the messages we send, and our daily schedules -truly every meaningful interaction we have whether with other people, systems or content is rooted in identity.
The Graph then represents the collection of these interactions, identities and objects. The Graph makes these things navigable and queryable, constrained only by the permissions on the objects themselves. Together, Microsoft’s Graph and Identity services composes what we call the Intelligent Cloud.
Then we talk about building these as client experiences – empowering people in the contexts where they spend their workdays. We build apps and websites, some for end users, and some of which are packaged as app services that can be surfaced in SharePoint or Teams, or in client applications like Outlook and Excel. You might be asking why I lump Teams and SharePoint together – isn’t Teams a client app? And the answer is yes, it is, but Teams is very much a web app that makes it easy to surface what is ultimately served up by SharePoint – list, libraries and web parts are easily added into Teams as Tabs.
If you’re building for SharePoint, you’re also building for Teams.
ER: All together, these appear to people as the intelligent intranet. If there is a theme to what Microsoft has invested in this past year it would be – the intelligent intranet. Project Cortex brings AI training to metadata population, Hub Sites + Home Sites are building blocks. Search now has a consistent experience wherever you are. And this intelligent intranet is simple, discoverable and engaging, and adaptable to the shape and purpose of any org.
ER: At the centre of this experience is SharePoint, which contains building blocks that more and more we’re able to reuse and repurpose across Microsoft 365.
For those of you that are newer to SharePoint, sites let you share files, news, and data in the form of lists. They let you tell stories and create solutions with web pages, and deliver apps that solve business problems. Two Ignites ago MSFT unveiled SharePoint spaces, which let anyone create immersive, mixed reality experiences.
And SharePoint is integrated with and across Microsoft 365, including into Teams. Shared content and solutions created with SharePoint can be delivered either on the intranet, in a browser, or right inside Teams.
ER: SharePoint has been evolving rapidly over the past 3 or 4 years. Every major aspect has been redesigned, rebuilt or updated to align with this more open, reusable architectural model, and to solve problems or remove constraints that we had in the past.
Pages and content now render beautifully on any device, automagically. News was reworked to support syndication and aggregation across sites. Communication sites make it far easier to create great looking, engaging web pages. Hub Sites and Home sites give us new tools to aggregate, organize and navigate content while avoiding infinite subsite syndrome.
ER: When we look at SharePoint sites and pages, you can think of each of these components as either stored in, or originating from the Microsoft Graph. And all that content is rendered with controls built with the SharePoint Framework. Even with all the advances with the Power Platform, SharePoint Framework is still one of the most widely used ways to extend SharePoint experiences, and the community keeps on growing.
ER: This slide really represents the philosophy of the SharePoint Framework. It starts with being able to use the JavaScript frameworks you prefer, rather than forcing you into a single lane. Microsoft might use React a lot in its own components and demos, but if you prefer Knockout or AngularJS, you can bring that to SharePoint too. These frameworks will keep evolving, the landscape may be as different in 2 to 3 years as it was 3 years ago, but this flexibility helps us not only survive but to embrace and benefit from these trends.
ER: As ever, web parts are the building blocks of page design. Where they were once served by the hosting web server, they are now rendered client-side in your web browser. The basic philosophy of page design is that it should be at least as easy to compose a SharePoint web page as a Word document.
DEMO: Edit the vacation calendar news page.
ER: Beyond web parts there are 3 areas you can tailor with SPFx –
Every page provides zones at the top and bottom for you to customize. We’ve moved away from the model where you can customize any part of a page, so that both your customizations and what Microsoft builds can both easily survive upgrades.
You can add options to menus, like the drop down menu that appears for files in a document library.
You can also change the way that fields work, and build new field types with your own javascript renderings.
Now when we say SharePoint Framework that includes many things. Like the .NET Framework and others before it, the dev experience also includes the build process & toolchain, as well packaging & deployment, and even the user experience you’re creating is supported by the way that SharePoint pages and menus work. Every page has ways to optimize the Javascript libraries being called so you’re not loading 6 copies of JQuery. Every page provides context and site data APIs to make it easy to retrieve the information you’re most likely to either render, or use to query the Graph.
For packaging and deployment, we’re able to package solutions and then manage solutions in the App Catalog. And while the default is to deploy tenant-wide, you can also create site-scoped app catalogs to target your customizations into a single site collection. Any shared resources like script libraries are automatically distributed by Microsoft’s CDN network improving load times, with security options so you’re not forced to share custom libraries with the world.
During the build, Microsoft uses a number of popular tools like Yeoman, which now has scaffolding for the most popular SharePoint projects.
Generate a web part with yeoman - don’t wait for it to finish unless it’s quick, open a pre-built WP instead
Open a WP project with VS Code
Gulp serve the WP
Open the workbench, add the webpart
DEMO:
Show the templates in the Look Book
Show the installed template in a tenant (The Landing)
ER: Teams, right back to the preview was designed to be extensible.
Basically anywhere you see a menu, there’s probably a way to customize it.
In the activity feed you can implement link unfurling so if someone pastes a link you can get a rich preview for it – think YouTube previews and the like.
MA: Take Trello. We launched the Trello integration for Teams some time back, but the beauty of the Trello integration is that – with Atlassian and their partners – we’ve taken a project management application…
(click)
and turned it into a connector, where you get beautiful interactive cards sent to you in Teams channels when a Trello card, relevant to you, has been created, modified or completed and then you can have a conversation with your colleagues around that card.
We also surface Trello as a 1-1 bot, where you can interact with your Trello boards and complete a variety of actions, with Trello.
Finally, Trello also surfaces in it’s original, beautiful form inside a Teams channel tab, like you see there on the far right, where you can interact with Trello as you would inside the Trello app or via the browser of your choice.
ER: The best place to start is a Teams tab
It’s just a web page, and it’s as easy as bringing in a page you’ve already built.
If you attended MDEV10 this morning, one of the demos from that session was (or should have been) building a tab.
ER: [Rest of the slides are fairly self-explanatory.]
Package the WP already built
Open the App Catalog and upload the WP
Synch to Teams
Add the WP as a Teams tab
ER: [Review the parts]
The images on the right show the sort of interaction you can build into a bot – it doesn’t need to only be an all-text Q&A session
ER: So the first thing we need to do is create an App Registration – this is basically a recognized container for my bot app.
ER: On this page we give the application a name
ER: And once we have the registration, we create a secret. The registration gives us an App ID, and the secret gives us a password, and combined these will be the credentials used to reach our bot app.
ER: There my secret is created
ER: Now that we’ve registered our App, we create the Web App itself using the Web App Bot template.
ER: Most of the setup here is pretty straightforward. I do have a choice of bot templates, these will give me a Hello World bot in the flavor I choose.
ER: And at the bottom, we find a place to plug in the values from our App Registration. That’s the wire-up.
ER: And when you’re done, you’ll have a running Web Bot App.
ER: Next we open up the new Web Bot App and connect it to Channels. You can connect your bots to many platforms including Slack. But here we want Teams.
ER: When we press Save we’ll then get a link to our own Teams instance where we can start testing our brand new bot. This is the point where if you want the bot to do anything interesting, you’ll write some code.
ER: Then we move into Teams and create an App manifest for the bot.
[Show how to get to the App Studio app in the left rail]
In a way this is like when we upload a WP into SharePoint’s app catalog, Teams just does it this way for native Teams apps like bots.
ER: This page captures the same sort of properties you might provide in an app or WP manifest.
ER: We’ve declared this will be a bot, so now we get to bot-specific settings like permissions and scope within the Team.
Note that your bot needs to be built to support these scopes, by default only Team scope will be enabled.
ER: [MA opens up the source here for his Teams Coach bot. Instead, run through using the QnAMaker.ai wizard to generate a KB-style bot. Discuss the benefits of having the wire-up done for you.]
MA:
SharePoint sites are the building blocks of the modern intranet. You can create all of these experiences with SharePoint. And with the innovations we’ve brought to SharePoint over the last three years, you can build sites in minutes, not months, that are fast, beautiful, and natively mobile.
[CLICK TO BUILD]
For those of you that are newer to SharePoint, sites let you share files, news, and data in the form of lists. They let you tell stories and create solutions with web pages, and deliver apps that solve business problems. And last year we unveiled SharePoint spaces, which in 2019 will let anyone create immersive, mixed reality experiences.
And SharePoint is integrated with and across Microsoft 365.
In another session we cover integration with Microsoft Teams, so that shared content and solutions created with SharePoint can be delivered either on the intranet, in a browser, or right inside Teams.
[CLICK TO BUILD]
In this session, as we look at building employee experiences for your organization, we’ll see how SharePoint integrations with Yammer and Stream drive engagement and effective communication and learning.
MA:
MS 365 dev training:
It has modules for both Beginner and Intermediate.
Topics include Microsoft Graph, Microsoft Identity, Microsoft Teams, SharePointFramework, Office Add-ins
New modules are added into Microsoft Learn every quarter. (by Dec 2019: additional 3 Graph, 2 Identity, 1 Teams, 1 SP; by Mar 2020: additional 2 Graph, 2 Identity, 3 Teams, 8 SP, 5 Office add-ins)
You can learn all modules at self-pace, listen to recordings, test your knowledge, track your learning progress, earn badges
Microsoft 365 developer certification
Microsoft continues to invest in role-based training and certifications to meet market demand, expanding its certification portfolio with new Microsoft 365 Certifications to cover a range of skills and concepts needed for developer job role.
The new Microsoft 365 Certified: Developer Associate certification has one exam that is in Beta: MS-600: Building Applications and Solutions with Microsoft 365 Core Services.
All attendees will get access to a free certification voucher unless they use it for a test at the conference. It is planned that the voucher will last for 6 months. The voucher is only good for one certification.
For other developers not at Ignite, check out MS learn blog at https://www.microsoft.com/en-us/learning/community-blog.aspx to receive discount code at 80% off and preparation information and take the exam by Dec 20, 2019.
Office 365 developer program
The developer program connects developers to the tools, resources, and expertise they need to create intelligent, connected solutions for Microsoft 365.
Benefits
New free renewable Microsoft 365 E5 subscriptionBe your own admin
New dev sandbox creation tools
Preload sample users and data for Microsoft Graph, and more
Access to Microsoft 365 experts
Join bootcamps and monthly community calls
Tools, training, and documentation
Learn, discover, and explore about Office 365 development
Blogs, newsletters, and social media
Stay up to date with the community