问题标签 [jackrabbit-oak]

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 投票
1 回答
327 浏览

aem - 如何在 crx/explorer/ 中创建一个新的存储库

我正在尝试使用 crx/explorer 创建一个新的工作区。任何人都可以帮助我如何使用这个 UI 来创建一个新的工作区。?

创建工作区“test.workspace”时出错:javax.jcr.UnsupportedRepositoryOperationException:OAK-118:Workspace.createWorkspace

在此处输入图像描述

0 投票
1 回答
705 浏览

aem - 远程连接 JCR + AEM/OAK

除了 RMI/WEBDAV/JNDI,有没有办法远程连接 JCR/CRX(AEM)?不建议在 PROD 环境中打开 WEBDAV 和 RMI,因此尽管有可行的解决方案,但我不想走那条路。

探索的选项似乎不适合我的用例:

  1. SLING API - sling.apache.org/documentation/development/repository-based-development.html
  2. OAK API - github.com/davidegiannella/adaptTo16
  3. REST/JSON - adapt.to/2016/en/schedule/remote-resources.html。将适用于直接资源访问,但不适用于查询或 CRUD 操作。
  4. JCR API - http://experience-aem.blogspot.com/2015/05/aem-6-sp2-accessing-crx-remotely-using-jcr-remoting-davex.htmlhttps://wiki.apache.org /jackrabbit/远程访问

任何指针?

0 投票
2 回答
2546 浏览

jackrabbit - Jackrabbit Oak:入门并通过 RMI 连接到独立存储库

我对 Jackrabbit 和 Jackrabbit Oak 完全陌生。不过,我与 Alfresco 合作了很多,这是另一个符合 JCR 的开源内容存储库。

我想启动一个独立的 Jackrabbit Oak 存储库,然后通过 Java 代码连接到它。不幸的是,Oak 文档非常稀缺。

我检查了 Oak 存储库,使用它构建它,mvn clean install然后通过以下方式运行独立服务器(内存存储库目前适合我进行测试):

当我打开http://localhost:8080/时,我看到一个空白页面,其中包含这样的代码,但 html / xhtml 输出作为源代码如下:

在此处输入图像描述

我尝试通过 Java 代码进行连接:

但得到:

(Oak 文档不如 Jackrabbit 文档完整,但我也不确定 Jackrabbit 2 中多少内容对 Oak 仍然有效,因为它是完全重写的。)

在邮件列表/Nabble 中发现了相同的问题,但那里提供的答案不使用远程独立存储库,而是在同一个 servlet 容器甚至应用程序中运行的本地存储库(只是最终配置了 Mongo DB / Node 存储作为远程,但这意味着需要打开 Mongo 端口)。所以应用程序自己创建了存储库,这不是我的情况(我的情况在 Oak 中也可以正常工作)。

在 Jackrabbit2(不是 Oak)中,我可以简单地通过

它工作正常,但这种方法似乎不适用于 Oak。

Oak 默认不启用 RMI 吗?是否有不同的 URI 可供使用?

但是,Oak 的文档说“Oak 带有一个可运行的 jar”,并且可运行的 jar提供了server启动服务器的方法,所以我假设我上面的场景是有效的。

0 投票
1 回答
1089 浏览

webdav - 如何通过 WebDAV 访问 Jackrabbit Oak 存储库?

当我启动 Jackrabbit 2 存储库时,我可以通过http://localhost:8080/repository/default轻松地通过 WebDAV 连接到它

不过,这不适用于 Oak。

不幸的是,这不是很好的文件,我能找到的与 Oak & WebDAV 相关的所有文件都是 Jira 中的这些票

和邮件列表帖子

这没有给我任何有用的提示。

所以我的问题实际上是两个问题:

1) 如何通过独立运行的 WebDAV 连接到 Oak 存储库?

2) 如何通过在应用程序中创建/嵌入的 WebDAV 连接到 Oak 存储库?如何公开端口以及如何启用 WebDAV?

任何地方都有代码示例吗?该文档并没有足够的帮助。

我检查了 Oak 存储库,并在https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-examples/standalone/README.md找到了带有独立应用程序和 README 的 Oak-examples 。

它说:

完成后,您可以通过执行来运行应用程序

文件夹。服务器将侦听端口 8080 并支持通过 DavEx (at /server) 和 WebDAV (at /repository) 进行远程访问。

但是,这不起作用。尝试使用我的 WebDav 客户端或在浏览器中连接到http://localhost:8080/repository404 not found时,出现错误。

0 投票
2 回答
826 浏览

adobe - AEM 6.2 Mongo 副本集自动故障转移不起作用

安装 AEM-author 和 Mongo 副本集后似乎运行良好。我安装的 AEM 版本是 6.2

所以我尝试通过以下方法检查自动故障转移能力。1. 停止当前 Primary 的 mongod 实例 2. 通过发出 rs.status() mongo 命令检查 Secondary 是否成为 Primary 3. 并检查 AEM-author 的 logs/error.log

Mongo 副本集似乎正确地进行了故障转移。但是 AEM-author 因显示以下错误而崩溃。

我试图根据adobe论坛解决问题,但我无法解决问题。

http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.html/forum__r93i-hi_friends_icam.html

有人可以帮助我为什么会出现此问题并让我知道如何解决此问题吗?

问候

0 投票
0 回答
130 浏览

apache - AEM/CQ - 即使浏览器已关闭,用户会话仍将保留

我正在寻找一个想法来实现,即使浏览器已关闭,也能在 AEM 6.X 中保留用户会话。我尝试将 Apache Jackrabbit Oak TokenConfiguration - 令牌到期时间调整为更高的时间,但在关闭浏览器时仍然不会保留会话。

但是,当浏览器打开并且您尝试关闭应用程序的选项卡时,会保留用户。

我正在使用谷歌浏览器进行测试。

关于如何实施这种方法的任何想法?

0 投票
0 回答
716 浏览

apache - 使用 MongoDB 的 DocumentNodeStore (Apache Oak)

我是 Apache Oak 的新手,正在尝试使用 MongoDB 创建 DocumentNodeStore。以下是详细信息。

Mongo Db 的版本是 3.4,下面是代码片段。

因此,当我尝试创建 DocumentNodeStore 时,出现以下异常。

到目前为止,我的理解是降级 MongoDb 以避免异常。但考虑到其他依赖项,我必须使用最新版本。如果我错了,请纠正我并建议我需要查看的步骤。

0 投票
0 回答
243 浏览

jcr - 如何在所有文件版本上查询 Jackrabbit 的属性值?

我有一个应用程序,我需要将文件从远程服务器同步到 JCR。

同步规则

  1. 如果在远程服务器上找到新文件(文件路径),则将该文件添加到 JCR。远程服务器还返回一个updateTimestamp作为属性存储到内容节点的字段updateTimestamp
  2. 如果文件(文件路径)存在于 JCR 中,但从updateTimestamp远程服务器接收到的与 JCR 中的不同,则我们在 JCR 中添加同一文件的新版本,updateTimestamp新文件内容节点中的新集保留先前版本原封不动。

从远程服务器返回的时间戳是一个String格式的值dd/MM/YYYY hh:mm:ss

规则 2 要求我使用属性查询文件的所有版本updateTimestamp。我有以下查询,它返回所有带有updateTimestamp. 但是是否可以使用属性查询该文件的所有版本updateTimestamp

0 投票
1 回答
360 浏览

lucene - OAK Lucene 索引中 indexNodeName 和 :nodeName 的区别

indexNodeName=true在节点类型定义上设置和使用属性定义虚拟 nodeName 属性之间有什么区别(如果有的话)name=:nodeNameindexNodeName定义如下:

默认为假。如果设置为 true,则还将为节点名称创建索引。这将能够更快地评估涉及节点名称约束的查询

将节点名索引为属性的目的是类似于indexNodeName,但这并不意味着“相同”。文档对此并没有说太多:

字符串 :nodeName - 这种特殊情况索引节点名称,就好像它是被索引节点的虚拟属性一样。将它与 nodeScopeIndex=true 一起设置类似于在索引规则上设置 indexNodeName=true。

那么是否需要同时设置两个设置或只设置其中一个设置才能查询节点名。如果只是其中一个,那一个又有什么区别?例子:

0 投票
1 回答
95 浏览

lucene - Apache OAK 中的索引选择逻辑是否偏爱本地索引而不是全局索引?

我想知道索引选择逻辑是否更喜欢相同存储库路径的本地索引定义而不是全局索引定义。不幸的是,我找不到任何关于索引选择算法如何工作的文档。为了使事情更清楚,请考虑以下示例:

“myIndex”的全局定义

“myIndex”的本地定义