SharePoint Saturday Genève 2016

Slides:



Advertisements
Similar presentations
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
Advertisements

App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Managing Client Access
Module 4 Managing Client Access. Module Overview Configuring the Client Access Server Role Configuring Client Access Services for Outlook Clients Configuring.
Google Cloud Messaging for Android (GCM) is a free service that helps developers send data from servers to their Android.
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
1 Tradedoubler & Mobile Mobile web & app tracking technical overview.
Training. work smarter not harder 1 Getting Started 2 Helpful Hints 3Questions.
Integrating NAV 2013R2 and Office 365 Office 365 Single Sign-on NAV as an app NAV online document store.
Instructions You must bring your own laptop, your presentation and a power supply Technical staff is present in all to assist with network, audio and video.
Online Conference June 17 th and 18 th SharePoint Online Administration with PowerShell.
NetTech Solutions Microsoft Outlook and Outlook Express Lesson Four.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Redmond Protocols Plugfest 2016 Tristan Davis Office Developer Platform Overview Principal Group Program Manager.
Microsoft Outlook 2016 Quick Tips & Shortcuts To Save You Time MCC Lunch & Learn Series Series: One.
Office 365 Connectors. Toni Pohl MVP Windows · blog.atwork.at About me.
4/12/2018 5:44 PM BRK3354 Using custom themes and designs to standardize the creation of clean, functional SharePoint sites Sean Squires
Pre-Production Meet with the client to create a project plan:
Project Management: Messages
5/12/2018 3:54 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Deploying and Customising Office 365 Groups
5/13/2018 8:08 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Create beautiful, fast, interactive pages in SharePoint
Understanding EU GDPR from an Office 365 perspective
Build Power-full Solutions in Office 365 …without Code!
Effective Client-side Coding against Office 365
Automate Custom Solutions Deployment on Office 365 and Azure
Build Power-full Solutions in Office 365 …without Code!
Discover the New SharePoint Content Publishing Experiences
Understanding your collaboration options in Office 365
Microsoft
Outlook Message Cards Ignite 2016 deck draft Shivakumar Seetharaman
Microsoft SharePoint Server 2016
Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi Senior Consultant - PiaSys.com Track: DEV | Level:
Microsoft Ignite /13/2018 7:38 PM BRK2247
Extending Microsoft Teams
Office Power Hour New developer APIs and features for Apps for Office
Understanding SharePoint Framework and Modern Development
Introduction to mobile app development Module 2 – Getting started with apps and App Studio Lance McCarthy.
Event Driven Development In Office 365
Office 365 Development.
Ashish Pandit IT Architect, Middleware & Integration Services
Controlling and leveraging the power of the Microsoft Graph
Annual Kickoff Meeting
Cloud Connect Seamlessly
Multi-Farm, Cross-Continent SharePoint Architecture
WEB API.
WorkingLife Balance An example ISV scenario 11/14/2018 6:51 AM
intro to notifications in iOS 10
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … Presented by Robert Freeman (
11/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
The Application Lifecycle
Office 365 Actionable Messages with Connectors and
OneDrive – Modern Collaboration HUB
Section 14.1 Section 14.2 Identify the technical needs of a Web server
Practical guide to build Modern Intranet sites with SharePoint Communication Sites Asish Padhy.
12/3/ :27 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Office 365 Development.
Microsoft Build /2/2019 6:45 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
TechEd /18/2019 2:30 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Site scripts and Site Design
SharePoint 2019 Overview and Use SPFx Extensions
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Increase your users productivity through Office 365 user profiles
Microsoft Planner A Modern Day Project Planning Tool
Using tiles and notifications
WCF Data Services and Silverlight
PnP Partner Pack - Introduction
SPE Gulf Coast Section Annual Kickoff Meeting 16th August 2019
Kaspersky Social Channel
Presentation transcript:

SharePoint Saturday Genève 2016

Developing Office 365 Connectors SharePoint Saturday Genève – 3 Décembre 2016 Developing Office 365 Connectors Paolo Pialorsi Senior Consultant, PiaSys.com paolo@pialorsi.com - @PaoloPia

Evaluez les sessions grâce à l’application SPS Genève ! Cherchez « SPSGenève » sur le store Et gagnez des licences DL

SharePoint Saturday Genève 2016 Sponsorship Level: Raffle SharePoint Saturday Genève 2016

Paolo Pialorsi Project Manager, Consultant, Trainer About 50 Microsoft certification exams passed MCSM – Charter SharePoint MVP Office Servers and Services SharePoint and Office 365 Dev PnP Core Team Member Focused on SharePoint and Office 365 since the beginning Author of many books about XML, SOAP, .NET, LINQ, SharePoint, and Office 365 Speaker at main IT conferences

Agenda Introducing Office 365 Connectors (and Groups) Creating Custom Office 365 Connectors Connector Cards Flavors

Introducing Office 365 Connectors

Office 365 Groups in a nutshell Modern digital workplace for collaboration Available in Office 365 only Available in hybrid topologies (with some requirements) Provided services (so far…) Conversations (with mailbox) OneDrive for Business shared Folder Calendar Notebook (OneNote) Planner integration SharePoint Site Client-side integration with Outlook 2016 and OD4B NGSC Mobile-aware client apps for iOS, Android, Windows Phone

Office 365 Connectors Extensions to update teams using Groups with information and updates from external products Enable delivery of relevant content and events Uses the webhooks technology Based on JSON messages delivered through HTTPS requests Content and events are delivered as «cards» There are about 100 connectors ready to use in the Connectors Catalog Trello, Asana, Twitter, Wunderlist, GitHub, JIRA, etc. Few months ago were just about 50 … numbers are growing really fast!

Office 365 Groups and Office 365 Connectors Demo Office 365 Groups and Office 365 Connectors

Office 365 Connectors Architecture 2 HTTP GET Provider Hosted App 3 HTTP GET Office 365 Group 1 HTTP POST (JSON Card)

Creating Custom Office 365 Connectors

Take it easy  … Use the pre-defined «Incoming Webhook» connector Register your webhook (name, image) Save the webhook URL and use it directly Using Fiddler or any other HTTP client Make HTTP POST requests against the webhook URL Content-type: application/json

Office 365 Connectors Take it easy Demo Office 365 Connectors Take it easy Content-type: application/json { "Title": "Hello SharePoint Days 2016!", "Text": "This is our first message from a webhook ..." }

Build your own «real» Connectors Go to the Connectors Developer Dashboard https://dev.outlook.com/Connectors/ConnectButton Register you connector http://go.microsoft.com/fwlink/?LinkID=780623 Landing page URL: «home page» for your connector Redirect URL: endpoint that handles connector’s webhook registration Get back the HTML for the «Connect to Office 365» button Play with the Connectors Sandbox to define your cards https://connectplayground.azurewebsites.net/ Publish the connector to the Store (Connectors Catalog), if needed https://dev.outlook.com/Connectors/ConnectButton

Connect to Office 365 «button» Asks to the end user to authorize your connector to communicate with the target Office 365 Group Redirects to the Redirect URL of the connector registration page Gets some querystring arguments Parameter Description state Optional parameter to provide custom state information to the Redirect URL app_id Identifier GUID for your application callback_url The Redirect URL, required to be under HTTPS, for the connector registration

Redirect URL You have to implement it by yourself Store the webhook URL in a safe and reliable place Handle any error code (AccessDenied, Invalid Request) Parameter Description state Optional parameter to provide custom state information group_name The name of the group selected by the user webhook_url The webhook URL to use for communicating with the target Office 365 Group error The error code that is returned if the application doesn't return successfully

POST Cards to the webhook Make HTTP POST requests against the webhook URL The body of the requests has to be a JSON message Content-type: application/json; There is a reference schema for the Cards See later …

HTTP Responses Response Code Description 200 OK – Everything worked properly and the card has been submitted to the target Group 400 Bad Request – The JSON card is not well-formed 404 Not Found – A request is sent to a webhook that does not exist 413 Payload Too Large – A request is sent to a webhook that is too large in size for processing 429 Too Many Request – Client is sending too many requests and Office 365 is throttling requests

Building a real Office 365 Connector Demo Building a real Office 365 Connector https://dev.outlook.com/Connectors/ConnectButton https://connectplayground.azurewebsites.net/

Submission Checklist (just for reference) Ensure that your connector is fully functional & thoroughly tested before submitting it to the Store. Test your connector cards in various clients where your users would use it: Outlook on the Web, Outlook 2016 & Outlook Groups mobile apps. Ensure that you strictly use Markdown for text decoration and not send HTML in your connector card payload. Maintain a balance between adding value and generating too much noise. Ensure that the user is not bogged down with too many notifications. Identify the right events to send connector cards for. Ensure that the information you send to the group is valuable to the members of the group. When sending reports or summaries, use a digest format and allow the user to choose the time and frequency of the reports. When sending connector cards make the best use of Markdown to highlight important parts of the card. Make your connector cards actionable by providing relevant actions whenever possible. Ensure that you have provisions for the user to pause or remove the configuration. Have clear user-facing documentation on the capabilities your connector offers. When registering your connector: Ensure that the name and logo of your connector does not infringe upon a trademark or copyright of any other product or service. Provide a high quality logo of type jpg, jpeg, png or gif that is under 60KB in size. Provide a short description of your application (e.g. 'Contoso Helpdesk brings companies & customers together'). Provide a detailed description of your connector (e.g. 'The Contoso Helpdesk connector notifies your Office 365 group about activity on your customer's tickets'). The landing page for your users is the page where users would be directed to complete the connector configuration. Make sure that you deep link to the page where you have added the connect button. If this is not possible, point this to your documentation page that has detailed on how to setup your connector. When publishing your connector to Store: Make sure to fill out step by step instructions and share test account information to let us test your connector.

When to do what? Yes No Yes No Yes No Targeting JUST ONE Office 365 Group? Any plan to reuse the same Connector? Go for the Incoming Webhook solution Yes No Done! Yes No Go for the «Real» Connector Model Want to share the Connector with all the Office 365 World? Publish on the Office Store Connectors Catalog Yes No

Connector Cards Flavors

Understanding Connector Cards They are JSON objects The text messages are based on Markdown (MD) syntax The JSON structure can be slightly complex https://dev.outlook.com/connectors/reference

Hello World Card – Text only JSON { "text": "Hello World!" }

Title and Text JSON { "text": "Card content!", "title": " Card Title", }

Title and Text with links JSON { "text": "SharePoint rocks! See [here](http://aka.ms/sharepointpnp)!", "title": "SharePoint PnP", }

Title, Text with links, and Action button JSON { "text": "SharePoint PnP rocks! See [here](http://aka.ms/sharepointpnp)", "title": "SharePoint PnP", "potentialAction": [ "@context": "http://schema.org", "@type": "ViewAction", "name": "Go to SharePoint PnP", "target": ["http://aka.ms/sharepointpnp"] } ]

Title, Text, Action button, and theme Color JSON { "text": "SharePoint PnP rocks! See [here](http://aka.ms/sharepointpnp)", "title": "SharePoint PnP", "themeColor": "FF1133", "potentialAction": [ "@context": "http://schema.org", "@type": "ViewAction", "name": "Go to SharePoint PnP", "target": ["http://aka.ms/sharepointpnp"] } ]

Cards Reference Some other useful properties/items: summary: simple text (no Markdown) Sections: title, activity*, facts, images, potentialAction, etc. entities potentialAction

Thank you!