Java 在本地保存文档时,是否可以将在本地word文档编辑器上所做的编辑与其中央存储库文档(db文档)同步?

Java 在本地保存文档时,是否可以将在本地word文档编辑器上所做的编辑与其中央存储库文档(db文档)同步?,java,version-control,ms-word,sync,Java,Version Control,Ms Word,Sync,我需要在MSWord文档管理(或任何文本文档编辑器)上实现一个java应用程序,word文档将存储在中央存储库(如数据库)或服务器中。许多用户将处理文档,这需要完整的版本控制。所有编辑/更改都应保存在中心文档中 我的问题是,在本地文档编辑器上打开并编辑中心文档(位于数据库中)后,是否可以保存对其所做的更改?我的意思是,在访问和编辑中心文档时,我认为他们将在本地副本上执行此操作,而仅文档保存操作如何才能将更改同步到中心副本?有没有一种方法可以通过代码来实现它,比如在保存事件触发器上 用户在副本中所

我需要在MSWord文档管理(或任何文本文档编辑器)上实现一个java应用程序,word文档将存储在中央存储库(如数据库)或服务器中。许多用户将处理文档,这需要完整的版本控制。所有编辑/更改都应保存在中心文档中

我的问题是,在本地文档编辑器上打开并编辑中心文档(位于数据库中)后,是否可以保存对其所做的更改?我的意思是,在访问和编辑中心文档时,我认为他们将在本地副本上执行此操作,而仅文档保存操作如何才能将更改同步到中心副本?有没有一种方法可以通过代码来实现它,比如在保存事件触发器上

用户在副本中所做的所有更改都应在中心副本上更新。我计划在这种情况下实现类似于谷歌文档的工作。邀请您的宝贵建议和有用的链接(如果有的话)

在Java中,您可以这样做,理论上,您可以使用它查看文档何时被编辑并上传到服务器

但是,您需要解决以下问题:

  • 如果Java应用程序在Word打开时关闭/崩溃,则不会检测到任何保存,用户对文档的更改将丢失,并且他们将无法指示原因
  • 人们在编辑Word文档时总是保存文档,这样就不会丢失数据,但他们只希望最后保存的文档作为修订版签入
  • 多个用户同时编辑同一文档并覆盖彼此的更改
  • 在静默自动过程中,用户无法输入描述其更改的注释

最好是手动办理入住/退房上传/下载手续,而不是尝试自动办理。

这是我考虑的:

(在您的例子中是Java)GUI应用程序,它在中央存储库中显示文档,并允许启动Word(或任何东西)进行编辑,然后签出并锁定存储库中的文档。然后,当Word(或其他)进程退出时,提交更改(可能在弹出确认对话框之后,用户可以选择放弃编辑,或被要求输入有关更改的注释),并删除文件上的存储库锁

然后,您还需要一些机制来处理过时的锁(例如,当用户PC在未释放锁的情况下关闭/崩溃时)。请确保使用一个能够很好地处理二进制文件、支持服务器端文件锁定的VCS,并对应用程序进行编码,以便在您的第一选择不理想时可以轻松地更改VCS软件


因此,Java应用程序可能通过执行其他程序(用于签出/锁定/提交的VCS二进制文件,用于编辑的GUI应用程序)来完成大部分工作。虽然这个应用程序看起来相当简单,但还是值得一看类似或的东西,并在这样一个平台上构建你的应用程序。我还没有亲自使用它们,所以把它当作一个考虑和研究的想法,而不是一个建议。因为如果这是“真正的工作”,那么你应该使用一些现有的VCS…这是一个“真正的工作”,是的,我需要使用像svn这样的VCS。有一些要求,我正在研究实现这一点的最佳方法UI设计部分还不清楚,客户的初始要求是他们需要查看存储库中的word文档,以及访问和编辑这些文档(我认为在这个阶段,每个用户都会获得一个本地副本并对其进行编辑)。如果是这样,那么我认为在编辑后保存或关闭文档时,本地副本应该与存储库同步,并且需要提交。客户端不希望在编辑后具有上载文档的功能。是否可以在保存文档或关闭文档时同步并将这样的本地副本提交回存储库?谢谢…我会检查一下…但最初的要求是没有上载/下载选项。但我不知道怎么做,否则