7
CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP THỰC HÀNH PHẦN 0 : LÀM QUEN VỚI LẬP TRÌNH TRONG SHAREPOINT 1. Tạo mới một FEATURE _ Khởi tạo một Class Library DLL project (Vd: có tên HelloWorld) . _ Tạo thư mục TEMPLATE\FEATURES\<Tên Project> _ Tạo 2 file : feature.xml và elements.xml + feature.xml <Feature Id=”Tạo ID cho feature” Title=”Tên feature” Description=”Mô tả cho feature” Scope=”Web” Hidden=”FALSE” ImageUrl=”Đường dẫn hình đại diện” xmlns=”http://schemas.microsoft.com/sharepoint/”> <ElementManifests> <ElementManifest Location=”elements.xml” /> </ElementManifests> </Feature> + elements.xml <Elements xmlns=”http://schemas.microsoft.com/sharepoint/”> <CustomAction Id=”SiteActionsToolbar” GroupId=”SiteActions” Location=”Microsoft.SharePoint.StandardMenu” Sequence=”100” Title=”Hello World” Description=”Mô tả cho feature” ImageUrl=”Đường dẫn tới hình đại diện”> <UrlAction Url=”http://msdn.microsoft.com” /> </CustomAction> </Elements> _ Tạo file install.bat để tiến hành cài đặt feature vào trong SharePoint bằng cách sử dụng STSADM.EXE @SET TEMPLATEDIR=”Đường dẫn tới thư mục TEMPLATE” @SET STSADM=”Đường dẫn tới file stsadm.exe” Echo Copying files Xcopy /e /y TEMPLATE\* %TEMPLATEDIR%

Bai Tap Sharepoint

Embed Size (px)

Citation preview

Page 1: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

ĐẠI HỌC CÔNG NGHIỆP TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP THỰC HÀNH

PHẦN 0 : LÀM QUEN VỚI LẬP TRÌNH TRONG SHAREPOINT

1. Tạo mới một FEATURE

_ Khởi tạo một Class Library DLL project (Vd: có tên HelloWorld) .

_ Tạo thư mục TEMPLATE\FEATURES\<Tên Project>

_ Tạo 2 file : feature.xml và elements.xml + feature.xml

<Feature

Id=”Tạo ID cho feature”

Title=”Tên feature” Description=”Mô tả cho feature”

Scope=”Web”

Hidden=”FALSE”

ImageUrl=”Đường dẫn hình đại diện”

xmlns=”http://schemas.microsoft.com/sharepoint/”>

<ElementManifests>

<ElementManifest Location=”elements.xml” />

</ElementManifests>

</Feature>

+ elements.xml <Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>

<CustomAction

Id=”SiteActionsToolbar”

GroupId=”SiteActions” Location=”Microsoft.SharePoint.StandardMenu”

Sequence=”100”

Title=”Hello World”

Description=”Mô tả cho feature”

ImageUrl=”Đường dẫn tới hình đại diện”> <UrlAction Url=”http://msdn.microsoft.com” />

</CustomAction>

</Elements>

_ Tạo file install.bat để tiến hành cài đặt feature vào trong SharePoint bằng cách sử dụng STSADM.EXE

@SET TEMPLATEDIR=”Đường dẫn tới thư mục TEMPLATE”

@SET STSADM=”Đường dẫn tới file stsadm.exe”

Echo Copying files

Xcopy /e /y TEMPLATE\* %TEMPLATEDIR%

Page 2: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

Echo Installing feature

%STSADM% -o InstallFeature –filename <Tên Project>\feature.xml –force

Echo Restart IIS Worker Process

IISRESET

_ Right click lên Project và chọn Properties, chọn Post-build event và thêm vào các dòng sau :

cd $(ProjectDir)

Install.bat

2. Thêm sự kiện cho feature . (Tạo giống bài trên)

_ Thêm Microsoft.SharePoint.dll vào trong project .

_ Đổi tên Class1.cs thành FeatureReceiver.cs

_ Cho class FeatureReceiver kế thừa SPFeatureReceiver _ Override các hàm : FeatureInstalled, FeatureUninstalling,

FeatureActivated, FeatureDeactivating .

_ Tại hàm FeatureActivated thêm :

SPWeb site = (SPWeb)properties.Feature.Parent;

site.Properties[“OriginalTitle”] = site.Title;

site.Properties.Update();

site.Title = “Tên project”; site.Update();

_ Tại hàm FeatureDeactivating thêm :

SPWeb site = (SPWeb)properties.Feature.Parent;

site.Title = site.Properties[“OriginalTitle”];

site.Update();

_ Thiết lập thêm 2 thuộc tính ReceiverAssembly và ReceiverClass trong

feature.xml ReceiverAssembly=”<Tên project>, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=b59ad8f489c4a334”

ReceiverClass=”<Tên project>.<Tên class>”

3. Tạo trang custom application trong sharepoint _ Tạo class CustomApplicationPages giống các bước ở trên .

_ Trong thư mục TEMPLATE, tạo thêm thư mục

LAYOUTS\CustomApplicationPages

_ Tạo trang ApplicationPage1.aspx (viết code inline) <%@ Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Page Language="C#" MasterPageFile="~/_layouts/application.master" Inherits="Microsoft.SharePoint.WebControls.LayoutsPageBase" %> <%@ Import Namespace="Microsoft.SharePoint" %> <script runat="server"> protected override void OnLoad(EventArgs e) { SPWeb site = this.Web; lblSiteTitle.Text = site.Title; lblSiteID.Text = site.ID.ToString().ToUpper(); } </script>

Page 3: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

<asp:Content ID="Main" contentplaceholderid="PlaceHolderMain" runat="server"> <table border="1" cellpadding="4" cellspacing="0" style="font-size:12"> <tr> <td>Site Title:</td> <td><asp:Label ID="lblSiteTitle" runat="server" /></td> </tr> <tr> <td>Site ID:</td> <td><asp:Label ID="lblSiteID" runat="server" /></td> </tr> </table> </asp:Content> <asp:Content ID="PageTitle" contentplaceholderid="PlaceHolderPageTitle" runat="server"> Hello World </asp:Content> <asp:Content ID="PageTitleInTitleArea" runat="server" contentplaceholderid="PlaceHolderPageTitleInTitleArea" > The Quintessential 'Hello World' of Application Page </asp:Content>

_ Tạo trang ApplicationPage2.aspx (Viết code behind) <%@ Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Assembly Name="CustomApplicationPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ae3824888e1d5225" %> <%@ Page Language="C#" MasterPageFile="~/_layouts/application.master" Inherits="CustomApplicationPages.ApplicationPage2" EnableViewState="false" EnableViewStateMac="false" %> <%@ Import Namespace="Microsoft.SharePoint" %> <asp:Content ID="Main" contentplaceholderid="PlaceHolderMain" runat="server"> <table border="1" cellpadding="4" cellspacing="0" style="font-size:12"> <tr> <td>Site Title:</td> <td><asp:Label ID="lblSiteTitle" runat="server" /></td> </tr> <tr> <td>Site ID:</td> <td><asp:Label ID="lblSiteID" runat="server" /></td> </tr> </table> </asp:Content> <asp:Content ID="PageTitle" contentplaceholderid="PlaceHolderPageTitle" runat="server"> Hello World </asp:Content> <asp:Content ID="PageTitleInTitleArea" runat="server" contentplaceholderid="PlaceHolderPageTitleInTitleArea" > Application Page 2: 'Hello World' with code behind </asp:Content>

_ Tạo file ApplicationPage2.cs using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; namespace CustomApplicationPages { public class ApplicationPage2:LayoutsPageBase

Page 4: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

{ protected Label lblSiteTitle; protected Label lblSiteID; protected override void OnLoad(EventArgs e) { SPSite siteCollection = this.Site; SPWeb site = this.Web; lblSiteTitle.Text = site.Title; lblSiteID.Text = site.ID.ToString().ToUpper(); } } }

_ Trong file elements.xml ta thêm đoạn code sau : <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <!-- Add Command to Site Actions Dropdown --> <CustomAction Id="HelloApplicationPage" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="2000" Title=" Application Page 1" Description="Getting up and going with inline code"> <UrlAction Url="~site/_layouts/CustomApplicationPages/ ApplicationPage1.aspx"/> </CustomAction> <!-- Add Command to Site Actions Dropdown --> <CustomAction Id="CustomApplicationPage1" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="2001" Title="Application Page 2" Description="Moving to code behind"> <UrlAction Url="~site/_layouts/CustomApplicationPages/ApplicationPage2.aspx"/> </CustomAction> </Elements>

PHẦN 1 : TÌM HIỂU WEB PART VÀ CÁC PHƯƠNG THỨC

1. Viết Web Part trình bày chuỗi Hello Word! trên trang .aspx và trong vùng

của Web part.

2. Viết Web Part trình bày thời gian thực hiện trong mỗi phương thức như: CreateChildControl, OnPreRender, OnLoad …

3. Viết Web Part trình bày giao diện của trang đăng ký người dùng với hầu

hết các điều khiển .

PHẦN 2 : TÌM HIỂU ASP.NET SERVER CONTROL TRONG WEB PART

1. Thêm danh sách phần tử vào điều khiển DropDownList và ListBox.

2. Mỗi khi người sử dụng chọn giá trị trên hai đều khiển này thì in ra giá trị

chọn trên điều khiển vào Label hay Literal.

3. Tạo Web Part dạng đăng nhập, cho phép chọn vào hai tuỳ chọn SharePoint List hay SQL Server. Nếu người sử dụng chọn vào SQL Server thì

bạn trình bày khung cho phép sử dụng nhập Server Name, Database Name,

User Name và Password; ngược lại thì cho phép nhập tên List. Lưu ý: Tất cả

giá trị trong bài tập này là hard code và viết trên server side

Page 5: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

//Tìm hiểu về các validation 4.Thiết kế trang Web Part, bao gồm email, password và nút OK, bạn chỉ cho

phép người sử dụng submit về server khi nhập email hợp lệ và password

không rỗng.

5.Thiết kế Web part trình bày tập dữ liệu từ đối tượng DataTable chứa danh sách người sử dụng bao gồm mã, tên sinh viên bằng điều khiển DataGrid;

trên điều khiển điều khiển DataGrid bạn cho phép người sử dụng nhập điểm

sinh viên (0 đến 10). Khi người sử dụng nhấn nút Save, bạn in ra danh sách

sinh viên với số điểm nhập vào.

6.Thiết kế trang Web Part, bao gồm email, password, nút OK và nút Cancel,

bạn chỉ cho phép người sử dụng submit về server khi nhập email hợp lệ và

password không rỗng. Khi người sử dụng nhấn nút Cancel thì dữ liệu đã nhập trên email, password sẽ bị xoá.

PHẦN 3 : TÌM HIỂU KHAI BÁO VÀ SỬ DỤNG THUỘC TÍNH

1. Thiết kế trang Web Part, bao gồm thuộc tính tên và mã của List, mặc định

của hai thuộc tính này là rỗng, sau khi người sử dụng nhập tên và mã vào TextBox và nhấn nút Save. Lần sau bạn mở lại trang Web thì TextBox sẽ

trình bày gía trị của thuộc tính của lần lưu cuối cùng.

2.Thiết kế Web part, bao gồm thuộc tính tên và mã của List, mặc định của hai thuộc tính này là rỗng, cho phép người sử dụng nhập gía trị cho hai

thuộc tính này trong ToolPart của SharePoint.

3.Thiết kế Web Part cho phép liệt kê tất cả các thuộc tính của List ra màn hình.

PHẦN 4 : LIÊN HỆ GIỮA TOOLPART VÀ WEBPART

1.Thiết kế Web part, bao gồm thuộc tính tên và mã của List, mặc định của hai thuộc tính này là rỗng, cho phép người sử dụng nhập gía trị cho hai

thuộc tính này trong ToolPart do bạn khai báo bằng hai điều khiển TextBox.

2.Tiếp theo câu trên, bạn khai báo phương thức cho phép điền gía trị của

thuộc tính vào hai điều khiển TextBox trong ToolPart.

3.Thiết kế Web part, bao gồm thuộc tính tên và mã của List, mặc định của

hai thuộc tính này là rỗng, cho phép người sử dụng chọn gía trị cho hai thuộc

tính này trong ToolPart do bạn khai báo bằng hai điều khiển DropDownList. Mỗi khi người sử dụng kích hoạt ToolPart, bạn phải chọn gía trị trên hai điều

khiển DropDownList ứng với gía trị của hai thuộc tính.

PHẦN 5 : LÀM VIỆC VỚI SPWEB VÀ SPCONTROL 1.Viết Web part cho phép liệt kê danh sách Site Template của Site hiện hành

trên DropDownList, mỗi khi người sử dụng chọn Site Template thì in ra ID và

Name trên điều khiển Literal.

2.Viết Web part cho phép liệt kê danh sách Web part của Site hiện hành trên DropDownList của Site, mỗi khi người sử dụng chọn Web part thì in ra thông

tin trên điều khiển Literal.

Page 6: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

3.Viết Web part cho phép người sử dụng cung cấp các thông tin cần thiết để

tạo một Site.

PHẦN 6 : LÀM VIỆC VỚI USER VÀ GROUP

1.Viết Web part cho phép liệt kê danh sách Group của Site hiện hành trên

DropDownList của Site, mỗi khi người sử dụng chọn Group thì in ra thông tin

của Group này trên điều khiển Literal.

2.Viết Web part cho phép liệt kê danh sách Group của Site hiện hành trên

DropDownList của Site, mỗi khi người sử dụng chọn Group thì in ra danh

sách người sử dụng trên điều khiển DropDownList khác.

3.Viết Tool part cho phép người dùng sử dụng được Web part nếu Group của

họ được chọn trong ToolPart. Ví dụ, nếu Administrator chọn Contributor thì

những người sử dụng thuộc nhóm này có thể sử dụng được Web part (chỉ cần có nút OK).

PHẦN 6 : LÀM VIỆC VỚI LIST VÀ VIEW

1.Thiết kế Web part, bao gồm thuộc tính tên và mã của List, mặc định của

hai thuộc tính này là rỗng, cho phép người sử dụng chọn gía trị cho hai thuộc tính này trong ToolPart do bạn khai báo bằng điều khiển DropDownList. Mỗi

khi người sử dụng kích hoạt ToolPart, bạn phải chọn gía trị trên hai điều

khiển DropDownList ứng với gía trị của hai thuộc tính.

2.Thiết kế Web part, bao gồm thuộc tính tên và mã của List; thuộc tính tên

và mã của View; mặc định của 4 thuộc tính này là rỗng, cho phép người sử

dụng chọn gía trị của List này trong ToolPart (do bạn khai báo bằng điều

khiển DropDownList). Mỗi khi người sử dụng thay đổi List thì danh sách View của List đó sẽ cập nhật vào điều khiển DropDownList thứ hai.

Khi người sử dụng kích hoạt ToolPart, bạn phải chọn gía trị trên hai điều

khiển DropDownList ứng với gía trị của hai thuộc tính List và View.

3.Viết Web Part cho phép trình bày dữ liệu của List đã chọn trong ToolPart,

bạn cần kiểm tra List nếu chúng đã bị xoá và tạ mới trở lại cùng tên (mở

rộng Web Part này cho trường hợp View, Field tồn tại trong List hay không)?

4.Thiết kế Web part cho phép người sử dụng chọn List, sau đó liệt kê danh sách các List khác có cột Lookup vào điều khiển DropDownList thứ hai.

5.Thiết kế Web part cho phép tạo ra List và View mặc định của nó khi người

sử dụng nhấn nút Create.

6.Viết WebPart cho phép tự động tạo List với cấu trúc nào đó khi người sử

dụng kéo WebPart vào trang ASP.NET của SP

7.Viết WebPart cho phép trình bày danh sách ContentType của List trong

MOSS2007

PHẦN 7 : KHÁM PHÁ FIELD VÀ DATATYPE

1.Thiết kế Web part cho phép người sử dụng liệt kê danh sách field và kiểu dữ liệu của chúng thuộc List được chọn trong ToolPart.

Page 7: Bai Tap Sharepoint

CÁC KỸ THUẬT INTERNET NÂNG CAO ĐẶNG THANH MINH

2.Thiết kế Web part cho phép người sử dụng liệt kê danh sách field và gía trị

mặc định cùng với các thuộc tính khác của List đã chọn trong Toolpart.

3.Thiết kế Web part để hiển các ASP.NET Control ứng với kiểu dữ liệu cho

phép người sử dụng nhập dữ liệu tương ứng.

PHẦN 8 : LÀM VIỆC VỚI WEB PART CONNECTION 1. Viết Web part cho phép cài đặt Web Part Connection trên thực đơn khi

chọn chế độ Modify Shared Web Part

2.Tiếp theo Web part trên, bạn cài đặt radio button trên mỗi item của Web part, mỗi khi người sử dụng chọn vào radio button, web part được kết nối sẽ

trình bày dữ liệu theo item bạn đã chọn.

PHẦN 9 : LÀM VIỆC VỚI ASP.NET CONTROLS VỚI LIST VÀ VIEW 1. Viết Web Part cho phép trình bày danh sách item trên điều khiển DataGrid

từ List cho trước và cho phép người sử dụng sắp xếp chúng theo header

2.Viết Web Part cho phép trình bày danh sách item trên điều khiển DataGrid

từ View cho trước và cho phép người sử dụng phân trang

3. Khai báo Tool part liệt kê danh sách các Field trong View trên điều khiển

ListBox thứ nhất rồi cho phép người sử dụng chọn từng Item và thêm vào

điều khiển ListBox thứ hai.

4.Viết Tool Part cho phép trình bày phần đăng nhập của SQL Server và

SharePoint. Nếu người sử dụng chon SharePoint thì bạn liệt kê danh sách

List trên điều khiển DropDownList thứ nhất, khi chọn tiếp tên List thì bạn liệt kê danh sách View trên điều khiển DropDownList thứ hai. Đối với trường hợp

SQL Server thì bạn yêu cầu người sử

dụng đăng nhập theo hai hình thức Windows Authenticate or SQL Server

Authenticate, mỗi khi đăng nhập thành công bạn liệt kê danh sách Table trên điều khiển DropDownList thứ nhất .