我们都知道,Excel2003是可以非常方便的与SharePoint列表进行双向同步,而到了2007版本,这个功能被取消并移植到了Access2007上。就在上周末的课程上,我还在对学员们讲,这个同步功能要到Access里面做了,而我刚刚发现微软已经发布了弥补这个功能的插件!
http://msdn2.microsoft.com/en-us/library/bb462636(office.11).aspx
这个文档描述了如何将Excel表直接发布到SharePoint网站上,或者如何将修改同步到SharePoint网站上。
点击这里下载此插件
我试用过了,让人十分兴奋!Excel2003的用户可以放心的升级了。
安装后,Ribbon中将出现这个按钮,点击可以将当前的列表发布到SharePoint网站上:
如果需要同步的话,就在当前的表格中点右键,选择“表格”-->“与SharePoint列表同步”
还不快去下载试试!
<Updated>
Thanks for your time to leave comments here, and I'll keep them as my treasure.
But sorry to block more, I would like to see more technical things, and I'll be careful next time I advertise on Joycode.
Thank you all.
</Updated>
上周末,我们度过了非常紧张的三天,通向分享MOSS2007培训的应用管理部分圆满结束。
感谢所有来参加的学员,感谢我的两位助理,也感谢杜伟的不辞辛苦。
本周末(6月30日和7月1日),MOSS2007的开发培训将隆重开始,届时,资深SharePoint开发大牛杜伟老师将全面介绍SharePoint的开发框架和实践经验,当然,还会有丰富的动手实验。
课程还有非常有限的几个空位,需要的话赶快报名,周六周日两天,价格2000元/人。
联系方式:
http://www.colladec.com/class.aspx
或发送邮件到:training@colladec.com
内容丰富的讲义:
在回答这个仁者见仁的问题之前,我先来解释一下什么是SharePoint解决方案包(Solution Pack)。
在SharePoint上做开发时,我们会发现,所开发的某个功能或某套功能基本都可以分为如下几个方面:
1、特定化的SharePoint列表模板及其实例
SharePoint提供了非常灵活的数据存储容器:列表,所以我们经常借助这些列表(或文档库)来实现我们的功能。
而且,有的时候我们正在开发的功能就是用来管理某些列表或文档库的。
2、特定化的网站模板
有可能我们所开发的功能非常大,所以需要一个特殊的SharePoint网站来呈现。
3、Web部件
我们可以把功能特定的Web部件放到需要的页面上,以此来拼装呈现给用户的最终UI。
4、事件处理程序
除了用Web部件来与用户进行UI的交互之外,我们可能还需要监控网站数据的变化,所以事件处理程序有时也不可缺少。
5、自定义的操作
SharePoint在自己的界面上提供了大量的管理操作按钮、菜单、链接,我们开发的内容也可能需要在其中加载自己的操作。
6、其他的种种…………
综上,可以看到,一套自己开发的SharePoint解决方案可能包含各种各样的内容:功能(这个功能指的就是SharePoint的“功能”了,也就是Feature),程序集,Web部件属性说明文件,列表或网站模板等等等等。如何把这一大堆内容一次性安装到SharePoint环境中,而不必一个一个的部署呢?
答案就是:SharePoint解决方案包(SharePoint Solution Pack)
一个SharePoint解决方案包就是一个后缀为.wsp的文件,这个文件其实就是一个.cab文件,里面包括了前面提到的一个大功能所包含的所有小方面。
部署的时候,只需要执行命令行操作:
stsadm -o addsolution -filename <path>\YourSolution.wsp
这个解决方案包就被添加到SharePoint服务器场上了
我们再进入SharePoint管理中心,在“操作”选项卡中选择“解决方案管理”,就可以对这个解决方案进行最终部署,部署后,所有里面包含的功能和程序就都发布到SharePoint网站中了。非常非常的方便。
于是,回到了本文标题的问题,如何把我们的开发工程打包成一个SharePoint解决方案包,生成出这个.wsp文件呢?
方法有很多,我以前经常参考的方法是Andrew的方式,利用VS2005和makecab.exe生成wsp文件:
http://www.andrewconnell.com/blog/articles/UsingVisualStudioAndMsBuildToCreateWssSolutions.aspx
但这种方式略为复杂了一些。
杜伟经常用的方法是自己写那堆配置文件,或者借助某些第三方cab生成工具进行打包。
但这都无法避免去直接操作那些并不复杂但有些繁琐的xml文件。
昨天,我百无聊赖地随便乱搜,找到了刚刚发布不久的一个开源命令行工具WSPBuilder,它的作者是Carsten Keutmann(不过好像SharePointBlogs连同SharePointu一起挂掉了)
今天试了一把,非常好用。借助这个命令行工具,你只需要把你的解决方案中涉及到的所有文件都按最终部署路径排好,然后运行这个命令行程序,wsp文件就会自动生成出来。
举例如下:
我开发了一个小功能,里面涉及到一个Web部件和一个自定义了字段的列表。
首先把Web部件的dll编译好,以及描述这个Web部件属性webpart文件准备好。
然后制作出能够自动生成出这个自定义列表的Feature(这个过程我会在下一篇博客文章中介绍给大家)
打包过程如下:
1、创建了一个文件夹名为“FavouriteResult”。
2、在这个文件夹下面创建了“12”和“80”目录。
3、在“80”目录下,我放置了带有上述dll的bin目录,和带有webpart文件的wpcatalog目录。
4、在“12”目录下,创建“Template\Features”路径,并把我自己开发的Feature放在这个路径里。
5、把WSPBuilder工具的两个文件(一个exe,一个dll)拷贝到FavouriteResult文件夹里。
6、双击WSPBuilder.exe。
7、我需要的wsp文件就生成出来了。
接下来的操作就是用命令行添加这个wsp文件,再在管理中心里部署这个Solution了。
注意,由于这个命令行工具是个老外开发的(好像是德国的),所以,用来生成wsp文件的这个路径(在这个例子里就是FavouriteResult文件夹)不能夹杂中文。不过这是一个开源项目,有兴趣的话,你也可以给完善一把。
总之,这个程序是我最近遇到的最棒的SharePoint工具,大家如果有需要制作SharePoint解决方案包的话,不妨试一试。
【更新】我和杜伟的幻灯片以及杜伟的演示代码样例可以到如下链接下载:
http://www.sharepointcn.com/SharePoint/Forms/AllItems.aspx
非常感谢所有出席这次活动的朋友,感谢OTEC提供这次机会,也感谢所有为这次活动付出辛勤工作的同伴。
目前正在统计反馈情况,许多出席的朋友都觉得这次的内容深度不够。
当时是考虑到第一次,有一些报名的朋友都注明希望了解SharePoint技术,所以把内容安排得概述的性质很重。
希望能够在今后举办更多这样的交流活动,每次注重某一个或几个专题,讲深讲细,这样应该能给大家更多的帮助。
首先,由OTEC(Office技术专家俱乐部)主管贾玄致开场白:
然后由我为大家介绍MOSS2007解决方案通览。最终出席人数为90位,大大超出了我的预期。
午餐之后,微软技术专家李劼介绍MOSS2007搜索概述:
下午,了不起的SharePoint开发大师杜伟为大家介绍SharePoint的开发概述:
难得同时见到这么多SharePoint爱好者:
SharePoint MVP 张弛:
了不起的Kaneboy
此次活动的讲义和样例代码,还有会议上发的资源光盘,我会尽快挂到网站上。(因为比较大,正在找合适的托管网站)。
在“通向分享”的幕后,有一位贡献颇多但经常活跃在Linux及开源软件社区的高手,美工程序样样精通,ASP.NET和SharePoint只是他的业余爱好……
欢迎到他的技术博客看看:http://www.fire3.cn/
总有人问我们,如何控制SharePoint的字段级权限,意思就是说,比如一个列表记录或者一个文档,我们想让这个记录的某个字段只让某个人或某些人可以编辑。
但我们之前的答案一直是“这不是SharePoint默认提供的功能,SharePoint只提供到条目级的权限”。意思也就是说,我们可以在SharePoint里区分不同的文档,或不同的列表条目给不同人以不同的权限。
那究竟如何解决这个问题呢?
Kevin DeRubber用“自定义列表字段”的方法给出了解答。他开发了一个叫“Private Field”的列表字段,如果我们某些字段需要赋予特殊的权限,那么就在设计列表或文档库元数据的时候使用这种字段。这个字段在初始化的时候是可以设定其可编辑人员列表的:


详细信息请到他的这篇文章上阅读,这个自定义列表字段是提供免费下载的。