远程CMIS存储库包含许多文件夹/文件.
我正在编写一个软件,使这些文件夹/文件的本地副本保持同步.
检查远程更改的最有效方法是什么?
(附加/删除文件/文件夹)
最有效=最少的带宽使用.
我只能使用CMIS协议,而且我无法在远程服务器上运行任何自定义软件.
我的想法到目前为止:
还有其他想法吗?
我不太了解CMIS协议,可能会有更方便的东西.
使用存储库的更改日志是正确的方法,但要意识到并非每个存储库都支持这一点.例如,对于Alfresco,您必须配置审计子系统,并且必须在alfresco-global.properties中设置audit.cmischangelog.enabled = true.
要确定您的repo是否支持更改,您可以将其视为存储库的getCapabilities响应的结果.如果您将"更改"设置为"无",那么您的存储库不支持更改日志.
假设确实如此,您需要向存储库询问其最新的更改日志令牌.你可以从getRepositoryInfo获得它.在调用getContentChanges之前保存它.然后,在下一次调用时,传入令牌.您将获得自令牌发布以来所做的更改.
所以,你的代码需要:
我有一个"cmis-sync"脚本,它使用Python实现的这种方法进行单向同步.我已经针对Alfresco作为源和OpenCMIS InMemory存储库作为目标进行了测试.如果有兴趣,我可以提供.
| 归档时间: |
|
| 查看次数: |
1765 次 |
| 最近记录: |