使用Word/Office进行版本控制,但使用专有文档存储库(即非Sharepoint),是否有提供商模型来满足需求?

13
我找不到任何有关如何连接到 Word 2010 的版本控制功能的资源。我知道它与 Sharepoint 无缝连接,可以访问 Sharepoint 文档库的功能。但是如果我想排除 Sharepoint 作为我的存储库,我该如何利用 Word/Office 互操作 API 使用“管理版本”等功能?例如,版本控制功能是否具有提供程序模型?
我知道有插件可以将 Word 连接到 Perforce 和 Subversion 存储库,但是它们似乎没有使用本地的 Word 功能,并且通过额外的上下文菜单项和功能区/自定义任务窗格相关控件来提供其功能,即不使用 Word 内置的版本管理设施。
当然,任何资源或建议都将很有帮助。

经过更深入的调查,看起来通过Word/Office提供的“版本控制”是硬连到SharePoint(ShareWorkspace概念)的。我想要弄清楚这一点,因为我想要重复利用尽可能多的应用程序功能,并提供更一致的方法... - brumScouse
有点偏题,但如果您找不到特定问题的解决方案,SVN 可以帮助您维护版本控制。我相信 Dropbox 和/或 Google Drive/Docs 也提供类似的功能,并且它们都有相当不错的 API。 - Pseudonym
2个回答

1
我不能告诉你如何完全集成,但我可以给您一些细节,应该会有所帮助。
版本控制不是Office 2010的功能;接口与SharePoint文档库版本控制集成,这就是您需要模仿的。在SharePoint中,为历史版本创建了一个“虚拟”目录。如果您的文档位于“domain/sites/site/MyLibrary/MyDoc.docx”,您的第一个主要版本将位于“domain/sites/site/_vti_history/512/MyLibrary/MyDoc.docx”。主要版本始终是512的倍数,而次要(草稿)版本增加1。如果在第一个主要版本之前创建了草稿,则可以从1开始使用次要版本。
Office API可以通过DocumentLibraryVersions集合对象和DocumentLibraryVersion对象引用文档的版本信息。虽然后者有几个方法(恢复或删除现有版本),但DocumentLibraryVersion对象的属性是只读的。看起来,在将文档存储在启用版本的库中的过程中,DocumentLibraryVersions.IsVersioningEnabled属性设置为True,但我不确定还需要什么才能使Word将另一个系统视为SharePoint以实现集成。
请记住,如果您成功地完成基本集成,则Word还希望使用Check-In / Out功能与版本控制进行交互。
那就是我现在可以带给您的全部,希望其他人能够详细说明接下来该如何操作。祝你好运!
MSDN文档对象模型中的版本控制: http://msdn.microsoft.com/en-us/library/office/ff860259(v=office.15).aspx 使用C#创建SharePoint文档版本历史的文章: http://www.tekritisoftware.com/sharepoint-document-version-history

1
我知道一种名为Alfresco的SharePoint替代品,它提供了微软Office集成功能,包括版本管理。
Alfresco是一个企业内容管理解决方案,并且是开源的。由于它是开源的,您可能想看看它们是如何实现的。

http://www.alfresco.com/

这对你有帮助吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接