65.9K
CodeProject 正在变化。 阅读更多。
Home

WSS 3.0 的 Flash 电影字段

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.55/5 (6投票s)

2008年4月26日

CPOL

4分钟阅读

viewsIcon

107984

downloadIcon

662

WSS 3.0 的自定义 Flash 电影字段,用于渲染 Flash 电影

Figure 1

图 1

Figure 2

图 2

引言

Flash Movie Field 是一个自定义 WSS 字段,用于渲染 Flash 电影和 YouTube 视频。它使用优秀的 swfobject 来渲染 HTML 和 JavaScript,以实现最大的浏览器兼容性。在编辑模式下,作者指定 Flash 电影的 UrlWidthHeight。通过修改附加的源代码,可以轻松添加可选参数。

描述

Flash Movie Field 基于新的字段类型 SPFieldFlashMovie。它具有以下属性或列值:

  • Url - Flash (.swf) 电影或 YouTube 视频的 URL,例如 /media/map.swfhttp://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 字符串。它设置自定义字段的显示名称以及创作期间 UrlWidthHeight 属性的标签字符串。部署到 ..\12\Resources\.
  • \SharePoint\RootFiles\TEMPLATE\CONTROLTEMPLATES\
    QuestechFlashMovieFieldTemplate.ascx

    FlashMovieField 的表单编辑视图,包含 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)。它包含三个项目:DeploymentFeaturesSharePointSharePoint 项目包含自定义字段的源代码。Features 项目包含支持部署的功能。Deployment 项目包含一个预构建脚本,用于聚合部署所需的所有文件。它包含一个 Solution 目录,WSP 文件将在此生成并通过后构建脚本进行部署。

这种 Visual Studio 解决方案和项目结构旨在支持全面扩展到 MOSS/WSS 开发和部署。您可以添加额外的项目,例如用于 MOSS 发布开发的 SharePoint.Publishing。在您的 SharePointSharePoint.Publishing 项目中,可以包含自定义组件,如用户控件、Web 控件、Web 部件等。

安装

要部署自定义字段,请按照以下步骤操作:

  1. 使用 stsadm,在 \Deployments\Solution\ 中安装解决方案文件 QuestechFlashMovie.wsp
    stsadm -o addsolution -filename QuestechFlashMovie.wsp
  2. 打开 SharePoint 3.0 Central Administration,导航到 Operations/Global Configuration/Solution Management。将 QuestechFlashMovie.wsp 部署到选定的 Web 应用程序。
  3. 导航到选定 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" />
...

参考文献

  1. 在 WSS V3 中创建自定义字段类型 - Jim Yang
  2. SharePoint 资源、类型、用法和部署 - Mikhail Dikov
  3. swfobject
  4. SharePoint 功能 - MSDN Magazine
  5. SharePoint 2007 功能 - 创建站点列和内容类型 - Share This Point
  6. 使用 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 - 基础版
© . All rights reserved.