Sharepoint 防止同时编辑列表项

Sharepoint 防止同时编辑列表项,sharepoint,concurrency,moss,Sharepoint,Concurrency,Moss,在Sharepoint MOSS中,多个用户可以同时编辑Sharepoint列表中的同一项目…第一个保存其编辑“胜利”的人 是否有办法防止这种情况发生,即在编辑列表项时锁定列表项 注意:这是指自定义列表-不是文档库中的文档不可能-签入/签出仅支持具有关联SPFile对象的列表项(图像、页面、文档-基本上是从SPDocumentLibrary派生的所有内容) -Oisin有几种方法可以做到这一点,都是定制的。正如Oisin在他的文章中所说,本机签入/签出引擎需要一个关联的文件 想法: Javasc

在Sharepoint MOSS中,多个用户可以同时编辑Sharepoint列表中的同一项目…第一个保存其编辑“胜利”的人

是否有办法防止这种情况发生,即在编辑列表项时锁定列表项


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

不可能-签入/签出仅支持具有关联SPFile对象的列表项(图像、页面、文档-基本上是从SPDocumentLibrary派生的所有内容)


-Oisin

有几种方法可以做到这一点,都是定制的。正如Oisin在他的文章中所说,本机签入/签出引擎需要一个关联的文件

想法:

Javascript

  • 嵌入在列表模板中的修改后的EditForm.aspx文件,XmlHttpRequest检查“已签出项目列表”存储库,在当前编辑该文件的用户10-20分钟不活动后过期/删除该检查
.NET

  • 事件处理程序:我尚未选中,但如果自打开项目后修改日期发生更改,则ItemUpdate事件类型可能会阻止您更新该项目,并表示该项目在编辑时已修改,需要更新(在SharePoint中克隆aspx/发布页面的行为)
Infopath

  • 我注意到您说您没有企业版,但您的用户可以在其计算机上安装InfoPath客户端,并在本地填写表单
现在让我们开始游戏:)

空文档模板

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

  • Word 2007可以创建与表单类似的文档,用户只能在其中填写所需的确切字段,excel也可以(创建Infopath是因为用户将这些程序用于表单)

我认为这里没有“编辑项目时”的安全定义。任何人都可以打开一个项目的编辑表单,让它永远留在那里。你肯定不想在那一点上锁定其他用户,是吗?这是“悲观锁定”策略的明显缺点,我们希望在几个列表中实施这种策略。我意识到“开箱即用”的Optinist并发在大多数情况下更有用——但并不总是如此。我想象着这样一条信息:“您不能编辑此项目,因为它目前被‘Bob Smith’锁定。Mondo,您有MOSS enterprise吗?您也可以创建一个infopath表单来替换自定义列表的Web表单。当然,那时您必须使用内容类型(但这始终是一个很好的做法)。使用infopath,您将有更多的选择;例如,在网站集的根目录中调用包含“锁”的列表,并内联显示消息。嗨,xOn-很遗憾,我们只有标准版本,但您的帖子让我想到了正确的方向(我希望如此)。是否可以使用javascript自定义EditForm.aspx(jQuery for SP maybe-)to:1)OnLoad-检查当前listitem ID是否在“锁”中“列出您描述的2)如果存在,则显示警告消息,否则将当前用户名和listitem ID添加到锁列表中。”。3) 从“卸载”页的“锁定”列表中删除该条目。听起来可能吗?谢谢你在这方面的帮助!!!我有一个和你相似的要求,我在谷歌上搜索了很多,但没有找到一个好的职位。你能帮我吗?