Question 128
You are designing a SharePoint 2010 solution that includes a custom site definition and a custom master page. The solution has the following three features:
.A hidden site-scoped feature named X that adds the custom master page to the Master Page gallery.
.A Web-scoped feature named Y with a feature receiver that sets the master page of the Web to the master page from feature X.
.A Web-scoped feature named Z with a feature receiver that populates the default.aspx file with sample content.
Any Web site that is created based on the solution’s custom site definition must have the master page and the sample content applied to it automatically. Your design must ensure that features X, Y, and Z can be activated in the proper order. Which approach should you recommend?
A. Include features X, Y, and Z in that order in the onet.xml file for the site definition.
B. Include a user control in the custom master page to activate feature Z the first time the page is rendered, and include features X and Y in the onet.xml file for the site definition.
C. Set feature dependencies so that feature X is dependent upon feature Y and feature Y is dependent upon feature Z, and then use feature stapling to attach feature X to the site definition.
D. Set feature dependencies so that feature Y is dependent upon feature Z, and then use feature stapling to attach features X and Y to the site definition.html
解析:
你在一個Sharepoint2010解決方案包中建立了一個網站定義(Site Definition)和一個用戶自定義母板頁(),此方案包還包含下面的功能:
一個名爲X的隱藏功能, 爲網站集級別,用於添加用戶母板頁到Master Page Gallery中。
一個名爲Y的功能,爲網站級別,此功能有一個Feature Receiver用於設置所處的網站使用上面功能X所添加的母板頁
一個名爲Z的功能,也爲網站級別,此功能有一個Feature Receiver用於根據樣本內容創建Deafult.aspx頁面。
任何基於此網站定義建立的網站必須自動包括母板頁以及對樣本內容的應用, 而且你須要保證功能X,Y,Z須要在適當的時機被激活。
你應該如何操做來實現本題的要求呢?
從題乾的描述咱們彷佛能夠感受到,此Solution的Feature之間存在明顯的依賴關係:即X與Y.Z之間,Y.Z依賴於X建立的母板頁,則Z則依賴於Y完成母板風格設置。那麼這種感受對不對呢?
咱們來看看激活依賴關係和範圍的相關知識點:
功能激活依賴關係表達對兩個功能之間相互關係的要求。您能夠針對同一個範圍的功能或更大範圍內的功能表達激活依賴關係。當某個特定範圍內的某個功能對於其餘範圍內的其餘功能具備依賴關係時,就存在跨範圍激活依賴關係。跨範圍激活依賴關係的一個示例是一個網站範圍的功能依賴於一個網站集範圍的功能【符合本題:X屬於網站集範圍,且隱藏。Y,Z屬於網站範圍】。
根據激活依賴關係的跨範圍規則中的一段子規則: 若是所依賴的功能不可見,則不支持跨範圍的功能激活依賴關係。換句話說,網站範圍的功能不可能依賴於在用戶界面中不可見的網站集範圍的功能。【這句話是關鍵,根據這句話,咱們就直接排除了選項C。由於咱們知道X是網站集級別,但它是隱藏的,而Y.Z是網站級別,且它們依賴於X,而根據此規則,這種依賴關係是不容許的!因此排除。並且,選項C所描述的依賴方向也是錯誤的】
至於選項D. 很明顯Y與Z之間的依賴方向不對,且Feature Stapling是用來對已經部署並投入應用的Site Defintion在無需對其進一步修改的狀況下進行升級擴充的,屬於運營後的再開發。因此此選項也應該排除。
而選項A. 使用到Site Definiton的onet.xml文件,根據微軟的描述: 「在 Onet.xml 文件中,在網站定義配置內使用 Feature 元素可包含對 Feature 實例和默認屬性值的引用。Configuration 元素指定在建立 SharePoint 網站時要使用的列表和模塊。SharePoint Foundation 按照 Onet.xml 文件中指定的功能的列出順序激活這些功能。所以,必須在依賴於某些功能的功能以前指定所依賴的這些功能 「。 根據此描述,選項A在Onet.xml文件中引用 了Z與Y,但它們之間有依賴關係,因此你必需要指定Z與Y的依賴關係,而選項A中並沒做這一步。所以也應該被排除。
最後就剩下了選項B. 此選項把功能X與Y放到Onet.xml 文件中,由於它們之間不存在依賴關係,因此可行,而功能Z放到頁面呈現以後最後執行,就避免了還要由於在Onet.xml中的引用就必需要定義Z與Y之間的依賴關係這樣的操做。更進一步,因爲功能Z涉及到建立網站頁面,因此,在它以前務必保證Site Scope或Web Scope的相關功能被激活就顯得很是重要。
所以本題答案應該選 B web
參考
http://msdn.microsoft.com/zh-cn/library/ms474369(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/aa543162(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ff382738(v=office.12).aspx
http://msdn.microsoft.com/zh-cn/library/ms474369.aspx數據庫
Question 129
You have a SharePoint 2010 intranet site with a site collection for all team projects. Each team project site is created from a custom team project site definition. These sites are created with a standard list to help manage team projects. Each list can be modified as needed for each site. You are asked to design two features:
.A feature named X for the list template
.A feature named Y for creating an instance of the list
You need to ensure that the list template is installed before the list instance. Which approach should you recommend?
A. Set the scope of feature X to Web and the scope of feature Y to Site. Set feature X as an activation dependency for feature Y.
B. Set the scope of feature X to Site and the scope of feature Y to Web. Set feature Y as an activation dependency for feature X.
C. Set the scope of feature X to Site and the scope of feature Y to Web. Set feature X as an activation dependency for feature Y.
D. Set the scope of feature X to Web and the scope of feature Y to Site. Set feature Y as an activation dependency for feature X.服務器
解析:
你在Sharepoint2010內部網站中爲小組項目管理建立了一個網站集,每個小組網站均是基於一個小組網站定義(Site Definition)建立,在建立時自帶一個標準的列表用於管理小組項目,並且這個列表能夠根據各網站須要進行修改,爲此你須要設計兩個功能
功能1.爲列表模板建立功能X
功能2.爲建立列表實例建立功能Y
你須要保證列表模板在建立列表實例以前安裝,你應該採起什麼方法呢?
根據題意咱們知道,功能X是網站集級別(由於它關聯到列表模板,而列表模板能夠被用來在各個網站上建立列表實例,這種具備可重用性的對象每每放到網站集級別),功能Y是網站級別(由於它關聯到建立列表實例,而列表實例是存在於各個網站上的具體實現),並且功能Y依賴於功能X。
按照這樣的邏輯,直接就定位到了選項C。app
所以本題答案應該選 C ide
參考
http://msdn.microsoft.com/zh-cn/library/aa543162(v=office.14).aspx網站
Question 130
A company with offices worldwide has asked you to design a SharePoint 2010 feature for an intranet portal. The feature must:
.Be activated only on a site collection.
.Contain a customized list template.
.Contain a custom List page.
.Use globalized resources that can be shared with other features.
You need to design the feature to support all these requirements. Which approach should you recommend?
A. Use the Scope attribute of the feature to limit the availability of the feature to a site collection. Then set the Require Resources element to true. Store globalized resources in a file in a global document library.
B. Use the Scope attribute of the feature to limit the availability of the feature to a site collection. Then use the Module element in the feature to provision a file into the SharePoint 2010 site. Store shared resources in the \web server extensions\14\Resources folder.
C. Use the Scope attribute of the feature to limit the availability of the feature to a farm. Then use the Module element to provision a file into the SharePoint site. Store shared resources in the \_catalogs folder.
D. Use the Module element in the feature to limit the availability of the feature to a site collection. Then set the Require Resources element to true. Store shared resources in the \web server extensions\14\Resources folder.ui
解析:
一家全球化公司須要爲其內部門戶網站建立一個功能, 此功能必須
1.包含一個列表模板
2.包含一個含有用戶列表實例的頁面
3.使用可與其它功能共享的全局資源
你該如何設計此功能呢?
首先,咱們先來看看關於Sharepoint的Resource相關知識點,Sharepoint的資源文件能夠存放到如下的相關位置:
• C:\Inetpub\wwwroot\wss\VirtualDirectories\ \App_GlobalResources\
• $SharePointRoot$\14\Resources\
• $SharePointRoot$\14\CONFIG\Resources\
• $SharePointRoot$\14\CONFIG\AdminResources\
• $SharePointRoot$\14\TEMPLATE\FEATURES\\Resources\
這些位置各有各有適用狀況。
每一種Resource在上述位置都有本身的Folder,做爲方案解決包或功能的一部分提供的Resource能夠存放到以下位置:
• $SharePointRoot$\14\TEMPLATE\FEATURES\\Resources\Resources..resx
• $SharePointRoot$\14\TEMPLATE\FEATURES\\Resources\
• $SharePointRoot$\14\Resources\
每一個功能通常都使用存放在它們本身的Resource文件夾下的Resources File。若是要把Resources File共享給其它功能,你就須要把它放置到14\Resources\ folder目錄。【如本題的狀況】
根據上述描述,咱們就能夠直接定位選項到B.D。由於它們都把Resource File放置到了正確的位置: \web server extensions\14\Resources。然而選項D使用Module元素來設置Feature的Scope這顯然是不對的,設置Feature的Scope應該用Scope屬性。它能夠指定在其中激活功能的範圍幷包含下列值之一:Farm(服務器場)、WebApplication(Web 應用程序)、Site (網站集)、Web(網站)。
選項A. Sharepoint中不存在global document library這種東西,因此直接排除。
選項C. _catalogs 文件夾是Sharepoint內容數據庫內的文件夾,它不是真正的文件系統下的文件夾。你能夠經過像Http://Server:port/_catalogs/masterpage 這樣的地址去獲取母板頁。或者用Sharepoint Designer打開你的網站,在左邊面板上也能找到_catalogs 文件夾,你能夠本身進去看看裏面的內容。但不論如何,它都不是實現Resources File共享的正確位置。因此選項C也應該被排除。spa
所以本題答案應該選 B 設計
參考
http://msdn.microsoft.com/en-us/library/ms434127.aspx
http://msdn.microsoft.com/en-us/library/ms436075.aspx
http://www.cnblogs.com/Sunmoonfire/archive/2012/07/28/2613674.html
http://www.sharepointblues.com/2012/05/28/sharepoint-2010-resource-file-deployment-done-easy/