随笔 - 76  文章 - 0 评论 - 705 trackbacks - 84
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

camlquery 类库下载:
 http://www.codeplex.com/camlquery
SPCAMLEditor 下载:
 http://www.codeplex.com/SPCAMLEditor

与我联系

搜索

 

留言簿(22)

我参与的团队

随笔分类(68)

My Friends

SilverLight

wss

积分与排名

  • 积分 - 77549
  • 排名 - 506

最新随笔

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

SPCAMLEditor是一个可以用来编辑WSS(MOSS)视图和字段的Schema的工具,利用它,我们可以比较容易的来修改列表的视图和字段。

这篇文章将介绍SPCAMLEditor的实际应用之一:
扩展系统已有的字段,实现新的字段显示逻辑。利用这个特性,我们来把系统默认的文档库打造成一个具有在线播放功能的“媒体库”。

Step1)下载软件

SPCAMLEditor请到以下地址下载:
https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=SPCAMLEditor&ReleaseId=12879
将软件下载到到WSS或MOSS服务器上,运行其中的SPCAMLEditor.exe文件,第一次运行时会弹出一个command窗口,来注册一些dll。

Step 2)新建文档库

新建一个文档库,假设名称为 MediaDoc1,当然,你也可以采用已有的文档库。

Step 3) 打开站点

在SPCAMLEditor的File->Open Site菜单,输入站点URL打开站点,并导航到MediaDoc1库,如下图:


Step4) 复制出一个新字段

我们将利用系统已有的字段复制出一个新字段进行修改,找到“编辑”字段,单击鼠标右键,单击 Copy。

如果出现以下的错误信息,单击确定,并利用工具栏上的按钮刷新一下。



Step5)修改字段属性

找到我们刚刚新建的字段,默认名称为 "编辑_Copy",单击右键,单击 Property菜单,如下图:

在Property窗口,我们来修改如下字段的属性:
Title=“播放”
ShowInDisplay=true
ShowInEditForm=false
ShowInNewForm=false
如下图所示,修改完后,单击OK。

注意,Copy出的字段可能不允许删除,如果需要删除这个字段,把它的ReadonlyField属性改为false,AllowDeletion属性改为true,然后即可删除。

Step6)修改字段Schema

切换到SchemaXml tab,并选中DisplayPattern节点,将右边编辑窗口的内容替换成如下xml:
<DisplayPattern>
  
<HTML><![CDATA[
       <object name="wmplayer" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/  
 controls/mplayer/en/  
 nsmp2inf.cabVersion=6,4,5,715" </DIV>  
 type="application/x-oleobject" width=405 height=340 hspace="0"   
 standby="Loading Microsoft Windows Media Player components"   
 id="NSPlay">  
               <param name="AutoRewind" value=0>  
               <param name="FileName" value="
]]></HTML>
  
<Field Name="ServerUrl" />
  
<HTML><![CDATA[">              
               <param name="ShowControls" value="1">  
               <param name="ShowPositionControls" value="0">  
               <param name="ShowAudioControls" value="1">  
               <param name="ShowTracker" value="0">  
               <param name="ShowDisplay" value="0">  
               <param name="ShowStatusBar" value="1">  
               <param name="ShowGotoBar" value="0">  
               <param name="ShowCaptioning" value="0">  
               <param name="AutoStart" value="1">  
               <param name="Volume" value="2000">  
               <param name="AnimationAtStart" value="0">  
               <param name="TransparentAtStart" value="0">  
               <param name="AllowChangeDisplaySize" value="1">  
               <param name="AllowScan" value="0">  
               <param name="EnableContextMenu" value="0">  
               <param name="ClickToPlay" value="0">  
             </object>        
            
      
]]></HTML>
</DisplayPattern>
如下图所示:

在“播放”节点单击鼠标右键,单击Update菜单,如下图:


OK,这个字段已经基本上完成了,本例中的编辑器代码嵌入的是MediaPlayer,大家可以按照需要嵌入其他编辑器的代码。
先在到文档库中上传一个wmv文件,转到查看属性页面,预览一下效果吧:

流口水吧??哈哈~

好像还有点不完善,用户必须通过下拉菜单才能转到视频查看页面,多不方便?
我们再接再厉,继续搞一个 链接字段,直接链到查看页面。

按照以上的步骤,再Copy一个 “编辑”字段,改名为“在线播放”, 选中在线播放字段的“DisplayPattern”节点,将它的内容换成如下内容:
<DisplayPattern>
  
<HTML><![CDATA[<a href="]]></HTML>
  
<URL Cmd="Display" />
  
<HTML><![CDATA[">]]></HTML>
  
<Property Select="DisplayName" />
  
<HTML><![CDATA[</a>]]></HTML>
</DisplayPattern>
Update“在线播放”字段,如下图:


然后,到视图设置界面把”在线播放“字段添加到列表页面,并取消不需要的字段,这个“视频库”就可以完成了:



基于本文的思路,大家可以发挥自己的想象,做成更多的字段来。

附:
为了更好复用这个库,可以到文档库设置页面把它另存为列表模板,以后,我们就可以直接来建立”媒体播放库“啦。

下面是一个导出好的文档库模板,”懒于“动手的朋友可以直接把它上传到列表模板库使用:
http://files.cnblogs.com/jianyi0115/MediaDocLib.zip

要充分发挥SPCAMLEditor的功能,来定制WSS,你需要了解一下CAML,参考:
http://msdn2.microsoft.com/en-us/library/ms946721.aspx
http://msdn2.microsoft.com/en-us/library/ms480526.aspx



Tag标签: SPCAMLEditor
posted on 2008-04-28 22:26 jianyi 阅读(1937) 评论(23)  编辑 收藏 所属分类: Sharepoint

FeedBack:
#1楼  2008-04-28 22:59 春之歌 [未注册用户]
高,实在是高。
  回复  引用    
#2楼  2008-04-29 02:48 哇哈哈 [未注册用户]
效果图是本文亮点。
  回复  引用    
#3楼  2008-04-29 08:21 李战      

  回复  引用  查看    
#4楼  2008-04-29 08:32 benbenx      
强烈要求提供视频文件下载!
  回复  引用  查看    
#5楼  2008-04-29 08:49 大力bober      
哈哈,
LZ居然也有这段经典的视频
  回复  引用  查看    
#6楼 [楼主] 2008-04-29 09:43 jianyi      
要视频文件的请留下email,哈哈....
  回复  引用  查看    
#7楼  2008-04-29 14:35 风中的猪儿      
jianyi大哥,我要那个视频~~~~快提供下载地址
  回复  引用  查看    
#8楼 [楼主] 2008-04-29 16:54 jianyi      
@风中的猪儿
忘记地址拉....只有电脑上有....
  回复  引用  查看    
#9楼  2008-04-29 17:50 小飞猪 [未注册用户]
我也要视频,已经留E-mail拉,嘿嘿
  回复  引用    
#10楼  2008-04-29 17:51 生鱼片      
我看了这文就想到,大家比较关注那视频,呵呵
  回复  引用  查看    
#11楼  2008-05-07 10:59 ShanHai [未注册用户]
多谢大哥。

我也要视频,已经留E-mail
  回复  引用    
#12楼  2008-05-21 17:05 李保军 [未注册用户]
我的意思是转向一个自已定义好的文件如xin.aspx?Title=001这样的链接.而这个001是Title字段的值.,
  回复  引用    
#13楼  2008-05-23 17:57 李保军 [未注册用户]
哥:CAML语言能不能编程呀。也就是用于统计,分组什么的。像SQL语句那样。
  回复  引用    
#14楼 [楼主] 2008-05-24 11:05 jianyi      
@李保军
可以的,但是比较简单(不可能有SQL那么去强大)。分组是有的,视图不是有分组的功能吗?就是用CAML来实现的。但是我觉得,好像是这个分组只能用于呈现--即Render出HTML,若用SPQuery查询,即使设置了分组,貌似也没有效果。
  回复  引用  查看    
#15楼  2008-05-26 14:36 假正经哥哥      
视频很ok

  回复  引用  查看    
#16楼  2008-06-05 17:17 RongZhen      
还是视频比较吸引人
yc.rong@gmail.com
  回复  引用  查看    
#17楼 [楼主] 2008-06-05 20:12 jianyi      
@RongZhen
看来视频的确吸引人,决定上传视频:
aHR0cDovL3d3dy5jbmJsb2dzLmNvbS9maWxlcy9qaWFueWkwMTE1L21tMTIzNDU2d3FlcnR5LnppcA==
base64编码URL,哈哈。
  回复  引用  查看    
#18楼  2008-07-09 17:51 little [未注册用户]
#19楼  2008-07-23 13:51 JerryShi      
唉,佩服佩服,我找到的解决方案总会出现搂主得踪影
  回复  引用  查看    
#20楼  2008-08-06 17:40 xilang [未注册用户]
打开后,弹出“无效的URI:无法确定URI的格式,如何解决啊?xilang2000@163.com
  回复  引用    
#21楼 [楼主] 2008-08-06 22:17 jianyi      
@xilang
没碰过过这个现象,问题还有的话可以描述下你的使用场景。
  回复  引用  查看    
給俺一份 视频 谢谢
  回复  引用    

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-11 00:02 编辑过