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. 【转】PowerShell入门(十二):编写PowerShell管理单元和二进制模块

    转至:http://www.cnblogs.com/ceachy/archive/2013/03/13/PowerShell_SnapIn.html PowerShell一开始就提出利用管理单元来实现 ...

  2. php使用位与运算符【&】或【|】实现权限管理

    权限值是这样的2^0=1,相应2进数为”0001″(在这里^我表示成”次方”,即:2的0次方,下同)2^1=2,相应2进数为”0010″2^2=4,相应2进数为”0100″2^3=8,相应2进数为”1 ...

  3. hdoj 5375 Gray Code

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5375 编码规则:tmp = XOR(gr[i],gr[i-1]); 算是找规律的题目吧,考虑?前后字符 ...

  4. lintcode 中等题:permutations II 重复数据的全排列

    题目 带重复元素的排列 给出一个具有重复数字的列表,找出列表所有不同的排列. 样例 给出列表 [1,2,2],不同的排列有: [ [1,2,2], [2,1,2], [2,2,1] ] 挑战 使用递归 ...

  5. C#编程简短总结

    封装 field一般为private,定义的时候可以不赋值.不赋值的时候一般被构造函数初始化赋值,其值用来保存类实例的数据,可以被内部方法使用作为计算的数据来源.当需要继承类继承本类的时候,field ...

  6. 飘逸的python - 编码杂症之在字符串前面加u

      有时候我们从其它地方接受的字符串经过艰难跋涉,它变了个样.比如收到的是'\u6253\u602a\u8005'而不是u'\u6253\u602a\u8005'. 明明肉眼看起来只需要加个u,但是怎 ...

  7. Vim设置colorscheme小技巧

    Vim的颜色主题在/usr/share/vim/vim73/colors目录里.打开vim后在normal模式下输入":colorscheme"查看当前的主题,改动主题使用命令&q ...

  8. Sqoop工具

    简介 SQOOP是用于对数据进行导入导出的. (1)把MySQL.Oracle等数据库中的数据导入到HDFS.Hive.HBase中 (2)把HDFS.Hive.HBase中的数据导出到MySQL.O ...

  9. rabbitmq-cluster搭建

    一.前期准备: 准备3台linux系统,配置好公司源,或者官网下载相应的网络源 1.条件:准备3台linux系统,确保能连到download.yunwei.edu 2.编写yum源下载脚本: #vim ...

  10. 第一次作业——WorkCount

    项目地址:https://gitee.com/yangfj/wordcount_project 1.软件需求分析: 撰写PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) ...