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. HTML5大数据可视化效果(二)可交互地铁线路图

    前言 最近特别忙,承蒙大伙关照,3D机房的项目一个接着一个,领了一帮小弟,搞搞传帮带,乌飞兔走,转眼已经菊黄蟹肥……有个小弟很不错,勤奋好学,很快就把API都摸透了,自己折腾着做了个HTML5的魔都的 ...

  2. 【Thinking in Java-CHAPTER 1&&2】对象导论&&一切都是对象

    JAVA起源 从JDK诞生到现在已经有11年的时间了.沧海桑田一瞬间.转眼11年过去了,JDK已经发布了6个版本.在这11年里诞生了无数和Java相关的技术和标准.现在让我们进入时间隧道,重新回到19 ...

  3. ROC和AUC介绍以及如何计算AUC ---好!!!!

    from:https://www.douban.com/note/284051363/?type=like 原帖发表在我的博客:http://alexkong.net/2013/06/introduc ...

  4. (转) IPv6相关RFC

    转自http://blog.csdn.net/lucien_cc/article/details/12688477 IPv6 Spec RFC 2460 : Internet Protocol, Ve ...

  5. Java 时间日期系列目录

    下面是Java的时间和日期相关文章目录: 01. Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(1) Calendar 02.  ...

  6. [OpenCV] HighGUI

    From: http://www.cnblogs.com/xylc/p/3406026.html 本模块为跨平台的gui/IO组件,支持平台包括windows,linux,mac,IOS,androi ...

  7. IOS开发UI基础storyboard相关概念的认识

    本文主要介绍一些基本的概念 为后面的学习做个准备 需要了解的知识点有以下几个方面: storyboard文件的认识 IBAction 和IBOutlet UIViewController控制器的认识 ...

  8. 《深入理解Java集合框架》系列文章

    Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...

  9. 后缀数组 --- HDU 3518 Boring counting

    Boring counting Problem's Link:   http://acm.hdu.edu.cn/showproblem.php?pid=3518 Mean: 给你一个字符串,求:至少出 ...

  10. UnityShader快速上手指南(二)

    简介 前一篇介绍了如果编写最基本的shader,接下来本文将会简单的深入一下,我们先来看下效果吧 呃,gif效果不好,实际效果是很平滑的动态过渡 实现思路 1.首先我们要实现一个彩色方块 2.让色彩动 ...