我想创建一个自定义的文献图书馆,在那里我用的标准UI但实施不同的持久性层。基本上获取和显示文件从不同来源的系统。这样我可以利用现有的对象的模式,但利用该办公室的整合在SharePoint。

我发现了一个不错的文章 在这里, 但是他们作弊,他们有的编码一个完全新的用户界面,用于外部的持久性。

我已经看过SPList和SPDocumentLibrary对象,但我不能复盖所有必要方法。

我已经看过的事件框架,它是更接近,但它缺乏重要的事件,例如'GetFile'或'PopulateList'.

任何想法?

有帮助吗?

解决方案

这不是一个完美的(或者可能甚至是一个"好")适用于什么你想要做,但我提到,它主要用于提高认识,并可能给你一些其他想法(和警告).

SharePoint的存储架构利用了两个不同的后端存储:一个元数据(总SharePoint的SQL数据库),和另一个为BLOB储存(也SQL通过默认)。在其目前的形式,虽然、SharePoint可以让你"丝-在"自己的BLOB储存提供者通过一种类型,实现了ISPExternalBinaryProvider接口。布,在一种类型,实现了这个界面,你可以继续存储的元数据SQL同时储存文件和其他BLOB项目的类型以不同的商店的选择。

这可能听起来有点有希望的,但是有几个严重的考虑:

  1. 接线-在你自己的ISPExternalBinaryProvider有一个农场广泛的影响。它的全有或全无的,因此,一旦提供者是有线在,所有网站和方法将使用新的提供商。

  2. 你会需要潜入管理的代码,作为ISPExternalBinaryProvider是这样做需要你到工作与一些IDL。

你可以阅读这里: http://msdn.microsoft.com/en-us/library/bb802976.aspx

我的看法是,外部BLOB存储(EBS)系统是一个"原型"在这一点--不是已经准备好进入黄金时间。如果没有别的,但是,它给你一些思考。SharePoint服务器2010年将有希望做更多的工具,并使其更具吸引力和易于实现。

为什么它的价值!

其他提示

我已经使用了在该库的文件的创建和更新运行的持续性工作流执行SQL持久性表单库。

我创建在Visual Studio 2008的Office SharePoint 2007的工作流项目,检索我的SPItem文档内容和提取由Web窗体的InfoPath生成的XML的相关数据,并将其保存到数据库中。

如果你真的想要推出自己的外部持久性,尽量TechNet上采取看看这个全新的,广泛的文章从六月:

http://technet.microsoft.com/en-us /magazine/2009.06.insidesharepoint.aspx

现在,递给我奖金。 ;)

遗憾地说,但ISPExternalBinaryProvider是要做到这一点恐怕如果你想使用标准UI的唯一途径。

P.S。另一个重大挫折是备份/版本的噩梦。甚至不知道如果版本是支持的。

也许SharePoint 2010中会有更好的方式来做到这一点...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top