问题标签 [jcr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1084 浏览

rmi - 在 Jackrabbit 服务器上执行远程查询

我们正在使用部署在 Glassfish 应用程序服务器上的 Jackrabbit 2.2.6(webapp)。我们还在构建一个客户端,使用服务器公开的 rmi 接口将文件上传到服务器。我们能够使用标准 JCR API 从客户端登录和上传文件到远程服务器。但是,我们很难查询远程服务器(我们使用的是 JCR-SQL2)。这是我们用来查询远程服务器的代码片段:

这是我们在执行代码时得到的:

看起来像nList.add(row.getNode()); 是罪魁祸首。看起来这不是在 Jackrabbit 服务器上进行远程查询的最佳方式。

我们确认它适用于本地临时存储库。

在查看 Jackrabbit 代码库时,我们遇到了 RemoteQuery 和相关类。我试着写一些代码——但不能让它工作。这是片段

}

任何帮助,指针将不胜感激。谢谢。

0 投票
3 回答
12989 浏览

java - ModeShape 提供了 JackRabbit 没有的什么?

我刚刚熟悉了 Apache JackRabbit。我已经为文档管理做了一个小的多用户存储库。

如果有人同时使用它们,您能回答这些问题吗?

  1. ModeShape 是否以某种方式与 JBoss 相关联?我对 JBoss AS 或任何其他 JBoss 工具没有太多经验。我看到了对 tomcat 的支持,但是有很多 JBossy 的东西

  2. 文档说未来的版本应该有 UI 集成,这是遥远的未来吗?它会是怎样的 UI 集成?在 Hippo CMS 和 JackRabbit 的情况下,是否有使用 ModeShape 的东西?很遗憾 Gatein 不使用它。

  3. JackRabbit 在全文搜索、索引和文本内容的整体处理方面与 ModeShape 相比如何?

  4. CMIS 支持如何?我看到一个未解决的问题MODE-650。OpenCMIS (Apache chmistry) 支持 Jackrabbit,甚至在不久的将来也支持辅助类型。

  5. support/utils 库怎么样,在使用 Nodes 时为开发人员提供方便

我对任何其他比较评论感兴趣,谢谢

0 投票
1 回答
3399 浏览

workspace - 人类JCR工作空间的解释和使用案例

能否请任何人解释有关 JCR 工作区的 JCR 2.0 规范?

我知道一个会话总是绑定到一个持久工作区,尽管一个持久工作区可能绑定到多个会话。

这可能与版本控制和事务有关,尽管我不知道为什么。

一些观察:

  • 只能在同一工作空间的节点之间进行引用
  • 执行查询将始终针对单个工作区

工作区似乎是关于代表相同内容(相同 UUID)的节点,在:

  • 不同版本的“某物”,也许是项目?
  • 工作流程的不同阶段

并且不应该用于 ACL。

同样在 JackRabbit 中,每个工作区都有其持久性管理器。而 ModeShape 有一个源连接器 - 独立于工作区。

0 投票
2 回答
618 浏览

jsp - JCR JSP 标签库实现

我正在寻找 jcr 的 jsp taglib 实现。我需要一些东西来以 xpath 样式访问 jcr 节点和节点的属性。

任何人都可以给我推荐一些东西。提前致谢。

0 投票
1 回答
677 浏览

jackrabbit - Jackrabbit XPath 问题

我对 Jackrabbit 比较陌生。在我们的应用程序中,我们从未打开 repository.xml(如 workspace.xml)文件中的 SearchIndex 部分,因为我们总是使用 JCR UUID 引用直接转到给定文档。我们使用Jackrabbit v2.2.1Oracle作为存储库。现在我们的需求正在扩大,因为我们希望使用文档元数据功能来存储有关文档的上下文信息,以便我们可以使用元数据来检索一组选定的文档。

作为第一步,我在workspace.xml 文件中添加了默认的SearchIndex 部分并重新启动了JCR。

我在我的日志文件中看到了一堆这样的行 - 然后我看到它在工作区下创建了索引文件夹。

2011-07-05 15:04:01.724 信息 [WebContainer: 0] MultiIndex.java:1204 索引... /vfs:metaData/21ee130e-978e-415f-bfd1-7aa03d91​​608c/vfs:attributes (3500)

我有这样的文件夹结构。当我在 JCR 中创建文档时,我将元数据信息指定为文档的一部分,该文档是复杂的 XSD 类型,带有 docType、uploadBy、contextValue 等标签。

以下 XPath 表达式有效。

//jcr:root/vfs:metaData//*[vfs:attributes/vfs:docType='TAX_DOCS']

如果我给出错误的值,例如代替“TAX_DOCS”、“TAX”,它不会按预期返回任何文档,这很好。这证明了元数据按预期正确存储,并在过滤过程中正确使用。

这个查询的问题是它从根文件夹开始搜索,但我只想从 /MyApp/documents 子文件夹搜索。所以我尝试了这个:

//jcr:root/MyApp/documents//vfs:metaData//*[vfs:attributes/vfs:docType='TAX_DOCS']

它什么也不返回。然后我也尝试了这个,但没有成功。

//jcr:root/MyApp/documents//*[vfs:metaData/vfs:attributes/vfs:docType='TAX_DOCS']

那么我做错了什么?workspace.xml 配置中是否有任何我们需要设置或缺失的内容?

任何帮助表示赞赏。

谢谢,杰克

0 投票
3 回答
1270 浏览

java - Sling 可以处理“虚拟资源”吗?

背景:我的任务是为在 Sling 上运行的网站实施搜索引擎站点地图。该站点有多个特定于国家/地区的站点,并且每个特定于国家/地区的站点都可以具有多个本地化版本-例如,http://ca.example.com/fr将是加拿大站点的法语本地化版本,并且将映射到/内容/ca/fr。我无法更改此内容结构,不幸的是,国家和本地化节点都具有相同的sling:resourceType. 此外,管理类型需要一个 sitemap.xml 用于每个国家/地区/本地化对,而不是每个国家站点一个。

生成站点地图是一项简单的任务,我的问题是每个国家/地区/本地化对都需要一个“站点地图”节点 - 由于国家和本地化节点的添加方式(并且它们具有相同的资源类型),我目前无法想到添加站点地图节点的一种很好的自动化方法。

如果我能以某种方式定义一个“虚拟资源”,它将 /{country}/{localization}/sitemap.xml 的请求映射到处理脚本,那就太好了;我一直在浏览并遇到ResourceProviderand OptingServlet,但它们似乎非常专注于绝对路径 - 或者将选择器添加到现有资源中,这对我来说似乎不是一个选项。

如果有一些或多或少干净的方法来处理这个问题有什么想法吗?并非每天都添加新的国家/地区/本地化,但必须手动添加“站点地图”节点仍然不是最佳解决方案。

我一直在考虑是否有一个正在运行的服务每天更新站点地图 X 次,并将 sitemap.xml 节点生成为 JCR 中的简单文件资源,而不是涉及 Sling 解析器是否是一个更好的主意......但是在走那条路线之前,我想要一些反馈:)

编辑:

结果发现需求发生了变化,他们现在希望站点地图可以根据本地化进行配置——让我的工作更轻松,而且我不必与 Sling 对抗 :)

0 投票
1 回答
2446 浏览

mysql - 在 CQ5 中,如何连接外部数据库来代替 JCR?

我必须连接一个外部数据库 (MySQL) 来代替 CQ5 中称为 JCR 的内置内容存储库。我做不到。请给出想法。欢迎提出建议。

科马尔

0 投票
3 回答
896 浏览

content-management-system - JCR UI 构建器的开源代码

给定一个 JCR(Java 内容存储库,实现标准 jsr-170 和/或 jsr-283,如 Apache Jackrabbit、JBoss Modeshape),我想构建一个类似 cms 的编辑器,给定指定的 JCR 节点可以编辑定义的所有数据类型作为该节点的一部分。

例如:一个 JCR 节点,可能有数据类型:日期、地点、名称、描述定义。地点可能是具有数据类型的子节点:纬度/经度、名称、容量。

此代码将仅根据 JCR 节点的声明生成编辑器,不需要其他输入。

此代码将遵循 builder-pattern (http://en.wikipedia.org/wiki/Builder_pattern) 当然,我可以自己编写此代码,但我正在寻找现有的开源实现。我觉得必须有建立在 JCR 之上的 CMS 使用这种方法:Magnolia、Sling、Hippo 还是其他?或者一些不知名的项目,其唯一目的是提供这个构建器实现的核心(模型部分)。

任何指向这些开源 CMS 中相关代码库的指针都将受到欢迎。

任何帮助表示赞赏。谢谢, Geert-Jan

0 投票
2 回答
434 浏览

jcr - jcr 节点分离:在会话范围之外使用 JcrNode 属性(如某种 DTO)

目前正在使用 JCR (Modeshape) 做一个测试应用程序。

  • 抽象流程如下:session.open,存储库获取与查询相关的一个或多个节点,session.close。

  • 结果节点包含我需要呈现给视图的属性等。我目前有让视图直接从 jcrNode 获取属性的天真设置。但是,这会产生一个错误,例如:“ID 为 'e2881d98-56fd-4a57-9cce-1a7d087a11e8' 的会话已关闭”,这是有道理的。

我相信一般方法(否则请更正)是创建某种 nodeDTO,当会话仍然处于活动状态时,它由 jcrNode 填充。然后视图可以随意使用 nodeDTO。

现在,这种 nodeDTO 的完美结构将模仿 jcrNode 1 对 1 的结构,那么为什么不将 jcrNode 用作 DTO 本身呢?这将通过类似于休眠分离/附加的东西来完成。我意识到 jcrNode(及其子节点)可以包含大量数据,因此应该有一些参数来确定分离的深度等。

另一种方法是使用类似于 openSessionInView 模式的东西,尽管这将是特定于 mvc 框架的。

所以我可以看到几种方法,最好的方法优先(imo):

  1. jcrNodes 的分离/附加功能
  2. 用于创建 DTO 的良好帮助类库
  3. openSessionInView

非常感谢对“最佳实践”方法等的任何评论。

0 投票
1 回答
1598 浏览

java - 应用程序数据持久性框架/库?

我们的 Java 桌面应用程序正在管理由用户编辑的多个文本文件。

目前,这些文件使用内部 Java 代码保存到文件系统中。我们希望摆脱这一点,转而使用现有的框架/库(最好是开源的);很高兴能够在运行时配置实际的持久存储:“文件系统”与“数据库”。

除了 JCR 实现(例如 JackRabbit)之外,还有其他可能的解决方案吗?关于将 JCR 用于我们的用例的任何反馈/建议?

谢谢。