SharePoint Pages(1)之SharePoint页面体系架构
[開篇]最近一段時間在研究SharePoint技術(shù),在內(nèi)網(wǎng)建設(shè)了一個門戶的原型,做一些嘗試。由于一些需求要新建一些功能頁。開始使用SharePoint制作頁面,搞了半天才明白原來內(nèi)容頁不支持內(nèi)聯(lián)代碼,在Visual Studio里面搗鼓了半夜,也是不得要領(lǐng),遂決定要翻書學(xué)習(xí)。《SharePoint 2010 Development for Visual Studio 2010》是一本很不錯的書,怎奈我是英文太爛,努力閱讀,逐字查看,想想也是累的慌,尤其大概得其意,不如直接轉(zhuǎn)化,以饗網(wǎng)友,同時也是一個交流,如果有什么翻的有歧義的地方,請指正,謝謝。水平有限,自認(rèn)比翻譯軟件稍強(qiáng)點(diǎn)兒,各位將就,多多指點(diǎn)。
由于,當(dāng)前只是關(guān)注SharePoint Pages部分,所以只是翻譯了這一章,因?yàn)殚_發(fā)任務(wù)也比較繁多,其他章節(jié)以后放出,整個章節(jié)原書大概有42頁左右,所以會分成幾個部分放出,大多是原文逐句翻譯,見諒。
SharePoint Pages 簡介
SharePoint是在ASP.NET的基礎(chǔ)上構(gòu)建而成的,因此SharePoint用戶界面完全就是ASP.NET頁面。如果有ASP.NET開發(fā)經(jīng)驗(yàn)的人員可以很方便的定制和開發(fā)SharePoint界面,雖然SharePoint也提供了強(qiáng)大的用戶界面框架,但是也不會超出ASP.NET的功能規(guī)則。例如:假如用戶不喜歡默認(rèn)的導(dǎo)航結(jié)構(gòu)的WebPart頁,可以定制不同的模板;或者用戶希望將現(xiàn)有的ASP.NET應(yīng)用集成到SharePoint網(wǎng)站中。這些應(yīng)用場景都是需要在ASP.NET中進(jìn)行開發(fā)的,本章我們將會討論關(guān)于在ASP.NET中定制和開發(fā)SharePoint頁面。
SharePoint 架構(gòu)
??? 在學(xué)習(xí)如果和自定義和創(chuàng)建SharePoint頁面之前我們先來看看SharePoint體系結(jié)構(gòu)。當(dāng)目前為止我們已經(jīng)學(xué)會了在SharePoint的Web應(yīng)用程序中使用網(wǎng)站集功能,但是什么事Web應(yīng)用程序呢?在SharePoint中每個Web應(yīng)用程序都有一個自己獨(dú)立的IIS應(yīng)用程序池。應(yīng)用程序池是由IIS啟動的工作進(jìn)程,運(yùn)行時,返回SharePoint頁面,處理收到的IIS請求。
??? 在安裝過程中,SharePoint創(chuàng)建兩個IIS Web應(yīng)用程序。一個是默認(rèn)網(wǎng)站集,另一個是SharePoint管理中心網(wǎng)站。由于兩個Web應(yīng)用程序不能通過共享同一端口訪問,SharePoint管理中心網(wǎng)站通常是通過網(wǎng)站http://yourserverurl:portnumber訪問,另一個Web應(yīng)用程序的默認(rèn)站點(diǎn)則是通過默認(rèn)端口訪問的,網(wǎng)址為http://yourserverurl。SharePoint
Central Administration的web 站點(diǎn)端口去取決于機(jī)器的可用端口,如果想創(chuàng)建其他的網(wǎng)站集,則需要告訴SharePoint宿主Web應(yīng)用程序,或者你需要創(chuàng)建一個新的Web應(yīng)用程序來承載新的網(wǎng)站集。
??? 現(xiàn)在你可能像知道為什么需要創(chuàng)建多個Web應(yīng)用程序,而不是僅僅在一個Web應(yīng)用程序中創(chuàng)建所有站點(diǎn)的集合,創(chuàng)建一個新的Web應(yīng)用程序的關(guān)鍵原因是站點(diǎn)的內(nèi)容是獨(dú)立的。每創(chuàng)建一個新的Web應(yīng)用程序SharePoint就會創(chuàng)建一個新的內(nèi)容數(shù)據(jù)庫,所有的數(shù)據(jù)在相關(guān)網(wǎng)站與Web應(yīng)用程序的所有數(shù)據(jù)都存儲在這個內(nèi)容數(shù)據(jù)庫。如果網(wǎng)站集內(nèi)容增長過快,或由于內(nèi)容數(shù)據(jù)庫的存儲有限制,管理員可以將網(wǎng)站集存儲到另外一個新的內(nèi)容數(shù)據(jù)庫中,而同時繼續(xù)使用相同的Web應(yīng)用程序。這就是所謂的分割內(nèi)容數(shù)據(jù)庫。
???? 創(chuàng)建一個新的Web應(yīng)用程序第二個重要原因就是安全性。所有與Web有關(guān)的網(wǎng)站集執(zhí)行都在應(yīng)用程序池中發(fā)生的,如果你想確保一些代碼決不允許從同一進(jìn)程中的其他網(wǎng)站集上運(yùn)行,則可以使用不同的Web應(yīng)用程序創(chuàng)建第二個網(wǎng)站集,這將確保不同的應(yīng)用程序池執(zhí)行而兩個網(wǎng)站集。
???? 網(wǎng)站集,顧名思義,是一個SharePoint網(wǎng)站和網(wǎng)頁的集合。對于每一個網(wǎng)站集,你可以讓不同的人進(jìn)行管理,權(quán)限可以針對單獨(dú)的用戶或組進(jìn)行設(shè)置,讓他們單獨(dú)管理備份網(wǎng)站集,管理工作流程,網(wǎng)站模版,列表模版,內(nèi)容類型或網(wǎng)站列表。想想一個公司需要在SharePoint上構(gòu)建一個工程部門網(wǎng)站和營銷部門網(wǎng)站,它們不僅每個部門內(nèi)容有所不同,工程網(wǎng)站的用戶和營銷網(wǎng)站的用戶使用也會有不同。對于這種情況,您將創(chuàng)建一個分別創(chuàng)建一個工程網(wǎng)站和市場營銷網(wǎng)站。通過不同的權(quán)限設(shè)置可以限制或禁止?fàn)I銷人員訪問工程部門的工程網(wǎng)站。
??? 網(wǎng)站集SPSite對象代表服務(wù)器端對象模型或在網(wǎng)站的客戶端對象模型。就像前面所說一個網(wǎng)站集包含多個網(wǎng)站和網(wǎng)頁。
??? 因此,網(wǎng)站集和網(wǎng)站之間的區(qū)別是什么?網(wǎng)站集和網(wǎng)站從最終用戶角度來看,似乎是相似的,因?yàn)榫W(wǎng)站集始終有一個關(guān)聯(lián)的默認(rèn)站點(diǎn)。創(chuàng)建子網(wǎng)站從父網(wǎng)站繼承權(quán)限和導(dǎo)航結(jié)構(gòu)。有時候,可能不知道什么時候應(yīng)該創(chuàng)建新的子網(wǎng)站,什么時候創(chuàng)建一個新的網(wǎng)站集。如果您想了解更多這方面的主題,你可以通過以下鏈接閱讀MSDN上的文章:
http://technet.microsoft.com/en-us/library/cc742548.aspx
??? SPWeb對象代表一個SharePoint網(wǎng)站在服務(wù)器端的對象模型,以及客戶端對象模型的Web對象。如果圖10-1所示,一個Web應(yīng)用程序有兩個網(wǎng)站集對象的網(wǎng)站架構(gòu)。這兩個網(wǎng)站集都創(chuàng)建了一個默認(rèn)網(wǎng)站。當(dāng)然在你創(chuàng)建多個子站點(diǎn)時只有一個默認(rèn)網(wǎng)站。
?????????????????????????
?
????SharePoint體系中最后一個對象是網(wǎng)站或網(wǎng)站集的頁面。在SharePoint開發(fā)環(huán)境中有三種頁面類型:母版頁、網(wǎng)站頁面和應(yīng)用程序頁。
??? 母版頁為SharePoint頁面提供視覺和感觀的定義,例如母版頁定義的ribbon工具欄,Ajax腳本對象管理器和站點(diǎn)導(dǎo)航。每頁都會使用到的相同的頁面布局。 使用母版頁的頁面就是所謂的內(nèi)容頁。每個內(nèi)容頁的外觀都是由母版頁提供的。開發(fā)人員可以通過擴(kuò)展母版頁的可替換的占位符添加不同的內(nèi)容。圖10-2所示,母版頁與內(nèi)容頁之間的關(guān)系。在左邊的母版頁v4.master為Home.aspx和MyWebPartpage.aspx提供了共有的常見功能。
?
?????????????????????
?
???? SharePoint是構(gòu)建于ASP.NET之上的,因此母版頁也是繼承自ASP.NET母版頁,SharePoint使用的母版頁擴(kuò)展名也是.master。
???? 第二種頁面類型是網(wǎng)站頁。是通過SharePoint的操作界面或設(shè)計(jì)工具,比如SharePoint Designer定制網(wǎng)頁。最重要的,要了解所有的自定義網(wǎng)站頁都是存儲與SharePoint的內(nèi)容數(shù)據(jù)庫中的,所有網(wǎng)站頁都是由SharePoint Designer創(chuàng)建和定制的。為什么這么重要呢?想想如果一個SharePoint場景中有數(shù)千個頁面,如果每個頁面都經(jīng)過定制,然后所有網(wǎng)頁都從內(nèi)容數(shù)據(jù)庫中檢索并加載到內(nèi)存中。這會對性能和負(fù)載產(chǎn)生一定的影響。盡管如此,網(wǎng)站頁定制為用戶和管理員提供了極大的幫助,一個很好的例子就是網(wǎng)站的頂級頁面home.aspx。
?????????????????????
?
????最后,是應(yīng)用程序頁。和網(wǎng)站頁一樣,你可以在應(yīng)用程序頁上使用SharePoint用戶界面和功能以及內(nèi)容。應(yīng)用程序頁和網(wǎng)站頁之間最大的區(qū)別在于應(yīng)用程序頁面可以自定義并部署到Web服務(wù)器的文件系統(tǒng)(而不是內(nèi)容數(shù)據(jù)庫)。所有的應(yīng)用程序頁都存儲在SharePoint配置存儲的位置{SharePoint}\TEMPLATE\LAYOUTS。從網(wǎng)站訪問場中任何站點(diǎn)的應(yīng)用程序頁都在其中。如圖10-3所示Settings.aspx,這是每個站點(diǎn)授權(quán)用戶或網(wǎng)站集管理員都可以從SharePoint網(wǎng)站上訪問到的修改SharePoint配置的頁面。
??? 有了對這些SharePoint體系架構(gòu)的了解,在下一節(jié)中我們開始創(chuàng)建和定制SharePoint頁面。
總結(jié)
以上是生活随笔為你收集整理的SharePoint Pages(1)之SharePoint页面体系架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在银行存100万,能实现衣食无忧吗?关键
- 下一篇: 什么是BNF EBNF 巴科斯范式及其