1. Trang chủ
  2. » Công Nghệ Thông Tin

bài 3 thao tác với dữ liệu sharepoint từ phía client

37 449 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thao Tác Với Dữ Liệu Sharepoint Từ Phía Client
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Giảng
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 37
Dung lượng 544,13 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu bài họcTìm hiểu mô hình đối tượng phía Client trên SharePoint2010 Tìm hiểu các cách thao tác dữ liệu SharePoint từ phía client sử dụng thư viện được cung cấp bởi SharePoint Tìm

Trang 1

Bài 3:

Thao tác với dữ liệu SharePoint từ phía client

Trang 2

Hệ thống bài cũ

Tìm hiểu về Web Part trên SharePoint 2010

Các giải pháp phát triển Web Part sử dụng Visual Studio2010

Web Par chuẩn

Web Part trực quan

Tìm hiểu các trang trên SharePoint

Tìm hiểu về Web Part trên SharePoint 2010

Các giải pháp phát triển Web Part sử dụng Visual Studio2010

Web Par chuẩn

Web Part trực quan

Tìm hiểu các trang trên SharePoint

Trang 3

Mục tiêu bài học

Tìm hiểu mô hình đối tượng phía Client trên SharePoint2010

Tìm hiểu các cách thao tác dữ liệu SharePoint từ phía

client sử dụng thư viện được cung cấp bởi SharePoint

Tìm hiểu các cách thao tác dữ liệu SharePoint từ phía

client sử dụng thư viện được cung cấp bởi SharePoint

2010

Nắm bắt các thủ tục để thao tác dữ liệu SharePoint từ

phía Client

Trang 4

Lý do cần đến mô hình đối tượng

phía Client

Mô hình đối tượng SharePoint (Server OM) đòi hỏi các

ứng dụng phải được triển khai trên môi trường cài đặt

SharePoint

Mô hình đối tượng Client (Client OM) cho phép ứng dụng

từ xa (không chạy trên môi trường cài đặt SharePoint)

có thể thao tác dữ liệu trên các đối tượng SharePoint

Mô hình đối tượng SharePoint (Server OM) đòi hỏi các

ứng dụng phải được triển khai trên môi trường cài đặt

SharePoint

Mô hình đối tượng Client (Client OM) cho phép ứng dụng

từ xa (không chạy trên môi trường cài đặt SharePoint)

có thể thao tác dữ liệu trên các đối tượng SharePoint

Trang 5

Silverlight trên môi trường có trình duyệt

Silverlight ngoài môi trường trình duyệt

Silverlight trên môi trường có trình duyệt

Silverlight ngoài môi trường trình duyệt

Trang 6

Mô hình đối tượng phía client

Client Object Model

Nh Nhấấtt quán quán Hi Hiệệuu qu quảả

Client Client Application Application

Nh Nhấấtt quán quán Hi Hiệệuu qu quảả

Trang 7

Mô hình đối tượng phía client

Client Object Model

Nhằm đơn giản hóa và dễ dàng hơn trong việc sử dụngcác giao diện lập trình ứng dụng (API) để thêm (Add),

đọc (Retrieve), cập nhật (Update), xóa (Delete) và quản

Trang 8

Mô hình đối tượng phía client

Client Object Model

SharePoint Client-Side API

Được sử dụng cho các ứng dụng web với JavaScript

SharePoint Client-Side API

Được sử dụng cho các ứng dụng web với JavaScript

Trang 9

So sánh các API phía client

với phía Server

SP.ClientContext

Microsoft.SharePoint.

SPSite

Microsoft.SharePoint.Client Site

SP.Site

Microsoft.SharePoint.

SPSite

Microsoft.SharePoint.Client Site

Microsoft.SharePoint.

SPWeb

Microsoft.SharePoint.Client Web

SP.Web

Microsoft.SharePoint.

SPList

Microsoft.SharePoint.Client List

SP.List

Microsoft.SharePoint.

SPListItem

Microsoft.SharePoint.Client ListItem

SP.ListItem

Trang 10

Client OM: NET CLR API

Cung cấp khả năng thao tác dữ liệu SharePoint từ xa

thông qua các ứng dụng nền Microsoft NET

Thư viện lập trình (API): Thuộc thư mục 14\ISAPI

Microsoft.SharePoint.Client.dll (281kb)

Microsoft.SharePoint.Client.Runtime.dll (145kb)

Trang 11

Client OM: NET CLR API

ClientContext

Là đối tượng khởi nguồn cho quá trình thao tác dữ liệu

SharePoint từ xa thông qua các ứng dụng NET

Cần phải khởi tạo đối tượng này trước khi truy vấn, cập

Trang 12

ClientContext:

Được coi như đối tượng trung tâm để thao tác các đối

tượng SharePoint từ phía Client

Được coi như đối tượng trung tâm để thao tác các đối

tượng SharePoint từ phía Client

ClientContext():

Phương thức khởi tạo cho một Web site hoặc Site

Collection nhất định.

ClientContext.Load()

Chỉ ra đối tượng sẽ được gọi bởi Client

Trang 13

ClientContext.LoadQuery()

Chỉ ra câu truy vấn sẽ được gọi bởi Client

ClientContext.ExecuteQuery()

Thực hiện việc tải các đối tượng trả về từ các yêu cầu

trong Load hoặc LoadQuery

Thực hiện việc tải các đối tượng trả về từ các yêu cầu

trong Load hoặc LoadQuery

ClientContext.Web.Update()

Thông báo cập nhật dữ liệu từ phía Client

Trang 14

Cú pháp Query và cú pháp Method

.NET API có thể sử dụng 2 loại cú pháp (Query và

Method) để tải một đối tượng độc lập, các thuộc tính củađối tượng hoặc một tập các enumerable object

Trang 15

Sử dụng biểu thứcLambda để truy vấn

Sử dụng biểu thứcLambda để truy vấn

Trang 16

Cú pháp Query

//Khởi tạo câu truy vấn LINQ

var query = from list

in clientContext.Web.Lists

where list.Title != null select list;

//Truyền truy vấn vào phướng thức LoadQuery

var result = clientContext.LoadQuery(query);

//Thực hiện truy vấn

clientContext.ExecuteQuery();

//Khởi tạo câu truy vấn LINQ

var query = from list

in clientContext.Web.Lists

where list.Title != null select list;

//Truyền truy vấn vào phướng thức LoadQuery

var result = clientContext.LoadQuery(query);

//Thực hiện truy vấn

clientContext.ExecuteQuery();

Trang 17

Cú pháp Method

//Thực hiện tải truy vấn trực tiếp theo kiểu Lambda

clientContext.Load(clientContext.Web,

website => website.Lists Include (list => list.Title) Where (list => list.Title != null ));

//Thực thi ngay truy vấn này

clientContext.ExecuteQuery();

//Thực hiện tải truy vấn trực tiếp theo kiểu Lambda

clientContext.Load(clientContext.Web,

website => website.Lists Include (list => list.Title) Where (list => list.Title != null ));

//Thực thi ngay truy vấn này

clientContext.ExecuteQuery();

Trang 18

Xác thực trong NET Client OM

Mặc định NET Client OM sử dụng cơ chế xác thực

Windows (Windows credentials) DefaultCredentials

Do đó các ứng dụng Client sử dụng NET Client OM cầnphải được thực thi trên máy có cùng Domain với máy

chủ SharePoint

Tham khảo: http://msdn.microsoft.com/en-us/library/ee535729.aspx

Trang 19

Xác thực trong NET Client OM

Có thể thay đổi chế độ xác thực trên đối tượng

ClientContext khi SharePoint được cấu hình cơ chế xác

Trang 20

Demo:

Ứng dụng Console sử dụng NET Client Object Model để

thao tác dữ liệu SharePoint

Trang 21

Client OM: Silverlight API

Silverlight Client OM cho phép ứng dụng Silverlight trongcác trang ASPX hoặc Web Part thao tác với dữ liệu

SharePoint

Thư mục chứa thư viện lập trình SharePoint phía client

cho các ứng dụng Silverlight

C:\Program Files\Common Files\Microsoft Shared\Web

Server Extensions \14\TEMPLATE\LAYOUTS\ClientBin

Microsoft.SharePoint.Client.Silverlight – 262KB

Microsoft.SharePoint.Client.Silverlight.Runtime – 138KB

Silverlight Client OM cho phép ứng dụng Silverlight trongcác trang ASPX hoặc Web Part thao tác với dữ liệu

SharePoint

Thư mục chứa thư viện lập trình SharePoint phía client

cho các ứng dụng Silverlight

C:\Program Files\Common Files\Microsoft Shared\Web

Server Extensions \14\TEMPLATE\LAYOUTS\ClientBin

Microsoft.SharePoint.Client.Silverlight – 262KB

Microsoft.SharePoint.Client.Silverlight.Runtime – 138KB

Trang 22

Demo:

Viết một Silverlight

Nhúng Silverlight vào Silverlight Web Part trên SharePoint

để thao tác với dữ liệu SharePoint

Trang 23

Client OM: JavaScript API

JavaScript OM cho phép làm việc với các đối tượng trênSharePoint mà không cần phải triển khai code lên Server.Chỉ làm việc với các đối tượng trong ngữ cảnh

SharePoint hiện thời (current context): các đối tượng

trên site SharePoint mà JavaScript được triển khai

Thư viện JavaScript API có thể dễ dàng được tham chiếutrong các trang SharePoint thông qua

_layouts/sp.js

Sử dụng thẻ <SharePoint:ScriptLink>

JavaScript OM cho phép làm việc với các đối tượng trênSharePoint mà không cần phải triển khai code lên Server.Chỉ làm việc với các đối tượng trong ngữ cảnh

SharePoint hiện thời (current context): các đối tượng

trên site SharePoint mà JavaScript được triển khai

Thư viện JavaScript API có thể dễ dàng được tham chiếutrong các trang SharePoint thông qua

_layouts/sp.js

Sử dụng thẻ <SharePoint:ScriptLink>

Trang 24

Client OM: JavaScript API

Các thư viện lập trình SharePoint phía client, JavaScriptAPI nằm tại thư mục

C:\Program Files\Common Files\Microsoft Shared\Web

Server Extensions\14\TEMPLATE\LAYOUTS

SP.js (SP.debug.js):

– 380KB (559KB) SP.Core.js (SP.Core.debug.js):

– 13KB (20KB) SP.Runtime.js (SP.Runtime.debug.js):

– 13KB (20KB) SP.Runtime.js (SP.Runtime.debug.js):

– 68KB (108KB)

Trang 25

Thủ tục nhận dữ liệu từ phía Client

Khởi tạo đối tượng ClientContext

Sử dụng mô hình đối tượng để chỉ ra đối tượng hoặc dữliệu cần thao tác

//Truyền vào tham số URL của site để khởi tạo

var clientContext = new SP.ClientContext(siteUrl);

Khởi tạo đối tượng ClientContext

Sử dụng mô hình đối tượng để chỉ ra đối tượng hoặc dữliệu cần thao tác

//Lấy ra đối tượng web của site

var oWebsite = clientContext.get_web();

//Lấy ra tất cả các lists của web đó

this collList = oWebsite.get_lists();

Trang 26

Thủ tục nhận dữ liệu từ phía Client

Tải tại chỗ sử dụng Load() để trả về đối tượng, tập đốitượng hay dữ liệu

Tải qua truy vấn sử dụng LoadQuery() để trả về một

enumerable collection của các đối tượng

this collList = oWebsite.get_lists();

//Thực hiện tải lists về

clientContext.load(collList);

Tải tại chỗ sử dụng Load() để trả về đối tượng, tập đốitượng hay dữ liệu

Tải qua truy vấn sử dụng LoadQuery() để trả về một

enumerable collection của các đối tượng

var collList = oWebsite.get_lists();

//Thực hiện tải lists về trong đó có lọc thuộc tính lấy về

this.listInfoCollection =

clientContext.loadQuery(collList,

'Include(Title, Id)');

Trang 27

Thủ tục nhận dữ liệu từ phía Client

Thực thi truy vấn bằng việc gọi phương thức

ExecuteQuery: trong NET API hay Silverlight API

Thực thi truy vấn bằng việc gọi phương thức

ExecuteQueryAsync: trong JavaScrip API hoặc SilverlightAPI

clientContext.Load(oWebsite);

//Thực thi truy vấn

clientContext.ExecuteQuery();

Thực thi truy vấn bằng việc gọi phương thức

ExecuteQuery: trong NET API hay Silverlight API

Thực thi truy vấn bằng việc gọi phương thức

ExecuteQueryAsync: trong JavaScrip API hoặc SilverlightAPI

clientContext.executeQueryAsync(

Function createDelegate( this , this onQuerySucceeded),

Function createDelegate( this , this onQueryFailed)); }

function onQuerySucceeded( sender , args) {…}

Trang 28

Nhận các đối tượng từ phía Client

JavaScript API

function retrieveWebSite() {

var clientContext

= new SP.ClientContext( '/sites/MySiteCollection' );

var oWebsite = clientContext.get_web();

var collList = oWebsite.get_lists();

this oList = collList.getByTitle( 'Announcements' );

clientContext.load(oList);

clientContext.executeQueryAsync(

Function createDelegate( this , this onQuerySucceeded),

Function createDelegate( this , this onQueryFailed));

}

function retrieveWebSite() {

var clientContext

= new SP.ClientContext( '/sites/MySiteCollection' );

var oWebsite = clientContext.get_web();

var collList = oWebsite.get_lists();

this oList = collList.getByTitle( 'Announcements' );

clientContext.load(oList);

clientContext.executeQueryAsync(

Function createDelegate( this , this onQuerySucceeded),

Function createDelegate( this , this onQueryFailed));

}

Trang 29

Nhận các đối tượng từ phía Client

.NET API

ClientContext clientContext

= new ClientContext(" http://MyServer/ ");

Web oWebsite = clientContext.Web;

ListCollection collList = oWebsite.Lists;

List oList = collList.GetByTitle(" Announcements ");

= new ClientContext(" http://MyServer/ ");

Web oWebsite = clientContext.Web;

ListCollection collList = oWebsite.Lists;

List oList = collList.GetByTitle(" Announcements ");

clientContext.Load(oList);

clientContext.ExecuteQuery();

Console WriteLine(" Title: {0} Created: {1} ",

oList.Title, oList.Created);

Trang 30

Chuỗi truy vấn trong JavaScript OM

JavaScript Client OM không hỗ trợ truy vấn LINQ

JavaScript sử dụng biểu thức chuỗi (string expression)

để truy vấn

Cú pháp đối với một list:

Cú pháp đối với list collection:

clientContext.load(oList, 'Title' ,'Id' );

JavaScript Client OM không hỗ trợ truy vấn LINQ

JavaScript sử dụng biểu thức chuỗi (string expression)

để truy vấn

Cú pháp đối với một list:

Cú pháp đối với list collection:

myListArray = clientContext.loadQuery(collList,

Tham khảo: http://msdn.microsoft.com/en-us/library/ee539350.aspx

Trang 31

List oList = collList.GetByTitle(" My List ");

oList.Description = " Changed description ";

List oList = collList.GetByTitle(" My List ");

oList.Description = " Changed description ";

oList.Update();

this oList = collList.getByTitle(' My List ');

oList.set_title(' Changed description ');

oList.update();

Trang 32

Thủ tục nhận một List Items

Để nhận về danh sách các Item trong một List, thông

thường chúng ta sử dụng CAML để chỉ ra các Item nào

sẽ nằm trong giá trị trả về

Việc lấy về danh sách các Item trong list được thực hiệnthông qua hai bước

Khi báo truy vấn CAML

Gửi truy vấn này vào phương thức GetItems

Để nhận về danh sách các Item trong một List, thông

thường chúng ta sử dụng CAML để chỉ ra các Item nào

sẽ nằm trong giá trị trả về

Việc lấy về danh sách các Item trong list được thực hiệnthông qua hai bước

Khi báo truy vấn CAML

Gửi truy vấn này vào phương thức GetItems

Truy vấn CAML: http://msdn.microsoft.com/en-us/library/ms462365.aspx

Trang 34

Demo:

Sử dụng JavaScript để truy vấn dữ liệu SharePoint

Trang 35

Liên kết thực hành

Công việc thông thường

How to: Work with Websites

How to: Retrieve Lists

How to: Create, Update, and Delete Lists

How to: Retrieve List Items

How to: Create, Update, and Delete List Items

How to: Work with Users and Groups

How to: Work with Roles

How to: Break Role Assignment Inheritance

How to: Work with User Custom Actions

How to: Work with Web Parts on a Page

Công việc nâng cao

How to: Use Conditional Scope

How to: Use Exception Handling Scope

Code Sample: Silverlight List Viewer

Công việc thông thường

How to: Work with Websites

How to: Retrieve Lists

How to: Create, Update, and Delete Lists

How to: Retrieve List Items

How to: Create, Update, and Delete List Items

How to: Work with Users and Groups

How to: Work with Roles

How to: Break Role Assignment Inheritance

How to: Work with User Custom Actions

How to: Work with Web Parts on a Page

Công việc nâng cao

How to: Use Conditional Scope

How to: Use Exception Handling Scope

Code Sample: Silverlight List Viewer

Trang 36

ECMAScript: các ứng dụng web, với JavaScript

SharePoint cung cấp các thư viện để làm việc với dữ liệu

ECMAScript: các ứng dụng web, với JavaScript

Trang 37

Danh sách tham khảo

http://msdn.microsoft.com/en-us/library/ee539350.aspxhttp://msdn.microsoft.com/en-us/library/hh185009.aspxhttp://msdn.microsoft.com/en-us/library/ee539350.aspx

Ngày đăng: 23/05/2014, 18:14

TỪ KHÓA LIÊN QUAN