sharepoint站點Feature的定製與開發

 

對於Feature,瞭解sharepoint的人應該都很熟悉了,不但控制着sharepoint上大部分功能的運用,還可以做功能的擴展,好處就在於管理非常的方便。雖然對於Feature的開發有很多,如用Feature定製功能菜單,用戶控件方式的webpart等等,但用Feature的激活與停止功能,來執行後臺代碼還是挺有用的,下面就簡單的介紹這個例子。
第一步:
打開VS,創建一個類庫的項目,命名爲“FeatureToRunCode”,
Class1.cs命名爲MyCode.cs。添加引用Microsoft.sharepoint.dll。添加引用using Microsoft.SharePoint;並在MyCode類繼承SPFeatureReceiver。
整個MyCode.cs代碼如下

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace FeatureToRunCode
{
    public class MyCode:SPFeatureReceiver
    {

        public override void FeatureActivated(SPFeatureReceiverProperties properties)//當激活時修改網站的標題爲My Feature is working 
        {
            SPWeb web = (SPWeb)properties.Feature.Parent;
            web.AllowUnsafeUpdates = true;
            web.Title = "My Feature is working ";
            web.Update();
            web.Close();

 

        }
        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)//當激活時修改網站的標題爲首頁
        {
            SPWeb web = (SPWeb)properties.Feature.Parent;
            web.AllowUnsafeUpdates = true;
            web.Title = "首頁";
            web.Update();
            web.Close();
        }
        public override void FeatureInstalled(SPFeatureReceiverProperties properties)//當Feature被安裝時,
        {

           //當Feature被安裝時,執行代碼
        }
        public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
        {

          //當Feature被卸載時,執行代碼

        }

    }
}
記得加入強名稱,編譯生成FeatureToRunCode.dll。並用Reflector.exe獲取
程序集名:FeatureToRunCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=146ae474b0fd2221
類名:FeatureToRunCode.MyCode
將在後面的feature.xml文件中被用到。
第二步:
開始創建Feature文件。在FeatureToRunCode項目中,創建文件夾Features,在文件夾Features目錄下創建文件夾FeatureToRunCode,在FeatureToRunCode文件夾下創建feature.xml.
feature.xml的代碼如下:

<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
         Id="E46240B7-8050-47e7-8A12-586C291B346C"
         Title="FeatureToRunCode"
         Description="用feature管理運行後臺代碼"
         Hidden="FALSE"
         Scope="Web"
         ReceiverClass="FeatureToRunCode.MyCode"
         ReceiverAssembly="FeatureToRunCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=146ae474b0fd2221"
         >

</Feature>

說明:
在這個XML文件中,以下關於Featrue的metadata 包含在Featrue 元素中。(更詳細的信息請參閱Feature.xml Files
ID: 一個GUID,用於唯一標識這個Feature,可以通過VS生成
Title:Feature 的名字,可以在網站內關於Site Featrues的頁面中看到。
Description:對description的描述。
Version:Feature的版本;
Scope:其值可以是Web或Site,它指明瞭這個Feature是應用於整個的Site Collection還是僅僅用於單獨的一個子站點。
Hidden:值可以是True或False.該設置指定了這個Feature是否在Site Feature頁面上顯示。
DefaultResourceFile: 資源文件名字,Feature依賴它提供其它附加的配置信息。
ReceiverClass:爲程序集接收類。
ReceiverAssembly:爲接收程序集.

保存。這樣我們的代碼跟Feature文件就已經創建好了,接下來就是佈署了。
第三步:
佈署Feature。先將FeatureToRunCode.dll拖入到GAC裏,即c:/WINDOWS/assembly目錄下。
再到項目目錄下的Features目錄下,將FeatureToRunCode文件夾複製到C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES目錄下。
在SharePoint服務器上打開命令行
 
輸入命令切換目錄:cd C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/BIN
安裝Feature輸入命令:stsadm -o installfeature -filename FeatureToRunCode/feature.xml。
不要忘了要iisreset一下服務器。
OK,Feature的部署與開發已經完成。
第四步:
查看成果。打開網站,進入網站設置,進入網站管理---->網站功能,可以看到增加了一個FeatureToRunCode的Feature功能,如下圖:


嗯,是不錯,趕緊點擊一下激活按鈕,有點激動,好在,代碼發揮作用了,網站的標題發生了變化了,變成My Feature is Working了,如下圖:



至此,Feature管理後臺代碼已經完成了,還不錯吧,那就趕快試試看,同時發揮一下想像力,在這裏可以實現很多的功能......

發佈了19 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章