22 мая 2013, Киев Построение Windows 8 приложений для доступа...

45
22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей

Transcript of 22 мая 2013, Киев Построение Windows 8 приложений для доступа...

Page 1: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

22 мая 2013, Киев

Построение Windows 8 приложений для доступа к SharePoint 2013

Бельский Сергей

Page 2: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

What is a Window 8 app?

3

Page 4: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

4

Touch First

• No chrome – full screen experience• Designed for Touch and Pen input

Page 5: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

Getting Started

7

Page 8: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

DEMO Simple App. Simulator

12

Page 13: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

13

SharePoint Integration Points

• Authorization • Data binding• Contracts• Search

• Live Tiles• Notification

Page 14: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

Authorization

14

Page 15: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

15

Authorization

Page 16: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

DEMO Authorization to the office 365

16

Page 17: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

Data binding

17

Page 18: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

18

Data binding steps

• Retrieve data from SharePoint• Bind data to default view model• Customize template

Page 19: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

19

SharePoint 2013 APIs

• RSS• Client Script Object Model• Web Services• REST

Page 20: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

25

Response XML

Page 26: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

DEMO Data binding a document library using REST + JSON

30

Page 31: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

App Contracts

31

Page 32: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

35

Searching SharePoint

• Search Web Service deprecated• REST API preferred query method• Search REST URL

Page 36: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

DEMO Searching SharePoint documents from Windows 8 App

36

Page 37: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

Tiles and Notification

37

Page 38: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

39

Tiles come in all shapes and sizes

Page 40: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

41

Apps can notify users with

• Tiles• Badges• Toast• Lock Screen

Page 42: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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 Бельский Сергей.

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 Бельский Сергей.

DEMO Notification

44

Page 45: 22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.

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