Microsoft Office SharePoint Server 2007的文件目錄結構
安裝了MOSS2007后,所有與SharePoint相關(guān)的文件都放在本地目錄C:\Program Files\Common Files\Microsoft Shared\web server extensions\12下面。
下面介紹一些主要的文件目錄。
1、 ISAPI目錄
此目錄下面存放的是SharePoint自帶的Web Services,我們也可以自定義Web Services封裝在SharePoint里面。自定義Web Services方法見(jiàn):Writing Custom Web Services for SharePoint Products and Technologies。
2、 Resources目錄
SharePoint有兩個(gè)資源文件夾,目錄分別為C:\Program Files\Common Files\MicrosoftShared\web serverextensions\12\CONFIG\Resources和C:\Program Files\Common Files\MicrosoftShared\web serverextensions\12\Resources,本地化工作主要是編寫(xiě)Resourses里的文件,網(wǎng)站如果顯示的一些標題或描述不符合我們的要求,那么可以通過(guò)修改資源文件里的
<Data Name="修改元素">
<Value>網(wǎng)站顯示的內容</Value>
</Data>
要引用資源文件里面的內容,一般通過(guò)$Resources:開(kāi)頭。
例如:<%$Resources:sps,LayoutPageZone_TopZone%>
其中:sps表示資源文件名,與sps.zh-CN.resx相對應。LayoutPageZone_TopZone表示sps.zh-CN.resx文件中的
<Data Name="LayoutPageZone_TopZone">
<Value>頂部區域</Value>
</Data>
節點(diǎn)。
注:一般不推薦修改所有C:\Program Files\Common Files\Microsoft Shared\web serverextensions\12目錄下的文件,因為這樣將給版本升級帶來(lái)問(wèn)題。要加入我們自定義的內容通過(guò)增加文件到相應的目錄下即可。比如這里我們可以增加一個(gè)資源文件,把我們要修改的元素放在里面。
3、 TEMPLATE目錄
這是一個(gè)最主要的目錄。子目錄介紹如下:
(1)、SiteTemplates目錄
放置各種網(wǎng)站定義模板。每個(gè)網(wǎng)站定義模板都會(huì )有一個(gè)ONET.XML文件,它位于 C:\Program Files\CommonFiles\Microsoft Shared\Web ServerExtensions\12\TEMPLATE\SiteTemplates\Site_Definition_Name\XML folder
ONET.XML有五個(gè)節:
1、NavBars:指定主頁(yè)的頂部導航和左部導航
2、ListTemplates:指定該站點(diǎn)可創(chuàng )建的各種列表(自定義列表、文檔庫、圖片庫等)
3、DocumentTemplates:指定在創(chuàng )建文檔庫時(shí)可以創(chuàng )建的文檔模板(Microsoft Office Word 文檔、Microsoft Office FrontPage 網(wǎng)頁(yè)、Microsoft Office Excel 電子表格等)
4、Configurations:指定站點(diǎn)在創(chuàng )建時(shí)默認生成的各種列表和模塊
5、Modules:指定站點(diǎn)中默認包含的Web部件庫
注意:修改ONET.XML后需要重新啟動(dòng)IIS,才可生效
實(shí)例:基于已有模板創(chuàng )建站點(diǎn)模板。
步驟:
1、打開(kāi)C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates目錄
2、復制粘貼一個(gè)SPS文件夾,改名為GASSPS
3、找到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\2052\XML目錄
4、在目錄中創(chuàng )建一個(gè)名為WEBTEMPGASSPS.XML的文件,把下列XML粘貼到文件中
<?xml version="1.0" encoding="utf-8"?>
<!-- _lcid="2052" _version="12.0.4518" _dal="1" -->
<!-- _LocalBinding -->
<Templates xmlns:ows="Microsoft SharePoint">
<Template Name="GASSPS" ID="10001">
<Configuration ID="0" Title="浙江天然氣模板" Hidden="FALSE" ImageUrl=""
Description="此模板用于初始化浙江天然氣網(wǎng)站。" >
</Configuration>
</Template>
</Templates>
5、重啟IIS(iisreset)
6、打開(kāi)創(chuàng )建站點(diǎn)頁(yè)面,在“選擇模板”節中多了一個(gè)“自定義”選項,下面就有我們剛添加的“浙江天然氣模板”。
(2)、THEMES目錄
放置各種網(wǎng)站主題。
實(shí)例:創(chuàng )建自定義的主題
步驟:
1、先找到 Theme 文件夾位置 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES
2、復制一個(gè) Theme 的文件夾如 CLASSIC 更改成自己要的名字如 GASTHEME
3、在文件夾中,將CLASSIC.INF 改成與自己文件夾相同的名字如 GASTHEME.INF
4、打開(kāi) GASTHEME.INF 將 title 改成與自己文件夾和文件名相同的名字如GASTHEME
5、找到 C:\Program Files\Common Files\Microsoft Shared\web serverextensions\12\TEMPLATE\LAYOUTS\2052\SPTHEMES.XML文件,復制并粘貼一個(gè)<Templates>元素,修改里面的內容如下:
<Templates>
<TemplateID>GASTHEME</TemplateID>
<DisplayName>天然氣主題</DisplayName>
<Description>天然氣主題將被應用</Description>
<Thumbnail>images/thwheat.gif</Thumbnail>
<Preview>images/thwheat.gif</Preview>
</Templates>
上面兩個(gè)圖片是參考Wheat主題的圖片,也可以改成自己的圖片,圖片存放位置 C:\Program Files\CommonFiles\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES文件夾下
6、打開(kāi)“網(wǎng)站設置”中“網(wǎng)站主題”,就可以找到我們剛剛添加的GASTHEME主題了。
(3)、LAYOUTS目錄
網(wǎng)站所有的頁(yè)面功能(網(wǎng)址后面有 _layouts的頁(yè)面)都集中于此目錄下面(除了模板中的Default.aspx以及某類(lèi)型List相關(guān)頁(yè)面)??梢蕴砑幼约旱墓δ茼?yè)面,方法:
(4)、ADMIN目錄
管理中心的頁(yè)面功能集中此目錄下面。
(5)、CONTROLTEMPLATES目錄
放置各種服務(wù)器控件。
(6)、IMAGES目錄
放置網(wǎng)站用到的主要圖片,如網(wǎng)站Logo等。
(7)、FEATURES目錄
放置各種Feature,在MOSS 2007中feature功能之強大超乎想象,可以說(shuō)對一個(gè)已有的網(wǎng)站功能性的增強最后多數都要通過(guò)feature來(lái)實(shí)現。包括母版頁(yè)、內容頁(yè)以及文檔庫等都是通過(guò)Feature來(lái)實(shí)現的。
實(shí)例1:使用Feature自定義母版頁(yè)。
步驟:
1、 打開(kāi)Feature目錄C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES
2、 新建一個(gè)GASMASTERPAGES文件夾
3、 在GASMASTERPAGES文件夾下,新建Feature.xml文件,將下列內容粘貼到文件中
<!-- _lcid="1033" _version="12.0.4518" _dal="1" -->
<!-- _LocalBinding -->
<Feature Id="cbdddc58-c0e1-4d64-99bc-071379a910f3"
Title="Gas Master"
Description=""
Version="12.0.0.0"
Scope="Site"
Hidden="False"
DefaultResourceFile="core"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="ProvisionedFiles.xml"/>
</ElementManifests>
</Feature>
在這個(gè)XML文件中,以下關(guān)于Featrue的metadata 包含在Featrue 元素中。(更詳細的信息請參閱Feature.xml Files)
ID: 一個(gè)GUID,用于唯一標識這個(gè)Feature,可以通過(guò)VS生成
Title:Feature 的名字,可以在網(wǎng)站內關(guān)于Site Featrues的頁(yè)面中看到。
Description:對description的描述。
Version:Feature的版本;
Scope:其值可以是Web或Site,它指明了這個(gè)Feature是應用于整個(gè)的Site Collection還是僅僅用于單獨的一個(gè)子站點(diǎn)。
Hidden:值可以是True或False.該設置指定了這個(gè)Feature是否在Site Feature頁(yè)面上顯示。
DefaultResourceFile: 資源文件名字,Feature依賴(lài)它提供其它附加的配置信息。
Feature.xml文件中的<ElementManifests>元素,這個(gè)元素包含了另一個(gè)XML文件的位置,而這個(gè)文件包含的<Elemnets>的內容是Feature要實(shí)現的。
<ElementManifest>元素指明了要使用一個(gè)名為ProvisionedFiles.xml的文件,以下是該文件的<Elements>元素內容。
4、 在GASMASTERPAGES文件夾下,新建ProvisionedFiles.xml文件,將下列內容粘貼到文件中
<!-- _lcid="1033" _version="12.0.4518" _dal="1" -->
<!-- _LocalBinding -->
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="OSGMasterPages" Url="_catalogs/masterpage" Path="MasterPages" RootWebOnly="TRUE">
<File Url="Gasmaster.master" Type="GhostableInLibrary">
<Property Name="ContentType" Value="" />
<Property Name="PublishingPreviewImage"Value="~SiteCollection/_catalogs/masterpage/$Resources:core,Culture;/PreviewImages/Gas.png,~SiteCollection/_catalogs/masterpage/$Resources:core,Culture;/PreviewImages/Gas.png" />
<Property Name="MasterPageDescription" Value="" />
</File>
</Module>
<ModuleName="PublishingLayoutsPreviewImages" Url="_catalogs/masterpage"IncludeFolders="??-??" Path="" RootWebOnly="TRUE">
<File Url="Gas.png" Name="Preview Images/Gas.png" Type="GhostableInLibrary">
</File>
</Module>
</Elements>
5、 新建MasterPages和zh-cn文件夾,在MasterPages文件夾中新建Gasmaster.master文件,在zh-cn文件夾中放入一張模板頁(yè)的圖片Gas.png
6、 重啟IIS(iisreset)
7、 在SharePoint服務(wù)器上運行CMD.exe,
輸入命令切換目錄:cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
安裝Feature輸入命令:stsadm -o installfeature -filename GASMASTERPAGES
激活Feature輸入命令:stsadm -o activatefeature -filename GASMASTERPAGES\feature.xml -url http://portal:8000
8、 打開(kāi)“網(wǎng)站設置”中“母版頁(yè)”,就可以看到我們剛剛添加的Gasmaster.master母版。
參考連接:Create a Feature: Add Custom Master Pages to your Site Collections
實(shí)例2:使用Feature定義站點(diǎn)中的菜單項
包括其中第一個(gè)CustomAction在“網(wǎng)站設置”頁(yè)面中的“外觀(guān)”標題下創(chuàng )建了一個(gè)自定義鏈接.第二個(gè)CustomAction在頁(yè)面的“網(wǎng)站操作”菜單下增加了一個(gè)用戶(hù)自定義菜單項.第三個(gè)CustomAction在文檔庫的“新建”下拉菜單下創(chuàng )建了一個(gè)自定義菜單項.第四個(gè)CustomAction在文檔庫的“操作”下拉菜單下創(chuàng )建了一個(gè)自定義菜單項。
步驟:
1、創(chuàng )建一個(gè)Feature.xml文件
在Features目錄下創(chuàng )建一個(gè)目錄例如MyMenu,在其中創(chuàng )建一個(gè)Feature.xml文件,文件內容如下:
<?xml version="1.0" encoding="utf-8" ?>
<!-- _lcid="1033" _version="12.0.4017" _dal="1" -->
<!-- _LocalBinding -->
<Feature Id="6098EC11-8128-409A-8D2C-414E93F67DD4"
Title="$Resources:GasMenu,MenuTitle;"
Description="$Resources:GasMenu,MenuDescription;"
Version="12.0.0.0"
Scope="Web"
Hidden="FALSE"
DefaultResourceFile="customDocumentLibrary"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="LightUp.xml" />
</ElementManifests>
</Feature>
2、在C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\Resources文件夾中新建GasMenu.zh-CN.resx文件,輸入以下內容
<?xml version="1.0" encoding="utf-8"?>
<!-- _lcid="2052" _version="12.0.4518.1016" _dal="1" -->
<!-- _LocalBinding -->
<root>
<Data Name="MenuTitle">
<Value>天然氣菜單項</Value>
</Data>
<Data Name="MenuDescription">
<Value>添加了四個(gè)菜單項,分別為在“網(wǎng)站設置”頁(yè)面中的“外觀(guān)”標題下創(chuàng )建了一個(gè)自定義鏈接、在頁(yè)面的“網(wǎng)站操作”菜單下增加了一個(gè)用戶(hù)自定義菜單項、在文檔庫的“新建”下拉菜單下創(chuàng )建了一個(gè)自定義菜單項和在文檔庫的“操作”下拉菜單下創(chuàng )建了一個(gè)自定義菜單項。</Value>
</Data>
</root>
3、創(chuàng )建Feature的描述文件LightUp.xml
文檔的內容如下:
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!-- create command link site setting page -->
<CustomAction Id="SiteSettings" GroupId="Customization"
Location="Microsoft.SharePoint.SiteSettings"
Sequence="106"
Title="Custom Site Setting Command">
<UrlAction Url=""/>
</CustomAction>
<!-- Add command to site action dropdow -->
<CustomAction Id="SiteActionsToolbar"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="Custom Action"
Description="custom site action"
ImageUrl="/_layouts/images/ACG16.GIF">
<UrlAction Url=""/>
</CustomAction>
<!-- Document Library Toolbar New Menu DropDown -->
<CustomAction Id="DocLibNewToolbar"
Registrati
RegistrationId="101"
GroupId="NewMenu"
Rights="ManagePermissions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="Custom New Command"
Description="custom new command "
ImageUrl="/_layouts/images/ACG16.GIF">
<UrlAction Url=""/>
</CustomAction>
<!-- Document library Toolbar Actions Menu Dropdown -->
<CustomAction Id="DocLibActionsToolbar"
Registrati
RegistrationId="101"
GroupId="ActionsMenu"
Rights="ManagePermissions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1000"
Title="Command on Document Library"
Description=" command on document library"
ImageUrl="/_layouts/images/ACG16.GIF">
<UrlAction Url=""/>
</CustomAction>
</Elements>
4、重啟IIS(iisreset)
5、在SharePoint服務(wù)器上運行CMD.exe,
輸入命令切換目錄:cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
安裝Feature輸入命令:stsadm -o installfeature -filename MyMenu
激活Feature輸入命令:stsadm -o activatefeature -filename MyMenu\feature.xml -url http://portal:8000
疑問(wèn):在Feature.xml中,雖然把編碼方式改為encoding="GB2312",但是使用漢字都不能識別出來(lái),可是在LightUp.xml文件中雖然編
方式為encoding="UTF-8",但是使用漢字都能識別出來(lái),感覺(jué)很奇怪。
實(shí)例3:使用Feature創(chuàng )建用戶(hù)控件。
請看KaneBoy的 DelegateControl:SharePoint Server 2007內置的一個(gè)“用戶(hù)控件包裝器”
實(shí)例4:使用Feature創(chuàng )建自定義的文檔庫。
請看宋振乾的 如何在MOSS2007中創(chuàng )建一個(gè)定制的 Document Library Feature
MOSS2007中所有的頁(yè)面都是由母版頁(yè)(Master Pages)和內容頁(yè)(Content Pages)組成, MOSS 2007中的MasterPage和在A(yíng)SP.net中使用的Master Page是一樣的.它們定義了網(wǎng)站頁(yè)面的基本布局. Pagelayout的概念類(lèi)似于A(yíng)SP.net 2.0中的Content Page,它指向一個(gè)Master Page并且實(shí)現ContentPlaceholders 的內容.下面是一篇介紹ASP.NET 2.0中母版頁(yè)組成結構的很好的入門(mén)文章。
Master Your Site Design with Visual Inheritance and Page Templates
母版頁(yè)允許多級嵌套,所有在sharepoint中的站點(diǎn)默認都使用default.master這個(gè)母版頁(yè)。這個(gè)文件位于
C:\ProgramFiles\Common Files\Microsoft Shared\web serverextensions\12\TEMPLATE\GLOBAL這個(gè)目錄下。default.master母版頁(yè)是全局母版頁(yè),任何對該頁(yè)面的修改將影響所有的sharepoint站點(diǎn),而且會(huì )影響管理中心站點(diǎn)。
sharepoint的母版頁(yè)中定義了許多占位符(content placeholder)。這些占位符定義了頁(yè)面的不同區域,開(kāi)發(fā)人員可以定制占位符最
顯示給用戶(hù)的內容。SharePoint中定義的占位符中多數并不允許用戶(hù)重寫(xiě)其內容。多數的sharepoint頁(yè)面都包括了PlaceHolderMain這個(gè)占位符,它控制了頁(yè)面的主要內容部分,典型情況下,該占位符將包括多個(gè)web部件區域,用來(lái)拖webpart進(jìn)去。但對于開(kāi)發(fā)人員來(lái)說(shuō),可以用來(lái)放置想要放的任何東西。
下面列出了sharepoint的母版頁(yè)中定義的所有占位符:(詳細位置請對照default.master)
1、<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigationSiteMap" runat="server" />
放置連接到頂級站點(diǎn)的超連接
2、<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigation" runat="server" />
放置頂部一行內容。
3、<asp:ContentPlaceHolder ID="PlaceHolderSiteName" runat="server" />
放置站點(diǎn)名稱(chēng)
4、<asp:ContentPlaceHolder ID="PlaceHolderSearchArea" runat="server" />
放置搜索框
5、<asp:ContentPlaceHolder ID="PlaceHolderHorizontalNav" runat="server" />
放置水平導航欄
6、<asp:ContentPlaceHolder ID="PlaceHolderTopNavBar" runat="server" />
放置水平導航欄一行內容。
7、<asp:ContentPlaceHolder ID="WSSDesignConsole" runat="server" />
頁(yè)面編輯控件,當頁(yè)面進(jìn)入編輯頁(yè)面模式時(shí)使用(當我們點(diǎn) Site Actions, Edit Page后)
8、<asp:ContentPlaceHolder ID="SPNavigation" runat="server" />
在 Windows SharePoint Services中默認為空,用于附加的頁(yè)面編輯控件
9、<asp:ContentPlaceHolder ID="PlaceHolderPageImage" runat="server" />
左側的圖片
10、<asp:ContentPlaceHolder ID="PlaceHolderTitleLeftBorder" runat="server" />
Title區左側邊框
11、<asp:ContentPlaceHolder ID="PlaceHolderTitleBreadcrumb" runat="server" />
TitleBreadcrumb頁(yè)面導航區
12、<asp:ContentPlaceHolder ID="PlaceHolderPageTitleInTitleArea" runat="server" />
Breadcrumb區下面的標題
13、<asp:ContentPlaceHolder ID="PlaceHolderMiniConsole" runat="server" />
一個(gè)放置頁(yè)面級命令的地方,比如在WIKI站點(diǎn)里的Edit Page, History, Incoming Links
14、<asp:ContentPlaceHolder ID="PlaceHolderTitleRightMargin" runat="server" />
Title區右側空白
15、<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaSeparator" runat="server" />
TitleAreaSeparator區
16、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarDataSource" runat="server" />
左側導航區數據源
17、<asp:ContentPlaceHolder ID="PlaceHolderCalendarNavigator" runat="server" />
在頁(yè)面中有日歷時(shí)為其顯示一個(gè)日期選擇框
18、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarTop" runat="server" />
左側導航區上面的導航區
19、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBar" runat="server" />
左側導航區
20、<asp:ContentPlaceHolder ID="PlaceHolderLeftActions" runat="server" />
左側導航區下面的動(dòng)作區
21、<asp:ContentPlaceHolder ID="PlaceHolderNavSpacer" runat="server" />
左側導航區的寬度
22、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarBorder" runat="server" />
左側導航區的邊框元素
23、<asp:ContentPlaceHolder ID="PlaceHolderBodyLeftBorder" runat="server" />
頁(yè)面body的邊框元素
24、<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server" />
頁(yè)面描述區
25、<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server" />
頁(yè)面主體
26、<asp:ContentPlaceHolder ID="PlaceHolderBodyRightMargin" runat="server" />
頁(yè)面body的右邊空白
27、<asp:ContentPlaceHolder ID="PlaceHolderFormDigest" runat="server"/>
這是頁(yè)面中必備的 "form digest"安全組件。
28、<asp:ContentPlaceHolder ID="PlaceHolderUtilityContent" runat="server" />
頁(yè)面底部需要的一塊特殊內容
29、<asp:ContentPlaceHolder ID="PlaceHolderBodyAreaClass" runat="server" />
附加在頁(yè)面頂部的body中的樣式
30、<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaClass" runat="server" />
TitleArea附加的樣式
31、<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server" />
提供給內容頁(yè)添加所有可以放在<head>區域的內容,如CSS、JS等。
Microsoft Office SharePoint Server 2007的CSS應用
CSS在SharePoint頁(yè)面中的應用順序
1、 CORE.CSS
2、
http://www.heathersolomon.com/blog/archive/2006/10/27/sp07cssoptions.aspx
對頁(yè)面修改可以通過(guò)SharePoint Designer(簡(jiǎn)稱(chēng)SPD)打開(kāi)整個(gè)站點(diǎn)進(jìn)行修改,也可以使用其他一些文本編輯器直接對物理文件進(jìn)行
改。
當我們打開(kāi)一個(gè)Sharepoint頁(yè)面時(shí),Sharepoint將首先判斷此頁(yè)面(母版頁(yè)和內容頁(yè))是否被破壞了結構(被SPD或其他工具修改過(guò)
被修改了部分將保存在Sharepoint的數據庫中),如果是就從數據庫中找到該頁(yè)面的將其顯示出來(lái),如果沒(méi)有,則從Sharepoint服務(wù)
的C:\Program Files\Common Files\Microsoft Shared\web server extensions\12目錄中找到相應物理文件來(lái)顯示頁(yè)面,
default.master及defaultlayout.aspx介紹
附:其他相關(guān)內容連接。
創(chuàng )建一個(gè)精簡(jiǎn)的母版頁(yè)
關(guān)于MOSS 2007的Content Types
關(guān)于MOSS 2007 and WSS 3.0 Master Page
如何在MOSS 2007 中將一個(gè)Document Library 增加到站點(diǎn)定義中
MOSS項目開(kāi)發(fā)步驟
站點(diǎn)定義和站點(diǎn)模板
轉自:http://www.cnblogs.com/lizhimin/archive/2007/04/20/720796.html
聯(lián)系客服