Friday, March 2, 2012

Lesson 01: Basic of sharepoint webPart


-        Hiểu cơ bản về Webpart trong C# 2005, 2008
-        Bạn phải có một Web Application và 1 Top-level Site, tương ứng với cổng bạn tạo (ví dụ: mặc định là cổng 80).
-        Mở VS 2008
-        Tạo mới một Solution  WebPartSoln trênC:\TênFolder chứa Solution  (WebpartSoln)
-        Chép Microsoft.Sharepoint.Dll vào Solution.

Bài 1: Tạo Strong Name trong ứng dụng C#
-        Nơi tạo: có thể tạo trực tiếp trong Solution hoặc là tạo ở đâu rối chép vào Solution.
-        Mở Microsft Visual Studio 2008 -> Visual Studio 2008 -> Visual Studio 2008 Command Prompt
-        C:\Program Files\Microsoft Visual Studio 9.0\VC>cd /
-        C: \>sn –k  hkgsolution.snk
-        sau khi câu lệnh thực thi bạn có thể vào C:\>  để có thể nhanh thấy Strong Name (.snk) bạn vừa tạo.

-        Cắt hkgsolution.snk đến folder WebpartSoln

Bài 2: Hiểu dùng StrongName(hkgsolution.snk) trong C#
-        Thêm mới một Webpart Project vào WebpartSoln
-        Chọn Class Clibrary Project và đặt tên là HelloWebPart
Chọn Class1 từ Solution Explorer
Đổi tên thành HelloWebPart
-        Vào thư mục Properties trong Webpart Project mở file AssemblyInfo.cs
Di chuyển xuống phần cuối cùng của File AssemblyInfo.cs, thêm vào : (tùy với vị trí đặt Hkgsolution.snk).
[assemblyAssemblyKeyFile("hkgsolution.snk")]
[assemblyAssemblyKeyFile("..\\hkgsolution.snk")]
[assemblyAssemblyKeyFile("..\\.\\hkgsolution.snk")]

-        Build project ở chế độ Release.
-        Chắc chắn rằng Build thành công.


Bài 3: Mở Webpart Project
-        Tiếp tục thực hiện với HelloWebpart Project
-        Click vào References | R-Right | Add Reference
-        Chọn Microsoft.Sharepoint.Dll vào  thư mục của  WebPartSoln
-        Tiếp tục chọn Tab .NET | System.Web
Chắc chắn rằng bạn có khai báo đầy đủ các Namespace
using System.Web;
using System.Web.UI;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls;
Và HelloWebPart Class này phải kế thừa từ Webpart
    public class HelloWebPart:WebPart
{
//do things;
}
-        Build project ở chế độ Release.

Bài 4: Tếp tực thực hiện với Class HelloWebPart
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: Render
-        Và đánh vào như đoạn code bên dưới:
public class HelloWebPart:WebPart
    {
        protected override void Render(HtmlTextWriter writer)
        {
            writer.Write("Hello My HKG Web Part!");
            base.Render(writer);
        }
    }
-        Build project ở chế độ Release.

Bài 5: Hiểu cách để tạo ra Public Key Token như thế nào?
-        Mở Microsft Visual Studio 2008 -> Visual Studio 2008 -> Visual Studio 2008 Command Prompt
-        C:\>cd C:\ WebPartSoln\ HelloWebPart\bin\Release ; nhấn Endter
-        C:\ WebPartSoln\ HelloWebPart\bin\Release>sn –T  HelloWebPart.dll
[=>Đây là đường dẫn của Project chứa HelloWebPart.dll khi bạn build theo chế độ Release.
Tên của .dll trùng với tên namespace của Project]
-        Sau khi thành công thì nó sẽ tạo ra 1 public key Token, nhớ chuỗi ký tự số này.
-        C:\>cd C:\ WebPartSoln\ HelloWebPart\bin\Release>exit
Bài 6:
-        Tếp tực thực hiện với Class HelloWebPart
-        Chọn vào Project | Add New Item
-        Chọn Text File và đặt tên là HelloWebPart.dwp -> Nhấn Add
-        Mô tả nội dung của File này như sau:
<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
            <Title>Hello WebPart</Title>
            <Description>Hello WebPart</Description>
(1)<Assembly>HelloWorldPart, Version=2.0.0.0, Culture=neutral, (2)PublicKeyToken= ec47e7d9465cc36e </Assembly>
            (3)<TypeName> HelloWorldPart. HelloWorldPart</TypeName>
            <!-- Specify initial values for any additional base class or custom properties here. -->
</WebPart>
(1) Tên của file HelloWorldPart.dll, Version=2.0.0.0: Version trong File AssemblyInfo.cs
(2)  ec47e7d9465cc36e Public Key Token đã tạo ra ở bài 4
(3) Tên của  NameSpace.Tên của Class WebPart
-        Build Project ở chế độ Release

Bài 7: Hiểu để triển khai 1 Webpart đơn giản như thế nào?
-        Truy cập vào Sharepint Server by Remote DeskTop Connection
+       Vào: C:\inetpub\wwwroot\wss\VirtualDirectories\
+       R- Click vào Your Port (ví dụ: port 80) và Share thư mục với tên là Mysite
-        Trở về máy PC
+       Chọn Mysite folder | R –Click| Map Network Drive và chon Y  (nếu sử dụng máy ảo ><sử dụng win server đương dẫn sẽ là inetpub\wwwroot\wss\VirtualDirectories\ như hình bên dưới)
+       Copy HelloWorldPart.dll vào Y:\Bin folder (thư mục Mysite)
+       Copy Microsoft.Sharepoint.Dll vào Y:\Bin folder (thư mục Mysite)
+       Copy HelloWebPart.dwp vào Y:\Bin\wpcatalog folder (thư mục Mysite)
+       Trở về Top-level hoặc Sub Site
+       Click  Site Actions  | Edit page hyper link
+       Click  Add Web Part  và chọn Server libraries
+       Chọn vào HelloWorldPart và thấy xuất hiện lỗi?

Bài 8: Mô tả SafeControl trong Web.config
-        Chọn vào Y:\ và chọn Web.config
-        R-Click | chỉnh bằng NotePad
-        Di chuyển đến vị trí </ SafeControl>
-        Và mô tả < SafeControl> như trong Slide của bạn
-        Trở về Top-level hoặc Sub Site
-        Click  Site Actions  | Edit page hyper link
-        Click  Add Web Part  và chọn Server Gallery
-        Chọn HelloWorldPart và thấy lỗi?

Bài 9: tạo ra 1 sub Site mới từ Top Level Site của bạn:
-        Click  Site Actions  | Edit page hyper link
-        Click  Add Web Part  và chọn Server Gallery
-        Chọn HelloWorldPart và thấy lỗi?
-       

Bài 10: Hiểu thay đổi số Version trong C# như thế nào?
-        Mở  Folder Properties  và chỉnh sửa AssemblyInfo.cs
-        Thay đổi AssemblyInfo Version từ 1.0.0.0 thành 2.0.0.0
-        Build lại Project ở chế độ Release
-        Copy lại HelloWorldPart.dll vào Y:\Bin
-        Trở về Top-level hoặc Sub Site
-        Refesh lại page và thấy xuất hiện lỗi gì?
-        Giải quyết vấn đề như tếh nào?

Bài 11:
-        Add new Web Part vào WebPartSoln
-        Chọn Class Clibrary Project và đặt tên là OverrideMethodWebPart
-        Chọn Class Clibrary Project và đặt tên là HelloWebPart
-        Chọn Class1 từ Solution Exployere
-        Đổi tên thành OverrideMethodWebPart
-        Click vào References | R-Right | Add Reference
-        Chọn Microsoft.Sharepoint.Dll vào  thư mục của  WebPartSoln
-        Tiếp tục chọn Tab .NET | System.Web
-        Chắc chắn rằng bạn có khai báo đầy đủ các Namespace
using System.Web;
using System.Web.UI;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls;
-        Và OverrideMethodWebPart Class này phải kế thừa từ Webpart
  
 public class OverrideMethodWebPart:WebPart
{
}
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: Render
        protected override void Render(HtmlTextWriter writer)
        {
            writer.Write("Render!"+current time);
            base.Render(writer);
        }
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: OnPreRender
protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
        }   
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: CreateChildControls
protected override void CreateChildControls()
        {

            TextBox box = new TextBox();
      box.Text = "CreationChildControls" +        DateTime.Now.ToLongTimeString();
            this.Controls.Add(box);
            base.CreateChildControls();
        }
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: OnLoad

protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
        }
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: OnInit

protected override void OnInit(EventArgs e)
        {
          
            base.OnInit(e);
       {
}
               
-        Đánh protected override nhấn spacebar
-        Chọn phương thức: EnsureChildControls

protected override void EnsureChildControls()
        {
            base.EnsureChildControls();
        }

-        OverrideMethodWebPart.dwp
+       Project | Add New Item | Select Text File
+       Đặt tên: OverrideMethodWebPart.dwp
+       Copy nội dung từ  HelloWorldPart.dwp và thay đổi 1 vài thứ

-        Mở Properties Folder và chỉnh sửa file  AssemblyInfo.cs
Di chuyển xuống phần cuối cùng của File AssemblyInfo.cs, thêm vào : (tùy với vị trí đặt Hkgsolution.snk).
[assemblyAssemblyKeyFile("hkgsolution.snk")]
[assemblyAssemblyKeyFile("..\\hkgsolution.snk")]
[assemblyAssemblyKeyFile("..\\.\\hkgsolution.snk")]
-        Build project ở chế độ Release.
-        Triển khai Web part vào Web Site của bạn:
-        Copy OverrideMethodWebPart.dll vào thư mục Y:\Bin
-        Chỉnh sửa Web.config và mô tả lạ SafeControl Tag

0 comments:

Post a Comment