【问题标题】:List Eventhandlers versioning/approval/check-in/check-out列出事件处理程序版本控制/批准/签入/签出
【发布时间】:2011-08-15 18:02:18
【问题描述】:

我们看到的问题是,如果您取消文档签出并且更改了部门(具有不同的安全性),则文档权限不会更新/更改回之前发布的版本权限。发生的情况是,如果您取消签出,则事件处理程序不会触发,并且我们认为在您执行此操作时无法触发它(还)。事件处理程序正在更改已发布的版本,即文档 v1.0 安全性,只要我们更改部门,它应该只更改文档 v1.1(现在处于草稿模式)的安全性,然后当我们取消签出时安全性是正确的,但 EH2 正在改变两个版本的安全性

编辑

我们使用的是 2010。我意识到安全性和签入/签出是两个独立的功能,但我们遇到的问题是当我们编辑文档时它会强制签出(版本控制已打开)。当编辑发生时,我们有一个事件处理程序,它会根据文档的元数据列触发和更改文档权限。

这是整个过程: 上传新文档 分配元数据(一列表示分配文档的权限) 现在以编程方式将文档权限设置为唯一 - 现在文档具有基于上述列选择的唯一权限然后,用户可以通过更改元数据列来更改文档权限。如果没有启用版本控制/签入/签出,这可以正常使用签入/签出和版本控制;所有版本的文档权限都会更改,包括已发布版本和草稿版本。然后,如果他们取消签出,文档元数据将返回到正确的版本,但权限不会被更改回来,因为没有任何东西可以触发用于更改权限的 itemupdate 事件。

我们正在寻找一种方法,让它在发生这种情况时根据当前发布的版本重新应用权限,或者保持每个版本的权限唯一,因为 SharePoint 将它们视为单独的文档。

因此,例如,在草稿获得批准之前,文档可能具有具有一组权限的草稿版本和具有另一组权限的已发布版本。

【问题讨论】:

  • 保罗,这不是论坛。要提供更多信息,请始终编辑您的原始问题。请参阅faq

标签: sharepoint event-handling checkin


【解决方案1】:

SharePoint 支持的最低安全级别是列表项级别。如果您修改列表项(或文档)的安全性,它始终应用于该项目的所有版本。取消结帐并没有真正改变它仍然是同一个列表项的事实。取消签出也不会回滚您在事件处理程序中执行的所有代码。

【讨论】:

  • 谢谢汤姆,请看我上面的回复。我不得不回答我自己的问题,因为添加评论框没有足够的空间供我回复。
  • 谢谢汤姆,我们使用的是 2010。我意识到安全性和签入/签出是两个独立的功能,但是我们遇到的问题是当我们编辑文档时它会强制签出(版本控制已转在)。当编辑发生时,我们有一个事件处理程序,它根据文档的元数据列触发和更改文档权限。整个过程如下: 上传新文档 分配元数据(一列表示分配文档的权限)[由于空间限制,继续下一条评论]
  • 现在以编程方式将文档权限设置为唯一 - 现在文档具有基于上述列选择的唯一权限 然后用户可以通过更改元数据列来更改文档权限。如果没有版本控制/签入/签出,这可以正常工作 签入/签出和版本控制;所有版本的文档权限都会更改,包括已发布版本和草稿版本。 [由于空间限制,继续下一条评论]
  • 然后,如果他们取消签出,文档元数据将返回到正确的版本,但权限不会被更改回来,因为没有任何东西可以触发用于更改权限的 itemupdate 事件。我们正在寻找一种方法,让它在发生这种情况时根据当前发布的版本重新应用权限,或者保持每个版本的权限唯一,因为 SharePoint 将它们视为单独的文档。 [由于空间限制,继续下一条评论]
  • 因此,例如,在草稿获得批准之前,文档可能具有具有一组权限的草稿版本和具有另一组权限的已发布版本。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2011-08-20
  • 2017-08-19
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多