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