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 ...
随机推荐
- [C++] memset 和sizeof 的使用注意
因为使用C++写小题目时经常需要清除数组,这里记录下Memset函数的sizeof运算符的使用注意. memset的特点是:将给定地址后连续的内存(包括给定地址),逐个byte初始化为参数中指明的值. ...
- ASP.NET服务器控件使用之Reportviewer 报表
http://blog.csdn.net/oemoon/article/details/7338967 http://www.cnblogs.com/emanlee/archive/2008/09/1 ...
- 解决Eclipse报errors running builder ‘javascript validator’ on project
导入jquery的js到项目中,Eclipse每次检测到功能代码变化(保存动作触发)就报错: errors running builder ‘javascript validator’ on proj ...
- Windows Service插件服务开源
WindowsService 插件服务是一个为简化NTService开发和打包程序,提供插件开发的方式进行动态加入或删除业务. 插件式服务程序的由来,在系统维护的过程中,根据企业的要求经常要进行一些周 ...
- Elasticsearch及java客户端jest使用
本文使用Github中的Elasticsearch-rtf,已经集成了众多的插件,例如必须使用的中文分词等,可以简单的通过配置来启用中文分词.本文主要分为以下几部分: 1.配置和启用中文分词: 2.定 ...
- java 去掉html标签
使用正则表达式删除HTML标签. import java.util.regex.Matcher; import java.util.regex.Pattern; public class HTMLSp ...
- DDD:群里关于验证的结论
@汤雪华 验证是为了让数据符合要求.各个层的验证是为了确保传递给各个层的数据符合当前层所需要的数据的要求. @小学僧 db model的验证主要是为了保证数据完整. domain model的验证主要 ...
- Tips7:Unity中 Scene视图 和 Game视图 中 视角(Camera)的控制
选中你要改变的相机,然后点击GameObject-->Align With View 选项(快捷键Ctrl+Shift+F)使相机视角和当前Sence视图中一样 通过这样可以控制在Game视图( ...
- [mysql]brew 安装 配置 操作 mysql(中文问题)
mac 下卸载mysqldmg mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很多文章记述要删的文件不完整,后来在stac ...
- ASP.NET 文件上传类 简单好用
调用: UploadFile uf = new UploadFile(); /*可选参数*/ uf.SetIsUseOldFileName(true);//是否使用原始文件名作为新文件的文件名(默认: ...