Question 51
You use a third-party site definition to create SharePoint sites.
You need to add a Web Part to the home page of the site definition.
Which file should you modify?
A. default.master
B. Onet.xml
C. Sp.xml
D. web.config

解析:
本题是想向一个第三方的Site Definition中所定义的Home Page部分加入某个Webpart。
所以我们必需要了解网站定义的基本要素。下面就是组成Site Definition的重要元素:
1.default.aspx : 基于此网站定义创建新的网站所使用的默认的主页。
2.onet.xml:这是网站定义的最重要的文件
可以在用于自定义网站定义或自定义 Web 模板的自定义 Onet.xml 文件中执行下列类型的任务:
•为网站定义指定一个备用级联样式表 (CSS) 文件、JavaScript 文件或 ASPX 头文件。
•修改主页和列表页面的导航区域。
•将新列表定义作为选项添加到 UI 中。
•为网站定义或 Web 模板定义一个 配置,指定实例化配置时包含的列表、模块、文件和 Web 部件【这正是本题想要达到的功能】。
•指定基于网站定义或 Web 模板创建的网站自动提供的功能。

可在用于自定义网站定义的自定义 Onet.xml 文件中执行下列类型的任务,但不能在用于自定义 Web 模板的 Onet.xml 文件中执行:
•添加用于创建文档库的文档模板。
•为网站定义定义多个 配置,指定实例化配置时包含的列表、模块、文件和 Web 部件。
•为从基于网站定义的网站发送的电子邮件定义自定义页脚。
•为基于网站定义的网站定义自定义组件,如文件对话框后置处理器。
3.webtemp_SiteDefinitionName.xml: 用于定义当创建新的Sharepoint Site时,创建页面上的Template Selection区对应Site Definition定义的配置信息
 
选项A. default.master: 它只是Sharepoint2007默认的母板页
选项C. Sp.xml 貌似一个与活动目录联合服务(ADFS)管理配置相关的文件。
选项D. web.config 这个就不用说了。

所以本题目正确选项应该是B

参考 :
http://msdn.microsoft.com/en-us/library/ms474369.aspx
http://msdn.microsoft.com/zh-cn/library/bb802774(v=office.12).aspx
http://msdn.microsoft.com/zh-cn/library/ms474369(v=office.14).aspx
http://docs.forgerock.org/en/openam/10.0.0/dev-guide/index/chap-fedlet-dotnet.html

Question 52
You have a custom site definition.
You create a custom site Feature.
You need to ensure that the Feature is activated for all new sites that are created by using the custom site definition.
What should you do?
A. Modify the Onet.xml file.
B. Modify the web.config file.
C. Add a Feature receiver to the custom site Feature.
D. Add a Feature dependency to the custom site Feature.

解析:
 本题的意图是开发了某个Site功能,想让这个功能在基于用户自定义的Site Definition创建的Site上运行。知识点还是用户自定义Site Definition内容。
  参照上一个问题Question51中的描述:
可以在用于自定义网站定义或自定义 Web 模板的自定义 Onet.xml 文件中执行下列类型的任务:
•为网站定义指定一个备用级联样式表 (CSS) 文件、JavaScript 文件或 ASPX 头文件。
•修改主页和列表页面的导航区域。
•将新列表定义作为选项添加到 UI 中。
•为网站定义或 Web 模板定义一个 配置,指定实例化配置时包含的列表、模块、文件和 Web 部件
•指定基于网站定义或 Web 模板创建的网站自动提供的功能【这正是本题想要达到的功能】。
 其它选项:
B. Modify the web.config file. 没有相关项能让你设置本题所要求的功能。
C. Add a Feature receiver to the custom site Feature. 功能接收器是在 SharePoint 中发生下列功能相关事件之一时执行的方法:
•安装功能
•激活功能
•停用功能
•移除功能
可以使用功能事件接收器来执行核心功能激活和停用操作无法执行的其他安装或清理任务,如删除功能安装到网站中的文件。但本题不是针对的Feature在上述事件发生时的相关操作,而是针对的Feature本身在网站中的激活和停用。
D. Add a Feature dependency to the custom site Feature. 功能激活依赖关系表达对两个功能之间相互关系的要求,您的 SharePoint 功能可能依赖其他功能的功能或数据。在此情况下,可以将其他功能标记为您的功能的依赖项。这样一来,SharePoint Server 可以确保在激活您的功能之前激活依赖的功能。但对于本题,仅是针对指定某个Feature在Site上的激活与停用,而并没涉及到两个或多个相互依赖的Feature间的互动。

所以本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/ms474369.aspx
http://msdn.microsoft.com/zh-cn/library/ms469501(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/aa543162(v=office.14).aspx

Question 53
You create a custom site definition named DCS.
You create a site provision handler for DCS.
DCS contains a file named DCSTemplate.xsd that stores configuration data. You need to read the content of DCSTemplate.xsd in the site provision handler.
Which property should you use?
A. SPSite.GetCustomWebTemplates(1033)["DCS"].ProvisionClass
B. SPWebApplication.DataRetrievalProvider
C. SPWebProvisioningProperties.Data
D. SPWebProvisioningProperties.Web.DataRetrievalServicesSettings

解析:
  要理解本题的意思就必须要知道Sharepoint创建Site的方式。
  通常不少人都知道有网站模板(Site Template),网站定义( Site Definition)。
  网站模板(Site Defintion)就是基于一个现存的网站,把它另存为一个网站模板,以后在新创建其它网站时就可以基于此模板进行创建了,创建后的新网站具有与此现存网站相同的基本特性。通常Sharepoint将网站模板保存为 .stp 文件,该文件包含那个现存网站中所有已修改的文件和列表的集合,甚至还可以包含那个网站中的内容,如列表项和文档。用户可在“另存为模板”页上创建网站模板,也可以通过使用 Microsoft.SharePoint.SPWeb 类的 SaveAsTemplate 方法的代码创建网站模板。使用网站模板最大的优点就是”简单,方便,快捷”。但它的缺点也很明显,首先是它无法在开发环境中创建。其次,它很难在大规模环境中应用(比如:在大规模环境中,如果在某些服务器上不存在你所创建Site Template时所基于的Site Definition[因为所有的Site Template实质上还是基于特定的Site Definition创建的],那么,你就无法在这些服务器上应用这些Site Template。)
   至于网站定义(Site Definition,) 它也是创建一个新网站的重要途径。它主要包括多个 XML 和 ASPX 文件,这些文件存储在前端 Web 服务器上 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates 目录下的相应文件夹中, 这些组合在一起就定义了一个或者多个SharePoint 站点的结构.。在 Microsoft SharePoint 2010 中,可通过单击“网站操作”菜单上的“新建网站”从网站定义创建新网站。可在 Microsoft Visual Studio 2010 中创建新的网站定义,并将这些定义部署到 SharePoint 2010中,然后再通过单击“网站操作”菜单上的“新建网站”,从可提供的网站定义中找到你部署的网站定义,并基于此创建你的新网站。使用网站定义的好处包括:首先,网站定义的数据是直接保存在Web服务器上的,因此执行效率高。其次,通过定制Schema.xml可拥有较好的定制List的功能。当然,它还包括其它更大更强的“灵活”性。它的缺点也很明显,那就是通过它新创建的Site就基本固化了,你很难再修改或升级,而以这种方法创建的Site也无法应用Sharepoint的主题(Theme)。
   接下来就是我们要说的第三种方式,也是解决本题的必备知识,即:Site Provision方式。此方式不常见人使用,所以也比较少有人了解。这种方式可以视为上面两种方式的“混血儿”。
   所谓Site Provision方式其实是Site Defintion方式再结合一段site provision handler代码组成的。这段site provision handler是在当你使用Site Definition创建一个新的Site时运行的。默认情况下,Sharepoint在这个阶段会做关于创建一个New Site的诸多操作,这些操作包括:创建Lists,创建Content Type,激活Feature等等。更重要的是,还要告诉这个新创建的Site,它应当使用哪个Site Definition作为它的“创建样板”一旦指定新网站基于哪个Site Definition进行创建,它就不可避免地与这个Site Definition绑定在一起了。通过与site provision handler结合,你可以实现:
1. 允许Site Administrator 使用Sharepoint”开箱即用”的创建网站页面来创建一个网站。
2. 支持Feature未来的升级。Support Feature Stapling for future updates
3. 去除掉对Sharepoint Farm的依赖: 可以在任何时候移除网站”样板”而不会影响基于此”样板”已经创建好的Sites。从而大大减少了未来升级时的影响。 
   你可以自己创建一个类,此类继承自SPWebProvisioningProvider,你可以在此类中调用Web类的ApplyWebTemplate方法,通过此方法你可以实现前面所说的手工地指定新创建的网站使用哪个”开箱即用”的Site Definitiion作为它的“创建样板”。
   如下面代码,通过指定File_Name.stp参数来指定新创建的Site使用哪个Site Definition作为”创建样板”
using (SPWeb oWebsite = SPContext.Current.Site.OpenWeb("Website_URL"))
{
    oWebsite.ApplyWebTemplate("File_Name.stp");
}
   Provisioning Provider 一开始只是一个白板,它并不知道需要做什么,怎么去做。所以一开始,我们会用上面的ApplyWebTemplate 方法创建一个空白Site。而SPWebProvisioningProperties 的Data属性则包含了来自WebTemp文件的ProvisionData属性中的数据,此数据会传递给site provisioning handler,以影响site provisioning handler的创建Site的工作。具体的操作实现当然不会这么简单,你还需要做其它许多工作。这里只是了解它的大概思路以及相关的重要参数。
本题提到:用户的相关配置信息都保存在DCSTemplate.xsd文件中,这类文件就XML Schema定义文件。我们可以不管它的格式,我们只需要知道它所存放的配置信息最终需要传递给上面描述的SPWebProvisioningProperties.Data属性才能影响site provisioning handler的具体创建工作。所以本题选项C是正确答案。
本题其它选项:
A. SPSite.GetCustomWebTemplates(1033)["DCS"].ProvisionClass。 本选项的操作逻辑先是使用SPSite.GetCustomWebTemplates方法返回指定LCID的SPWebTemplateCollection,再定位到名为DCS的SPWebTemplate,再返回SPWebTemplate.ProvisionClass对象,最终结果是返回一个字符串,此字符串就是提供基于Site Definition Configuration或Site Template来创建Site功能的类的名字,它只是个返回值,不能对它赋值。所以即使从功能上来判断,本选项也不是答案。
B. SPWebApplication.DataRetrievalProvider 本选项是代表一个给Web application提供data-retrieval 服务的提供者类。所谓Data Retrival Service就是让数据提供者和数据消费者之间通过SOAP和XML进行数据交流。本题的意思与Site Definition没有任何关系。
D. SPWebProvisioningProperties.Web.DataRetrievalServicesSettings 本选项是一个返回值,不可赋值。它代表返回一个对象,此对象是data retrieval service设置项。 本选项也与Site Definition没有任何关系。
   
所以本题目正确选项应该是C
参考:
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spwebtemplate.provisionclass.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.getcustomwebtemplates.aspx
http://technet.microsoft.com/zh-cn/library/cc287754(v=office.12).aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spwebprovisioningproperties.data.aspx

Sharepoint学习笔记—习题系列--70-573习题解析 -(Q51-Q53)的更多相关文章

  1. Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现

    如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...

  2. Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现

    文档集是 SharePoint Server 2010 中的一项新功能,它使组织能够管理单个可交付文档或工作产品(可包含多个文档或文件).文档集是特殊类型的文件夹,它合并了唯一的文档集属性以及文件夹和 ...

  3. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  4. Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录

                  Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...

  5. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  10. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. android手机出现sqlite3 not found的解决方法

    解决方法如下: 1.如果/system目录为不可读写的,需要挂载为读写: C:\Users\easteq>adb shell root@android:/ # mount -o remount, ...

  2. [LeetCode] Pow(x, n) 二分搜索

    Implement pow(x, n). Hide Tags Math Binary Search     题目很简单的.   class Solution { public: double pow( ...

  3. java笔试练习题

    选择题(共50题,每题1.5分,共75分.多选题选不全或选错都不得分.)1. 以下属于面向对象的特征的是(C,D).(两项)A) 重载B) 重写C) 封装D) 继承 2. 以下代码运行输出是(C)pu ...

  4. SEO优化之Title 和 Meta 标签

    对搜索引擎最友好(Search Engine Friendly)的网页是静态网页,但大部分内容丰富或互动型网站都不可避免采用到相关技术语言来实现内容管理和交互功能.SEO 思想指导下的技术支持,主要是 ...

  5. MyBatis知多少(26)调试

    这是很容易,同时与iBATIS的工作程序进行调试. iBATIS有内置的日志支持,并适用于下列日志库,并在这个顺序搜索他们. Jakarta Commons日志记录(JCL). Log4J JDK 日 ...

  6. hibernate的多对多例子讲解(加图片)

    在hibernate中也有多对多的关系.但是这样关系执行的效率不高,所以我们可以通过两个多对1或者两个1对多来实现. 在现实生活中多对多的关系也比较常见.比如说老师和学生.一个老师有多个学生,一个学生 ...

  7. Sass学习之路:注释、变量以及导入

    前言 由于.sass不兼容CSS代码,所以以下内容完全使用.scss的语法. Sass注释 Sass中除了提供CSS中的标准注释之外,还提供了一种静默注释: /* 我是标准注释 */ // 我是静默注 ...

  8. [转载]基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...

  9. web前端学习路线与书籍推荐

    什么是web前端? 在以前,通俗的讲是网页制作,在现在,哼哼,可以参考这篇文章 http://tieba.baidu.com/p/4817153404 那么如果高效优雅的学习web呢? 注:以下纯属个 ...

  10. 分享一下我封装iOS自定义控件的体会,附上三个好用的控件Demo <时间选择器&多行输入框&日期选择器>

    前段时间有小伙伴问到我:"这样的控件该怎么做呢?",我感觉是个比较简单的控件,可能对于入行不久的同志思路没有很清晰吧.趁着最近工作不忙,就来这里分享一下我封装自定义控件的几点体会吧 ...