Sharepoint学习笔记—习题系列--70-573习题解析 -(Q51-Q53)
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)的更多相关文章
- Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现
		
如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...
 - Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现
		
文档集是 SharePoint Server 2010 中的一项新功能,它使组织能够管理单个可交付文档或工作产品(可包含多个文档或文件).文档集是特殊类型的文件夹,它合并了唯一的文档集属性以及文件夹和 ...
 - Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录
		
Sharepoint学习笔记—习题系列--70-576习题解析 为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是: 1. ...
 - Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录
		
Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...
 - Deep Learning(深度学习)学习笔记整理系列之(五)
		
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
 - Deep Learning(深度学习)学习笔记整理系列之(八)
		
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
 - Deep Learning(深度学习)学习笔记整理系列之(七)
		
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
 - Deep Learning(深度学习)学习笔记整理系列之(六)
		
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
 - Deep Learning(深度学习)学习笔记整理系列之(四)
		
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
 - Deep Learning(深度学习)学习笔记整理系列之(三)
		
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
 
随机推荐
- SQL Server 中关于 @@error 的一个小误区
			
在SQL Server中,我常常会看到有些前辈这样写: ) ROLLBACK TRANSACTION T else COMMIT TRANSACTION T 一开始,我看见别人这么写,我就想当然的以为 ...
 - [转]C# dataGridview 报“索引-1没有值”的解决办法
			
很多WINFORM的开发人员在DataGridView的开发当中,都会出现“索引-1没有值”这个烦人的问题,其实较早之前,我已经大概知道问题的所在,也找到了解决方法,不过一直没有时间去深入研究一下,今 ...
 - java框架篇---spring hibernate整合
			
在会使用hibernate 和spring框架后 两个框架的整合就变的相当容易了, 为什么要整合Hibernate?1.使用Spring的IOC功能管理SessionFactory对象 LocalSe ...
 - Sql触发器模板
			
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程. 触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. SQL Server 2005中触发器可以分 ...
 - 关于异步Promises
			
英文原文:What's The Point Of Promises? 迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念 ...
 - NavMesh系统动态碰撞的探讨
			
Unity3D提供的NavMesh系统可以方便的解决游戏的寻路问题,但是该系统有一个比较让人不理解的问题: NavMesh导航时会忽略Physics系统本身的碰撞,也就是说NavMeshAgent在移 ...
 - iframe无刷新跨域上传文件并获取返回值
			
通常我们会有一个统一的上传接口,这个接口会被其他的服务调用.如果出现不同域,还需要无刷新上传文件,并且获取返回值,这就有点麻烦了.比如,新浪微博启用了新域名www.weibo.com,但接口还是使用原 ...
 - 【转载】Linux之gdb
			
转载自:http://blog.chinaunix.net/uid-22312037-id-3812061.html 一.常规调试 gdb是Linux下常用的程序调试工具,当然前提是用 ...
 - [转载]Windows 2012 R2安装SharePoint 2013 手动安装工具软件
			
之前介绍过在window 2012中安装SharePoint 2013,这次,借着SharePoint 2013 sp1补丁发布之际,介绍下在window 2012 r2中安装SharePoint 2 ...
 - HTTP状态码大全(转自wiki)
			
1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试 ...