Sharepoint学习笔记—习题系列--70-573习题解析 -(Q144-Q146)
Question 144
You are developing a Feature that will be used in multiple languages.
You need to ensure that users view the Feature's title and description in the display language of their choice.
What should you create?
A. a Feature event receiver
B. a site definition
C. multiple Elements.xml files
D. multiple Resource (.resx) files
解析:
本题的实质是想实现Sharepoint网站的语言支持或本地化。
本地化 是自定义给定区域性或区域设置下的应用程序、网页或网站的过程。在 Microsoft SharePoint Foundation 2010 中,本地化主要包括翻译用户界面 (UI) 的显示文本。网站 UI 有时称作“部件版式”,即与控件和表单关联的视觉元素,尤其是标题栏、菜单和导航链接,以及用于构架和组织内容或帮助用户与之交互的所有元素。
利用多语言用户界面 (MUI) 功能,用户可以更改 SharePoint Foundation 2010 UI 的语言。例如,讲西班牙语但在英语用户界面中工作的用户可以通过使用任何页面右上角的控件,将显示语言更改为西班牙语。该用户可以单击用户名对应的箭头,指向“选择显示语言”,然后单击“Español”。随即网站的工具栏、导航栏、列表标题和列标题将显示为西班牙语。
若要使这种操作正常执行,服务器场管理员必须下载和安装要支持的每种语言的 SharePoint Foundation 2010 语言包,而且网站所有者必须启用备用语言支持。
所以使用语言包是实现本地化的一个层面,但MUI 功能不是翻译工具。如果安装了某个语言包,则 MUI 可以在显示 SharePoint Foundation 中包含的用户界面文本时切换到该语言。可是MUI 不能更改添加到 SharePoint Foundation 中的自定义元素的用户界面文本【这才是本题涉及到的另一个层面: 自定义元素】,直到您提供这些元素的本地化资源。
在本地化解决方案时,您应考虑解决方案向用户显示的所有文本信息。 必须翻译信息性消息、错误消息和 UI 字符串,并将这些翻译放在资源文件中(即本题的.resx文件中)。资源文件中的每个字符串都有唯一的标识符。Visual Studio 中的功能资源始终命名为 Resources。 如果选择某种不是固定语言的语言,则会向资源文件名中添加区域性 ID。例如,如果添加固定语言(默认)功能资源文件,则该文件名为 Resources.resx。 如果通过选择日语的区域性(日本)来添加特定语言的功能资源,则文件名为 Resources.ja-JP.resx。 功能资源文件名是自动指派的,无法进行更改。
所以描述到此,本题的选项也就出来了,即通过multiple Resource (.resx) files来实现多语言支持。
再来看看其它选项:
选项A. a Feature event receiver 功能事件接收器, 用于指定在功能的生存期中作为四个关键事件的一部分调用的服务器端代码例程:安装、激活、停用和删除。开发人员创建一个功能,并确定它在激活时必须对对象模型进行某些调用,在停用时必须执行某些清理。开发人员还创建一个自定义功能事件接收器类,并在功能定义中包括对该类的引用。所以功能事件接收器是与多语言支持无关系的。
选项B. a site definition其定义就是:Contains a server-side collection of files that defines the structure of one or more site templates.也就是在服务器端包含了若干文件(这些文件就是ASPX页面文件以及XML文件)用于定义一个或多个站点模板的结构。很显然,是与站点定义相关,与多语言支持无关。
选项C. multiple Elements.xml files 包含功能元素声明的功能清单文件,与功能定义相关,与多语言实现无关。
所以本题目正确选项应该是D
参考:
http://msdn.microsoft.com/zh-cn/library/ff955227(v=office.14).aspx
http://blogs.msdn.com/b/joshuag/archive/2009/03/07/using-resource-files-resx-when-developing-sharepoint-solutions.aspx
Question 145
You are developing a custom Feature by using Microsoft Visual Studio 2010.
You need to ensure that when you deploy the Feature, a file named Form1.xsn is deployed to the Feature folder. You must achieve this goal by using the minimum amount of development effort.
What should you do?
A. Add a new module to the Visual Studio project.
B. Add a Feature receiver to the Visual Studio project.
C. Configure the Properties element in the Feature definition file.
D. Configure the Activation Dependencies element in the Feature definition file.
解析:
本题是想要在部署一个Feature时,需要包含一个指定的文件到此Feature的目录中。
功能(Feature)是Sharepoint的重要概念,功能降低了对网站进行简单自定义的复杂性,同时在将升级应用于部署时,功能相当可靠。借助功能,无需再复制大量代码即可更改简单功能。功能存储在前端 Web 服务器上的 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES 目录中。Feature 子文件夹包含 Feature.xml 文件,该文件用于定义功能的基本属性以及绑定到功能的元素
所以Feature.xml文件及其包含的元素及相关内容就是解决本题的基础,Feature 元素用于在 Feature.xml 文件中定义功能并指定支持功能的程序集、文件、依赖项或属性的位置。功能包括 Feature.xml 文件和用于描述各个元素的任意数量的文件。
模块(Module)是在网站中设置的文件实例的集合。若要将文件设置到 Microsoft SharePoint Foundation 网站中,必须在功能或网站定义中使用 Module 元素。通过 Module 元素可向 SharePoint Foundation 网站或文档库中添加一个或多个文件【此句就是本题要达到的目的,也即是选项A所描述的方式】。
Module 元素中包含 File 元素,后者用于定义要设置哪些文件,也可以包含对要添加的 Web 部件集的定义。如果通过 Module 元素将文件设置到子目录,SharePoint Foundation 会自动确保所创建的目录结构与您的文件相匹配。
功能激活依赖关系(Activation Dependencies)表达对两个功能之间相互关系的要求。您可以针对同一个范围的功能或更大范围内的功能表达激活依赖关系。当某个特定范围内的某个功能对于其他范围内的其他功能具有依赖关系时,就存在跨范围激活依赖关系。跨范围激活依赖关系的一个示例是一个网站范围的功能依赖于一个网站集范围的功能【即选项D描述的方式】。很显然,功能激活依赖关系并不是用来解决添加一个新的文件到某个Feature中的问题的。
选项C所提的Properties element是用来描述相关Feature的属性的。与添加外部文件资源无关。
至于选项B, Feature receiver 是用来指定在功能的生存期中作为四个关键事件的一部分调用的服务器端代码例程:安装、激活、停用和删除。你当然可以在此处对外部文件资源做添加处理。但通过复杂的代码编写来实现本题目的显然不符合本题的尽量简单的操作要求。
所以本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/ms462994.aspx
http://msdn.microsoft.com/en-us/library/ms441170.aspx
Question 146
You need to add a new field to a provisioned content type.
You must propagate the field to child lists and child content types.
What should you use?
A. <AddContentTypeField>
B. <ApplyElementManifests>
C. <FieldRefs>
D. <MapFile>
解析:
本题要求添加一个新的字段(Field)到某个已经有的内容类型中,并要把此变动传播到其子列表和子内容类型中去。
表面上看这是一道关于内容类型实现的题目,但实质上却是一个Feature升级(或功能版本控制)的题目。
SharePoint 2010 中的功能版本控制支持提供许多升级功能时可使用的功能。例如,可使用 SPFeature.Version 属性来确定服务器场上部署的功能版本,因而确定必须升级的功能。 您还可以定义 SPFeatureDependency.MinimumVersion 属性的值以处理功能依赖项。例如,可使用 MinimumVersion 属性来确保激活依赖功能的特定版本。可在功能的每个新版本中添加或删除功能依赖项。
SharePoint 2010 功能框架还提高了对象模型级别,从而更轻松地支持功能版本控制。您可以使用 QueryFeatures 方法来检索功能列表,而且可以同时指定功能版本以及某功能是否需要升级。
我们在 Feature.xml 文件中定义升级操作。SPFeatureReceiver 类包含一个 FeatureUpgrading 方法,您可使用该方法来定义升级期间执行的操作。当功能的 Feature.xml 文件包含一个或多个 <CustomUpgradeAction> 标记时,功能升级期间将调用此方法。
AddContentTypeField 升级操作可用来定义现有内容类型的其他字段。它还提供将这些更改向下推入子实例的选项,这通常是首选行为。最初将一个内容类型部署到网站集时,将在网站集级别创建该内容类型的定义。如果该内容类型在任何子网站或列表中使用,则将创建该内容类型的子实例。若要确保更新特定内容类型的每个实例,必须将 PushDown 属性设置为 true,如以下示例所示。
<Feature xmlns="http://schemas.microsoft.com/sharepoint/">
<UpgradeActions>
<VersionRange EndVersion ="2.0.0.0">
<AddContentTypeField ContentTypeId="0x0101002b0e208ace0a4b7e83e706b19f32cab9"
FieldId="{ccbcd479-94c9-4f3a-95c4-58897da434fe}"
PushDown="True"/>
</VersionRange>
</UpgradeActions>
</Feature>
【所以这正是本题需要的答案,即选项A】
ApplyFeatureManifests 升级操作可用来将新项目应用到 SharePoint 2010 网站,而无需重新激活功能。正如您可将新元素添加到任何新的 SharePoint elements.xml 文件中一样,您可指示 SharePoint 将特定元素文件中的内容应用到激活了给定功能的网站。
如果要升级现有功能,且该功能的 FeatureActivating 事件接收器执行您不希望再次对已部署功能的网站执行的操作,则可以使用此升级操作。以下示例演示如何在 Feature.xml 文件中包含此升级操作。
<Feature xmlns="http://schemas.microsoft.com/sharepoint/">
<UpgradeActions>
<VersionRange EndVersion ="2.0.0.0">
<ApplyElementManifests>
<ElementManifest Location="AdditionalV2Fields\Elements.xml"/>
</ApplyElementManifests>
</VersionRange>
</UpgradeActions>
</Feature>
【这正是选项B的描述】
至于选项C.D 均与Feature的版本控制无关。
选项C. <FieldRefs> 用于指定要在此内容类型中引用的列。
ID: 可选属性,类型为 Text。指定标识字段的 GUID
Name: 可选属性,类型为 Text。此属性提供将引用的字段的内部名称
选项D. <MapFile>允许您将未自定义的文件映射到前端 Web 服务器上的其他位置。
所以本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/ff595314.aspx
http://msdn.microsoft.com/zh-cn/library/ee537575(v=office.14).aspx
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q144-Q146)的更多相关文章
- 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 ...
随机推荐
- jQuery 2.0.3 源码分析 样式操作
根据API分类 CSS addClass() jQuery.cssHooks .hasClass() .removeClass() .toggleClass() .addClass() 对元素的样式操 ...
- 深入学习jQuery事件绑定
× 目录 [1]bind [2]trigger [3]delegate[4]on[5]one 前面的话 javascript有HTML.DOM0级.DOM2级和IE这四种事件处理程序,而jQuery对 ...
- floating IP 原理分析 - 每天5分钟玩转 OpenStack(107)
上一节我们通过 Web UI 创建为 cirros-vm3 分配了浮动 IP,今天将分析其工作原理. 首先查看 router 的 interface 配置: 可以看到,floating IP 已经配置 ...
- ES6 - Note7:Generator函数
Generator函数 1.Generator函数是ES6增加的异步编程解决方案之一,与普通的函数行为完全不同,类似于一个状态机,内部封装了多个状态. 在函数定义的形式上,跟普通函数差不多,有两处不同 ...
- UWP开发之Mvvmlight实践二:Mvvmlight的核心框架MVVM与MVC、MVP的区别(图文详解)
最近UWP开发在海外很潮流,随着微软收购Xamarin,我们这些C#程序员也可以靠这杆小米枪挑战Android,IOS平台了. 那我们为什么选择MVVM做UWP开发?MVC,MVP,MVVM他们之间到 ...
- Connect(); // 2015 简要整理
去年 Connect(); 2014 Visual Studio Contact(); 直播笔记 对于我个人来说,今年 Connect(); 的三个重要发布: ASP.NET 5 RC1 Entity ...
- Hammer.js分析(三)——input.js
input.js是所有input文件夹中类的父类,浏览器事件绑定.初始化特定的input类.各种参数计算函数. Input父类和其子类就是在做绑定事件,各种参数计算.整合.设置等返回自定义事件对象,交 ...
- 探秘Tomcat——从一个简陋的Web服务器开始
前言: 无论是之前所在实习单位小到一个三五个人做的项目,还是如今一个在做的百人以上的产品,一直都能看到tomcat的身影.工作中经常遇到的操作就是启动和关闭tomcat服务,或者修改了摸个java文件 ...
- linux源码分析(四)-start_kernel-cgroup
前置:这里使用的linux版本是4.8,x86体系. cgroup_init_early(); 聊这个函数就需要先了解cgroup. cgroup概念 这个函数就是初始化cgroup所需要的参数的.c ...
- Python_Day_03 list,dic,tuple方法总结
编程语言中最长见的几种数据类型,字典,列表,等.同样在Python中也有这些数据类型,只是有些表现形式不同.同时在Python中又多了一种叫做元组(tuple)的东西. list(列表) 初始化列表 ...