【问题标题】:How to split a cmis url into repository path and path with respect to repository?如何将 cmis url 拆分为存储库路径和相对于存储库的路径?
【发布时间】:2013-06-24 11:07:11
【问题描述】:

我是 GSoC'13 实习生。我正在为 Apache OpenOffice 开发 CMIS UCP。 我想知道如何将 url 分成几个部分。 要填充会话参数,我需要 repo 中对象的 url + 路径。分别地。 还有其他方法吗?

【问题讨论】:

  • 通常您只需要 AtomPub(或其他)绑定端点的 URL,然后您就可以从中获得一切。你到底想做什么?
  • 我不想单独询问 atompub url 和对象的路径。我希望它在一条路径中。例如,一个文件夹存储在:localhost:8080/inmemory/atom,在存储库 A1 中的路径为 /My_Folder-0-0,应由 localhost:8080/inmemory/atom/A1/My_Folder-0-0 表示。所以,我想利用现有的方案,或者自己定义一个。
  • 用户怎么会知道这样一个(可能是编造的)URL 想法?他们肯定只知道 CMIS 端点,可能还有路径?

标签: sharepoint alfresco cmis opencmis apache-chemistry


【解决方案1】:

如果您知道对象的路径,则可以使用 getObjectByPath 检索它,这是 org.apache.chemistry.opencmis.client.api.Session 上的一个方法。

如果你有一个对象并且你想知道它的路径,你可以调用对象的getPaths()方法,它返回一个对象的路径列表(在支持多归档的仓库中,文档可以有多个路径,但文件夹永远不能多归档)。

除非您使用浏览器绑定(CMIS 1.1 中的新功能),否则您将构建以使用其路径直接导航到对象的实际 URL 是特定于存储库的。但是目前还没有任何 CMIS 1.1 浏览器绑定的生产实现。

【讨论】:

  • 有没有办法请求存储库返回它遵循的 url 方案?
  • 使用 Atom Pub 绑定,您可以调用存储库的服务 URL,然后检查返回的 cmisra:uritemplate 元素。有一个带有 cmisra:type 的“objectbypath”可能对您有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 2017-07-25
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多