22 мая 2013, Киев Построение windows 8 приложений для доступа...
TRANSCRIPT
![Page 1: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/1.jpg)
22 мая 2013, Киев
Построение Windows 8 приложений для доступа к SharePoint 2013
Бельский Сергей
![Page 2: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/2.jpg)
2
Agenda
• Getting started with Windows 8 Apps• Which SharePoint APIs are suitable?• Binding SharePoint data• Searching SharePoint• Notification
![Page 3: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/3.jpg)
What is a Window 8 app?
3
![Page 4: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/4.jpg)
4
Touch First
• No chrome – full screen experience• Designed for Touch and Pen input
![Page 5: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/5.jpg)
5
What is a Windows 8 app?
• Full screen window with multiple views• Supports touch and works great without• Runs on a variety of devices• Sandboxed• Uses tiles instead of icons• Can be distribute via Windows Store
![Page 6: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/6.jpg)
6
Why Windows 8 App and SharePoint?
• Great way to visualize data• Business Intelligence• Charts / Graphs• Reports
• Brings SharePoint to the Desktop• Executives love “touch”• Great app opportunity• Easy to develop
![Page 7: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/7.jpg)
Getting Started
7
![Page 8: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/8.jpg)
8
Getting Started - Environment
• At least two machines required• Server running SharePoint 2013
• SQL, Active Directory, Workflow, WAC optionally on other servers• Client running Windows 8
• Pro or Enterprise works best
• Ideally both machines are on the same domain
![Page 9: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/9.jpg)
9
Getting Started - Server
• Windows Server running SharePoint 2013• Visual Studio not required• More memory is ideal
![Page 10: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/10.jpg)
10
Getting Started - Client
• Client running Windows 8• Pro or Enterprise ideal• Connected to same domain
• Visual Studio 2012 RTM• 2 GB – 4 GB of memory• Internet connection required
![Page 11: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/11.jpg)
11
Which Language?
• HTML5 + JavaScript• XAML with C#, Visual Basic, or C++ code-behind• DirectX with native C++ and HLSL
![Page 12: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/12.jpg)
DEMO Simple App. Simulator
12
![Page 13: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/13.jpg)
13
SharePoint Integration Points
• Authorization • Data binding• Contracts• Search
• Live Tiles• Notification
![Page 14: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/14.jpg)
Authorization
14
![Page 15: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/15.jpg)
15
Authorization
![Page 16: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/16.jpg)
DEMO Authorization to the office 365
16
![Page 17: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/17.jpg)
Data binding
17
![Page 18: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/18.jpg)
18
Data binding steps
• Retrieve data from SharePoint• Bind data to default view model• Customize template
![Page 19: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/19.jpg)
19
SharePoint 2013 APIs
• RSS• Client Script Object Model• Web Services• REST
![Page 20: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/20.jpg)
20
What’s covered in the new CSOM/REST APIs?
BCSIRM
AnalyticsWorkflow
eDiscoveryPublishing
TaxonomySocial
Sharing
Search
And much, much more!
![Page 21: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/21.jpg)
21
Why is REST the best choice?
• Simple and Easy to Use• Much easier to use than SOAP-based Web service• Higher productivity when using JavaScript and jQuery• Results can be returned in JSON and ATOM format• Test in a browser
![Page 22: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/22.jpg)
22
ODATA URIs
• URI has three significant parts• Service root URI• Resource path • Query string options (select, filter)
![Page 23: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/23.jpg)
23
REST URLs in SharePoint 2013
JavaScript Library
Silverlight Library
.Net CLR Library
Custom Client Code
Client
Server
_api is new alias for _vti_bin/client.svc
RESTODataJSON
CSOM
![Page 24: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/24.jpg)
24
Mapping Objects to Resources
• Example REST URLs targeting SharePoint sites_api/web/lists
_api/web/lists/getByTitle('Announcements')
_api/web/lists/getByTitle('Announcements')/$select=title,body,expirationdate
![Page 25: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/25.jpg)
25
Response XML
![Page 26: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/26.jpg)
26
ATOM XML or JSON?
• Response data format selected with ACCEPT header• XML can be easier to deal with from managed code• To get ATOM XML response use "application/atom+xml"• JSON is easier to deal with when using JavaScript• To get JSON response use "application/json"
![Page 27: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/27.jpg)
27
REST Queries from Windows 8 Apps
• Use HttpClient object to GET SharePoint data• Use HttpClientHandler object for authentication• Add headers to request data in ATOM XML format• Parse data with LINQ to XML
![Page 28: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/28.jpg)
28
Data Templates
• Bind data to SharePoint fields• Change look and feel of results• Can be defined in:• Page.Resources• StandardStyles.xaml
<DataTemplate x:Key="Standard250x250ItemTemplate"> <Grid HorizontalAlignment="Left" Width="250" Height="250"> <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}"> <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/> </Border> <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">…
![Page 29: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/29.jpg)
29
Package.appmanifest
• Specify information about your app• i.e.: Name, logo, supported orientations, splash screen
• Declares capabilities your app requires• SharePoint typically requires:• Enterprise Authentication (not for office 365)• Internet (Client)• Private Networks (Client & Server) (not for office 365)
![Page 30: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/30.jpg)
DEMO Data binding a document library using REST + JSON
30
![Page 31: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/31.jpg)
App Contracts
31
![Page 32: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/32.jpg)
32
What is App Contract?
• An agreement between one or more apps• Built with special Visual Studio project items
File PickerPlay ToSearchShareSettings
![Page 33: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/33.jpg)
33
Search Contract
• Great for SharePoint• Add SharePoint Search to the Charms menu• Touch friendly interface• App automatically launched if not open• Can be activated on keyboard input
![Page 34: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/34.jpg)
34
Creating a Search Contract
• Use Search Contract Project Item• Query search via REST• Format XML into expected format• Bind results to this.DefaultViewModel[“Results”]
![Page 35: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/35.jpg)
35
Searching SharePoint
• Search Web Service deprecated• REST API preferred query method• Search REST URL
![Page 36: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/36.jpg)
DEMO Searching SharePoint documents from Windows 8 App
36
![Page 37: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/37.jpg)
Tiles and Notification
37
![Page 38: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/38.jpg)
38
Tiles
• Combination of text and images• Defined by XML• 34 Templates Available• Can be updated by app
![Page 39: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/39.jpg)
39
Tiles come in all shapes and sizes
![Page 40: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/40.jpg)
40
Tile XML
<tile> <visual> <binding template="TileSquareBlock"> <text id="1">Text Field 1</text> <text id="2">Text Field 2</text> </binding> </visual></tile>
<tile> <visual> <binding template="TileWideImageAndText01"> <image id="1" src="image1.png" alt="alt text"/> <text id="1">Text Field 1</text> </binding> </visual></tile>
![Page 41: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/41.jpg)
41
Apps can notify users with
• Tiles• Badges• Toast• Lock Screen
![Page 42: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/42.jpg)
42
Types of notification
• Periodic• Polling – occurs at regular intervals until stopped• Scheduled – occurs at a scheduled time
• Push
![Page 43: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/43.jpg)
43
Strategy for updating Tiles with SharePoint
• No client side code executed when polling Tile XML• Avoid custom code in SharePoint• Solution: Custom RSS
![Page 44: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/44.jpg)
DEMO Notification
44
![Page 45: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей](https://reader035.vdocuments.site/reader035/viewer/2022062404/5516c42d550346f6208b5992/html5/thumbnails/45.jpg)
45
Resources
Windows 8 Apps + new Office 365 (SharePoint Online)http://blogs.msdn.com/b/omarv/archive/2012/10/25/windows-8-store-apps-office-365-enterprise-preview-sharepoint-online.aspx
My technical bloghttp://blogs.msdn.com/b/sergey_belskiy_technical_blog/
Programming using the SharePoint 2013 REST servicehttp://msdn.microsoft.com/en-us/library/fp142385.aspx