Sharepoint 2007 与 MS Office 2007 页脚
我们需要一个文档管理解决方案,并希望 SharePoint 2007
能够满足我们的需求。 我们觉得我们的需求相对简单。 我们需要管理版本控制、拥有搜索功能以及审批工作流程。
SharePoint
开箱即用地处理了这三个方面。
但是,我们还要求 Office 2007(Word、Excel 和 PowerPoint)文档上的页脚反映文档版本、最后修改者以及最后修改日期。 这些事情都可以通过办公自动化来完成,但是我们还没有找到完整的解决方案。
我们首先尝试在签入和签入事件上执行此操作,并遵循此路径一段时间,但是,我们遇到的复杂情况是,在对文档进行更改后,我们无法阻止保存更新版本号。 这导致了类似的结果:
文档签入 - 文档版本应该是 v0.1,但它是 v0.2,因为我们在替换页脚后保存文档。 如果我们查看文档历史记录,我们会发现有 2 个单独的版本 v0.1 没有页脚 v0.2 有页脚,但它显示 v0.1,因为这是文档被替换时的版本。
这对我们来说是一个不可接受的解决方案,因为我们希望该过程完全在用户端处理,这样他们就可以完全控制恢复到页脚不正确且不包含正确数据的版本。 当我们尝试创建自定义审批/签入工作流程时,我们发现存在同样的问题。 页脚是必要的,以便可以将硬拷贝追溯到其电子版本。
向我们提出的另一个解决方案是为 Office 构建插件来处理页脚的替换。 这不足以满足我们的需求,因为它需要在客户端部署我们的插件,这是我们的客户所不希望的。 我们正在寻找一个干净的解决方案来解决这个问题。
We had a need for a document management solution and were hoping SharePoint 2007
would satisfy our needs. We felt our needs were relatively simple. We needed to manage versioning, have searching capabilities, and having an approval workflow.
SharePoint
handled these three aspects great out of the box.
However, we also require that the footer on the Office 2007 (Word, Excel, and PowerPoint) documents reflect the document version, last person to modify, and last modification date. These things can be done with office automation, but we have yet to find a complete solution.
We first tried to do it on the checking-in and checked-in events and followed this path for a while, however, the complication we ran into was after we made the changes to the document we had to no way of preventing the save from updating the version number. This resulted in something similar to this:
Document checked-in – the document version should be v0.1 however it is v0.2 because we save the document after the footer is replaced. If we look in the document history we there are 2 separate versions v0.1 does not have the footer v0.2 has the footer but it says v0.1 as that is the version the document was when it was replaced.
This is an unacceptable solution for us as we want the process to be completely handled on the user side so they would have full control to revert back to a version where the footer would be incorrect and not contain the correct data. When we attempted to create a custom approval/check-in workflow we found that the same problem was present. The footer is necessary so that hard-copies can be traced back to their electronic counterpart.
Another solution that was proposed to us was to build plugins for office that would handle the replacement of the footer. This is inadequate for our needs as it requires a client side deployment of our plugins which is undesirable by our clients. What we are looking for is a clean solution to this problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此信息是否需要位于页脚中? Office 2007 应用程序中提供了大量信息。 如果单击左上角的圆形按钮,然后选择“服务器”,您可以查看版本历史记录,通过单击圆形按钮并打开“准备”菜单,然后选择属性,可以使用许多其他属性。
如果此信息必须显示在文档页脚中,我将研究创建自定义信息管理策略。 这可能是一个很好的起点。
Does this information need to be in the footer? A lot of the information is available within the Office 2007 application. If you click on the round button in the upper left, and select "Server", you can view the version history, a lot of the other properties are available by clicking the round button and opening the "Prepare" menu, and selecting Properties.
If this information must be displayed in the document footer I would investigate creating a custom Information Management Policy. This may be a good place to start.
这是博客文章 这似乎正是您问题的解决方案。
基本上,他们在文档库中创建一个自定义字段,并使用事件接收器将文档的当前版本保留在该字段中。
“技巧”是,在客户端,此自定义字段显示为文档的属性,您可以轻松地将其值嵌入到文档的内容中。
我不确定为什么更改字段不会增加文档的版本,但我想这是因为您只是更改元数据,而不是实际文档。
他们确实使用了一些在客户端运行的 VBA 脚本,但不需要任何客户端部署,因为它是随文档一起下载的。 但是我不确定客户端是否需要更改任何安全设置才能允许脚本运行。
Here is a blog post which seem to be exactly the solution of your problem.
Basically they create a custom field in the document library and use event receivers to keep the current version of the document in this field.
The "trick" is that on the client side this custom field shows up as a property of the document the value of which you can easily embed into the document's contents.
I'm not sure why changing the field won't increase the version of the document, but I guess it is because you're only changing metadata, not the actual document.
They do use a little VBA script which runs on the client side, but it doesn't require any client side deployment as it is downloaded with the document. However I'm not sure if any security settings changes on the client side may be needed to allow the script to run.