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

bài 5 quản lý dữ liệu sharepoint

35 400 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 đề Bài 5 Quản lý dữ liệu SharePoint
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Quản trị hệ thống thông tin
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 485,27 KB

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

Nội dung

Nội dung bài họcTìm hiểu Events sự kiện trong SharePoint 2010 Truy vấn dữ liệu sử dụng CAML Truy vấn dữ liệu sử dụng LINQ to SharePoint... Sự kiện trong SharePointSự kiện Event trong Sha

Trang 1

Bài 5:

Quản lý dữ liệu SharePoint

Trang 3

Nội dung bài học

Tìm hiểu Events (sự kiện) trong SharePoint 2010

Truy vấn dữ liệu sử dụng CAML

Truy vấn dữ liệu sử dụng LINQ to SharePoint

Trang 4

Sự kiện trong SharePoint

Sự kiện (Event) trong SharePoint là Microsoft NET

assembly chứa một hoặc nhiều lớp xử lý sự kiện xảy ratrên SharePoint

Ngăn chặn việc xóa công việc khi chưa hoàn

thành

Giám sát mọi thay đổi liên quan đến công việc

Điều chỉnh quy trình xử

lý khi một công việc có

độ ưu tiên thay đổi đến

mức cao Ngăn chặn việc xóa một trường dữ liệu khỏi List

Trang 5

Before Event (Synchronous)

Được đặt tên với kết thúc là …ing

Vd: ItemAdding

Sự kiện này xảy ra trước khi sự kiện trên SharePoint

thực thi và trước khi SharePoint lưu dữ liệu xuống CSDL

Hỗ trợ cơ chế từ chối thực thi thông qua e.Cancel = trueThường dùng để phê chuẩn dữ liệu trên SharePoint

Được đặt tên với kết thúc là …ing

Vd: ItemAdding

Sự kiện này xảy ra trước khi sự kiện trên SharePoint

thực thi và trước khi SharePoint lưu dữ liệu xuống CSDL

Hỗ trợ cơ chế từ chối thực thi thông qua e.Cancel = trueThường dùng để phê chuẩn dữ liệu trên SharePoint

Trang 6

Before Event (Synchronous)

Synchronous (đồng bộ) Event:

Là sự kiện trên SharePoint mà được thực thi ngay khi và trong cùng một thread (luồng hay tiến trình) với hành

động gây nên sự kiện đó

Toàn bộ Before event là Synchronous event.

Trang 7

After Event (Asynchronous)

Được đặt tên với kết thúc là …ed

Vd: ItemAdded

Sự kiện này xảy ra sau khi sự kiện trên SharePoint đã

thực thi và dữ liệu đã được ghi xuống CSDL

Không hỗ trợ cơ chế từ chối sự kiện

Việc thực thi sự kiện này là không đồng bộ

Được đặt tên với kết thúc là …ed

Vd: ItemAdded

Sự kiện này xảy ra sau khi sự kiện trên SharePoint đã

thực thi và dữ liệu đã được ghi xuống CSDL

Không hỗ trợ cơ chế từ chối sự kiện

Việc thực thi sự kiện này là không đồng bộ

Trang 8

After Event (Asynchronous)

Asynchronous (không đồng bộ) Event

Là sự kiện trên SharePoint mà được thực thi trên một

thread (luồng hay tiến trình) khác với hành động gây nên

sự kiện đó và việc thực thi này có thể xảy ra sau một thời

gian so với hành động gây nên sự kiện.

Asynchronous (không đồng bộ) Event

Là sự kiện trên SharePoint mà được thực thi trên một

thread (luồng hay tiến trình) khác với hành động gây nên

sự kiện đó và việc thực thi này có thể xảy ra sau một thời

gian so với hành động gây nên sự kiện.

Trang 9

Sự kiện trong SharePoint 2010

Event Host: Các đối tượng trên SharePoint có thể viết sựkiện do người dùng định nghĩa bao gồm

Trang 10

Các loại sự kiện trong

SharePoint 2010

List Events:

Các sự kiện xảy ra cho List:

List Item Events:

Các sự kiện xảy ra đối với item trong list hay document

trong document library

List Email Events

Các sẽ kiện xảy ra đối với quá trình nhận email của list

Web Events

Các sự kiện xảy ra đối với site

List Workflow Events

Các sự kiện xảy ra đối với Workflow

List Events:

Các sự kiện xảy ra cho List:

List Item Events:

Các sự kiện xảy ra đối với item trong list hay document

trong document library

List Email Events

Các sẽ kiện xảy ra đối với quá trình nhận email của list

Web Events

Các sự kiện xảy ra đối với site

List Workflow Events

Các sự kiện xảy ra đối với Workflow

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

Trang 11

Sự kiện trong SharePoint 2010

Lớp Event receiver Host Events được hỗ trợ

SPWebEventReceiver SPSite, SPWeb SiteDeleting, SiteDeleted,

WebAdding, WebProvisioned, WebDeleting, WebDeleted, WebMoving, WebMoved, SPListEventReceiver

(fields)

SPSite, SPWeb, SPList,

SPContentType

FieldAdding, FieldAdded, FieldDeleting, FieldDeleted, FieldUpdating, FieldUpdated, SPEmailEventReceiver SPSite, SPWeb,

SPList

EmailReceived,

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

Trang 12

Sự kiện trong SharePoint 2010

SPContentType

ItemAdding, ItemAdded, ItemDeleting, ItemDeleted, ItemUpdating, ItemUpdated, ItemFileConverted, ItemFileMoving,

ItemFileMoved, ItemCheckingIn, ItemCheckedIn, ItemCheckingOut, ItemCheckedOut, ItemAttachmentAdding, ItemAttachmentAdded,

ItemAttachmentDeleting, ItemAttachmentDeleted

ItemAdding, ItemAdded, ItemDeleting, ItemDeleted, ItemUpdating, ItemUpdated, ItemFileConverted, ItemFileMoving,

ItemFileMoved, ItemCheckingIn, ItemCheckedIn, ItemCheckingOut, ItemCheckedOut, ItemAttachmentAdding, ItemAttachmentAdded,

ItemAttachmentDeleting, ItemAttachmentDeleted SPWorkflowEve

ntReceiver

SPSite, SPWeb, SPList,

SPContentType

WorkflowStarting, WorkflowStarted, WorkflowCompleted,

WorkflowPostponed,

Trang 13

Khai báo sự kiện trong Element.xml

Trang 14

RootWebOnly Tùy chọn kiểu Boolean True nếu Event

chỉ áp dụng cho Root WebScope Phạm vi triển khai Event Có thể là

- Site: Áp dụng cho toàn Site Collection

- Web: Chỉ áp dụng cho Web site

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

Trang 15

SharePoint Events trong VS2010

Trang 16

Demo:

Viết một Event Receiver sử dụng Visual Studio 2010

Trang 17

Truy vấn CAML

CAML (Collaborative Application Markup Language): là

một ngôn ngữ dựa trên XML được sử dụng trong

SharePoint để định nghĩa các trường dữ liệu (fields) haycác View được sử dụng trên SharePoint List và Site

CAML cũng được sử dụng để truy vấn dữ liệu trên

SharePoint

CAML (Collaborative Application Markup Language): là

một ngôn ngữ dựa trên XML được sử dụng trong

SharePoint để định nghĩa các trường dữ liệu (fields) haycác View được sử dụng trên SharePoint List và Site

CAML cũng được sử dụng để truy vấn dữ liệu trên

SharePoint

Trang 18

Các thành phần trong

truy vấn CAML

Thành phần Mô tả

And Nhóm nhiều điều kiện

BeginsWith Tìm kiếm chuỗi ký tự mà bắt đầu với

Contains Tìm kiếm chuỗi có chứa

Eq Toán từ so sánh bằng

FieldRef Tham chiếu tới một Field

FieldRef Tham chiếu tới một Field

Geq Lớn hơn hoặc bằng

GroupBy Nhóm kết quả nhận được

Trang 19

Now Thời gian hiện tại

Now Thời gian hiện tại

OrderBy Sắp xếp kết quả

Today Ngày hiện tại

TodayIso Ngày hiện tại với định dạng ISO

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

Trang 21

Demo:

Ứng dụng Console truy vấn dữ liệu SharePoint sử dụng

CAML

Trang 22

Truy vấn LINQ to SharePoint

LINQ to SharePoint Provider được định nghĩa trong

namespace Microsoft.SharePoint.Linq

SharePoint thực hiện việc chuyển truy vấn dưới dạng

LINQ sang truy vấn dưới dạng CAML trước khi thực thi.LINQ to SharePoint là một cách thức để truy vấn dữ liệuSharePoint mà không phải sử dụng CAML

LINQ to SharePoint Provider được định nghĩa trong

namespace Microsoft.SharePoint.Linq

SharePoint thực hiện việc chuyển truy vấn dưới dạng

LINQ sang truy vấn dưới dạng CAML trước khi thực thi.LINQ to SharePoint là một cách thức để truy vấn dữ liệuSharePoint mà không phải sử dụng CAML

Trang 23

Truy vấn LINQ to SharePoint

Xây dựng dựa trên nền tảng và cú pháp LINQ (tương tựnhư LINQ to SQL hay LINQ to Object trong Microsoft

.NET framework), dành riêng để truy vấn dữ liệu

SharePoint

Chỉ hoạt động cho các ứng dụng Server-side (phía

server)

Để truy vấn LINQ dữ liệu SharePoint từ phía Client sử

dụng ADO.NET Data Services

Xây dựng dựa trên nền tảng và cú pháp LINQ (tương tựnhư LINQ to SQL hay LINQ to Object trong Microsoft

.NET framework), dành riêng để truy vấn dữ liệu

SharePoint

Chỉ hoạt động cho các ứng dụng Server-side (phía

server)

Để truy vấn LINQ dữ liệu SharePoint từ phía Client sử

dụng ADO.NET Data Services

Trang 25

Tạo các lớp thực thể

Tự động tạo các lớp thực thể tương ứng với các

Lists/Libraries trên SharePoint sử dụng công cụ

SPMetal.exe

spmetal /web:<url> /code:Projects.cs

Tự động tạo các lớp cho một hoặc nhiều List

Tự động tạo đối tượng DataContext

Tự động tạo các lớp thực thể tương ứng với các

Lists/Libraries trên SharePoint sử dụng công cụ

SPMetal.exe

spmetal /web:<url> /code:Projects.cs

Tự động tạo các lớp cho một hoặc nhiều List

Tự động tạo đối tượng DataContext

Trang 26

Tạo các lớp thực thể

Add Reference tới Microsoft.SharePoint.Linq.dll

Thêm mã nguồn của Entity được sinh ra từ công cụ

SPMetal vào Visual Studio Project

[ContentTypeAttribute(Name="Announcement", Id="0x0104")]

public partial class Announcement : Item {

[ColumnAttribute(Name="Body", Storage="_body", FieldType="Note")]

public string Body {

get { return this _body; }

set {

if (( value != this _body)) {

this OnPropertyChanging("Body", this _body);

this _body = value ; this OnPropertyChanged("Body");

} }

}

[ContentTypeAttribute(Name="Announcement", Id="0x0104")]

public partial class Announcement : Item {

[ColumnAttribute(Name="Body", Storage="_body", FieldType="Note")]

public string Body {

get { return this _body; }

set {

if (( value != this _body)) {

this OnPropertyChanging("Body", this _body);

this _body = value ; this OnPropertyChanged("Body");

} }

}

Trang 27

Tạo đối tượng DataContext

public partial class Lab05DataContext : DataContext {

Trang 28

List có quan hệ

Có thể thực hiện truy vấn chéo giữa các List có quan hệ

Sử dụng thuộc tính Association để khai báo quan hệ giữacác list (Entity)

[ContentTypeAttribute(Name="Employees", Id="0x0104")]

public partial class Employees : Item {

[AssociationAttribute(Name="Body",

Storage="_project", MultivalueType=AssociationType.Single List=“Projects")]

public string Project {

public string Project {

get { … }

set {…}

}

Trang 29

List có quan hệ

Truy vấn chéo giữa các list có quan hệ sử dụng cú phápLINQ

Ví dụ: List Employees có quan hệ với List Project

var qw = from emp in dc.Employees

where emp.Project.DueDate < DateTime Now.AddYears(5)

orderby emp.Project.DueDate

select emp;

var qw = from emp in dc.Employees

where emp.Project.DueDate < DateTime Now.AddYears(5)

orderby emp.Project.DueDate

select emp;

Trang 30

Sửa đổi dữ liệu

Các thay đổi đối với các đối tượng Entity (List item…)

được kiểm soát bởi LINQ Provider

Để thực hiện thay đổi, gọi phương thức

SubmitChanges()

Trang 31

Sửa đổi dữ liệu

// Khởi tạo đối tượng DataContext

DataContext data = new DataContext (SPContext.Current.Web.Url);

// Lấy ra đối tượng Customers list

EntityList<Customer> Customers

= data.GetList<Customer>("Customers");

// Tạo mới một đối tượng Customer

Customer newCustomer = new Customer()

// Khởi tạo đối tượng DataContext

DataContext data = new DataContext (SPContext.Current.Web.Url);

// Lấy ra đối tượng Customers list

EntityList<Customer> Customers

= data.GetList<Customer>("Customers");

// Tạo mới một đối tượng Customer

Customer newCustomer = new Customer()

Trang 32

Demo:

Ứng dụng Console sử dụng LINQ to SharePoint Provider

để truy vấn dữ liệu SharePoint

Trang 34

Tổng kết bài học

Ngoài việc sử dụng CAML chúng ta có thể sử dụng LINQ

to SharePoint để truy vấn dữ liệu SharePoint trên môi

trường server

DataContext là đối tượng trung tâm trong LINQ to

SharePoint để truy vấn dữ liệu

Trang 35

Tham khảo

http://msdn.microsoft.com/en-us/library/gg749858.aspxhttp://msdn.microsoft.com/en-us/library/ee535491.aspx

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

TỪ KHÓA LIÊN QUAN

w