WSS 3.0 的 Flash 电影字段






4.55/5 (6投票s)
WSS 3.0 的自定义 Flash 电影字段,用于渲染 Flash 电影
引言
Flash Movie Field 是一个自定义 WSS 字段,用于渲染 Flash 电影和 YouTube 视频。它使用优秀的 swfobject 来渲染 HTML 和 JavaScript,以实现最大的浏览器兼容性。在编辑模式下,作者指定 Flash 电影的 Url
、Width
和 Height
。通过修改附加的源代码,可以轻松添加可选参数。
描述
Flash Movie Field 基于新的字段类型 SPFieldFlashMovie。
它具有以下属性或列值:
Url
- Flash (.swf) 电影或 YouTube 视频的 URL,例如 /media/map.swf,http://www.youtube.com/v/dMH0bHeiRNg&hl=en&fs=1。Width
- Flash 电影或 YouTube 视频的宽度(以像素为单位)。对于 YouTube 视频,宽度包括嵌入式播放器。Height
- Flash 电影或 YouTube 视频的高度(以像素为单位)。对于 YouTube 视频,高度包括嵌入式播放器。
渲染由自定义字段控件 FlashMovieField
提供,并关联了渲染模板 QuestechFlashMovieFieldTemplate。所有 UI 字符串都已本地化并存储在资源文件中。
- \SharePoint\ClientScripts\swfobject.js
swfobject 的支持 JavaScript 文件。设置为嵌入式资源。 - \SharePoint\Fields\SPFieldFlashMovie.cs
自定义 Flash Movie 字段的字段类型。继承自SPFieldMultiColumn
。 - \SharePoint\Fields\SPFieldFlashMovieValue.cs
SPFieldFlashMovie
的列值类。继承自SPFieldMultiColumnValue
。 - \SharePoint\Resources\Resources.resx
用于本地化 UI 字符串的项目资源文件。 - \SharePoint\RootFiles\CONFIG\Resources\QuestechCoreFlashMovie.resx
WSS 部署资源文件和应用程序运行时资源文件,用于本地化 UI 字符串。它设置自定义字段的显示名称以及创作期间Url
、Width
和Height
属性的标签字符串。部署到 ..\12\Resources\. - \SharePoint\RootFiles\TEMPLATE\CONTROLTEMPLATES\
QuestechFlashMovieFieldTemplate.ascxFlashMovieField
的表单编辑视图,包含RenderingTemplate
控件。 - \SharePoint\RootFiles\TEMPLATE\XML\fldtypes_SPFieldFlashMovie.xml
字段类型SPFieldFlashMovie
的字段类型定义。 - \SharePoint\WebControls\FlashMovieField.cs
SPFieldFlashMovie
的字段控件。使用 swfobject 2.1 来渲染 Flash 电影和 YouTube 视频。 - \SharePoint\Utility.cs
用于通用方法和属性的实用工具文件。
部署需要 QuestechFlashMovieColumns
功能。它负责部署 fldtypes_SPFieldFlashMovie.xml 中的自定义字段类型定义。
随附的 Visual Studio 2008 解决方案包含构建和部署自定义字段所需的所有支持文件,不包括强名称密钥文件(*.snk)。它包含三个项目:Deployment、Features 和 SharePoint。SharePoint 项目包含自定义字段的源代码。Features 项目包含支持部署的功能。Deployment 项目包含一个预构建脚本,用于聚合部署所需的所有文件。它包含一个 Solution 目录,WSP 文件将在此生成并通过后构建脚本进行部署。
这种 Visual Studio 解决方案和项目结构旨在支持全面扩展到 MOSS/WSS 开发和部署。您可以添加额外的项目,例如用于 MOSS 发布开发的 SharePoint.Publishing。在您的 SharePoint 或 SharePoint.Publishing 项目中,可以包含自定义组件,如用户控件、Web 控件、Web 部件等。
安装
要部署自定义字段,请按照以下步骤操作:
- 使用
stsadm
,在 \Deployments\Solution\ 中安装解决方案文件 QuestechFlashMovie.wsp。stsadm -o addsolution -filename QuestechFlashMovie.wsp
- 打开 SharePoint 3.0 Central Administration,导航到 Operations/Global Configuration/Solution Management。将 QuestechFlashMovie.wsp 部署到选定的 Web 应用程序。
- 导航到选定 Web 应用程序中的顶级网站。激活网站集功能 Questech Systems Flash Movie Columns。
自定义 Flash Movie 字段现在应该可以使用了。您可以转到 Site Columns 图库进行验证。要在 MOSS 页面布局中使用自定义字段,您首先需要通过转到 Site content types 图库将自定义站点列添加到内容类型。在图库列表中,选择一个内容类型,然后单击 Add from existing site columns。
在您的页面布局 ASPX 文件中,按如下方式修改代码:
...
<%@ Register Tagprefix="QuestechWebControls"
Namespace="QuestechSystems.SharePoint.WebControls"
Assembly="QuestechSystems.SharePoint.FlashMovie, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=f268fd4f0f42524c" %>
...
...
<QuestechWebControls:FlashMovieField FieldName="FlashMovieFile" runat="server" />
...
参考文献
- 在 WSS V3 中创建自定义字段类型 - Jim Yang
- SharePoint 资源、类型、用法和部署 - Mikhail Dikov
- swfobject
- SharePoint 功能 - MSDN Magazine
- SharePoint 2007 功能 - 创建站点列和内容类型 - Share This Point
- 使用 SharePoint 2007 进行解决方案部署 - MSDN Magazine
历史
- V1.2 - 2009.05.22
- 将 Visual Studio 解决方案项目转换为 2008 版本
- 新的 SharePoint 解决方案 QuestechFlashMovie.wsp 和程序集 QuestechSystems.SharePoint.FlashMovie.dll。这使得我在 CodeProject 中的其他示例解决方案能够与此自定义字段共存。
- 将功能从
QuestechColumns
重命名为QuestechFlashMovieColumns
- 删除了功能
QuestechAppGlobalResources
- V1.1 - 2008.08.12
- 添加了对 YouTube 视频的支持
- 修改了表单视图布局
- 将
swfobject
升级到 V2.1
- V1.0 - 2008.04.26 - 基础版