阻止并发编辑列表项

时间:2009-11-07 21:53:22

标签: sharepoint concurrency moss

在Sharepoint MOSS中,多个用户可以同时编辑共享点列表中的相同项目...第一个保存编辑“赢”的人。

有没有办法防止这种情况,在编辑时锁定列表项?

注意:这是指自定义列表 - 文档库中的文档

2 个答案:

答案 0 :(得分:2)

不可能 - 只有具有关联SPFile对象的列表项(图像,页面,文档 - 基本上是从SPDocumentLibrary派生的所有内容)才支持checkin / checkout

-Oisin

答案 1 :(得分:0)

有几种方法可以做到这一点,所有习惯。正如Oisin在其帖子中所说,本机签入/签出引擎需要一个文件关联。

思路:

<强>的Javascript

  • 修改后的EditForm.aspx文件,嵌入在列表模板中,XmlHttpRequest检查“Checked-out Items List”存储库,在用户不活动10-20分钟后过期/删除检查目前正在编辑文件。

<强> .NET

  • 事件处理程序:我没有检查过,但是如果自打开项目后修改日期发生更改,则ItemUpdating事件类型可能会阻止您更新它,说该项目在编辑时已被修改并需要更新(克隆行为SharePoint中的aspx /发布页面)

<强> InfoPath中

  • 我注意到您说您没有企业版,但您的用户仍然可以在他们的计算机上安装InfoPath客户端并在本地填写表单。

现在让我们开始玩乐:)

空文档模板

  • 您可以通过自己的方式创建一个超级“添加项目”按钮,上传/创建一个带有空文档(.txt)的新文档库项目,并将用户直接重定向到“编辑属性”表单。当我用“文档库”替换“我的网站”配置文件中的“更改图像”时,我这样做了。

Word文档

  • Word 2007可以创建类似于表单的文档,其中用户只能填写您想要的确切字段,因此可以excel(Infopath是因为用户将这些程序用于表单而创建的。)