Learn how to create SharePoint 2013 apps which can communicate to Windows 8 apps via tile and toast notifications. Also learn how to create Windows 8 apps which can directly authenticate with SharePoint. Finally, take a look at the OpenSource project I have started to simplify authenticating to SharePoint from client and server side code (.Net and JavaScript)
* Updated with more material, references. *
Refer to http://presentations.sukul.org/#!SP2013Win8Apps for additional materials
2. WHO AM I?
• Shailen (pronounced Shay-Len) Sukul is a bleeding edge Architect, Developer and
Trainer working with the latest Web technologies to create compelling solutions, in
SharePoint and ASP.Net MVC with 12 years experience across vertical industries. He loves
to present at user groups and write articles and whitepapers based on his work.
• He currently works as a Senior SharePoint Architect at Readify and specializes in
installation, configuration, development and training on the SharePoint platform with a
side focus on Azure.
• You can follow him on twitter @shailensukul and check out his blog at:
http://shailensukul.com
• Find more about Shailen at au.linkedin.com/in/shailensukul
• Mct | MCSA (Win Server 2012) | MCSE (SharePoint 2013, Windows Server 2012) |
HTML5/JS/CSS3 Specialist | Mcpd (.Net 2/3.5/SharePoint 2010/Windows Azure Developer) | Mcts (Sharepoint
2010/MOSS/WSS), Biztalk, Web, Win, Dist Apps) | Mcitp (SharePoint Admin 2010) | MCSE (SharePoint 2013) | MCSA (W2K12)
3. AGENDA
• Demos
•
•
•
•
Demo 1 – Simple SharePoint hosted App (“hello world”)
Demo 2 – SharePoint hosted Whois People Picker App
Demo 3 – SharePoint 2013 App interacting with Windows 8 App
Demo 4 - Windows 8 App Searching SharePoint website
• Concepts
• Writing SharePoint Apps
• Writing Metro Apps
• Authenticating to SharePoint
5. WHAT ARE APPS
• Apps for SharePoint are;
• Self-contained pieces of functionality that extend the capabilities of a
SharePoint website (Microsoft)
• Stand-alone applications that are easy to install, use, manage, upgrade and
remove
• Apps for SharePoint allow;
• Users to purchase apps from the Office Marketplace or install from an
organization’s private App Catalog
• Allow developers capability to create any application they want which runs
outside the core SharePoint framework
• Usage of familiar web technologies and development standards such as;
HTML, JavaScript, CSS, etc
9. TILE AND TOAST NOTIFICATION APP
• What does it do?
• This sample demonstrates how to send a toast notification to a Windows 8
App using the Microsoft Push Notification Service. It uses two projects, one for
the client code that sets up the Windows App to receive a notification, and
one that sends the notification.
13. SHAREPOINT SEARCH APP
• What does it do?
• It is a Windows 8 App which authenticates to any SharePoint site and then
performs a search with the user’s context
Apps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website (Microsoft)Stand-alone applications that are easy to install, use, manage, upgrade and removeAbility to download and purchase apps from the Office Marketplace or from an organization’s private App CatalogAllow developers capability to create any application they want which runs outside the core SharePoint frameworkUses familiar web standards like HTML, JS, CSS, etc
The Metro app registers a channel with the Windows Notification serviceThe Metro app posts the ChannelUri to the SharePpoint app. The SharePoint app saves the ChannelUri in the Application stateThe SharePoint App posts a message to the ChannelUri4. The Windows Notification Service raises a notification to the Metro App which listens to the notification event
Talk about:How the notification channel is created by the default.js file in the Win8 AppHow the tile and toast notification templates are built in the code behind for default.aspx.csHow the WNSUtil class is used to send notificationsHow to debug remote events using the Service Bus (bind to IISExpress while debugging)How to follow lab instructions included in the download
SharePoint Apps run in the context of the user who launched the app. However, the SharePoint OM lacks an API to authenticate to a SharePoint site protected by ADFS. Show the Fiddler trace for an Office365 login, refer to SharePointLogin.sazBrowse to SharePoint siteSharePoint detects that the user is not logged in and performs a 302 redirect to https://sokool.sharepoint.com/_layouts/15/Authenticate.aspx?Source=%2FAnother 302 redirect goes to https://sokool.sharepoint.com/_forms/default.aspx?ReturnUrl=%2f_layouts%2f15%2fAuthenticate.aspx%3fSource%3d%252F&Source=cookieAnother direct goes to https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rpsnv=2&ct=1382698648&rver=6%2E1%2E6206%2E0&wp=MBI&wreply=https%3A%2F%2Fsokool%2Esharepoint%2Ecom%2F%5Fforms%2Fdefault%2Easpx&lc=3081&id=500046&guests=1User enters id and passwordAs soon as user id is entered, a GET is performed to get the realm - https://login.microsoftonline.com/GetUserRealm.srf?login=shailen%40sharepoint.sukul.org&handler=1&extended=1User id and password is posted to https://login.microsoftonline.com/ppsecure/post.srf?wa=wsignin1%2E0&rpsnv=2&ct=1382698648&rver=6%2E1%2E6206%2E0&wp=MBI&wreply=https%3A%2F%2Fsokool%2Esharepoint%2Ecom%2F%5Fforms%2Fdefault%2Easpx&lc=3081&id=500046&bk=1382698649Once authenticated, FedAuth and rtFa cookies is created and posted to https://sokool.sharepoint.com/_forms/default.aspx?wa=wsignin1.0A redirect goes to to https://sokool.sharepoint.com/_layouts/15/Authenticate.aspx?Source=%2FSharePoint now recognizes the user and the final redirect goes back to the original url: https://sokool.sharepoint.com/
Demonstrate Fiddler trace of how authentication worksDemonstrateWinforms toolTalk about why such a model will not work with a pure JSOM approach