问题标签 [roxy]
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.
ruby-on-rails - Marklogic Web 界面更新 xml 文档
什么是构建用于更新 marklogic 数据库中的 xml 文档的 Web 界面的好方法。我遇到了 roxy,这是一个用于配置和部署 marklogic 应用程序的 ruby gem,但是在玩了一段时间之后,它似乎对查询和显示数据比更新文档更有帮助。
marklogic - Roxy 可用于部署通用 MarkLogic 应用程序吗?
我开发了一个 MarkLogic应用程序,它既不是 MVC 也不是 REST 应用程序(更准确地说,它是一个不使用标准 ML REST API 的 REST API)。
我想使用Roxy来打包和部署这个应用程序,但是当你创建一个新项目时,Roxy 包括 ML 的 REST API 或 MVC 框架。
是否可以剥离 Roxy 部署的内容,或者我是否必须找到其他解决方案,例如MarkLogic 打包,它的功能比 Roxy 少得多?
marklogic - 如何使用 Roxy 从 marklogic 服务器检索配置
我开始使用Roxy来配置我的 marklogic 集群(版本 8)。这个工具允许我在许多“集群”上部署我的配置,避免手动进行。
在我的测试期间,我手动配置了一个集群(通过 Web 管理 - 端口 8001)。我想知道是否可以将此配置从服务器检索到我的本地计算机。我想在本地获取它以用于我的期货部署。
谢谢。
问候, 罗曼
amazon-ec2 - 建议使用开发、生产或本地环境变量的 MarkLogic 8 的 roxy 设置?
默认情况下,可以使用 MarkLogic 的 ruby roxy 配置运行三个环境变量(roxy 脚本在这里:https ://github.com/marklogic/roxy )。这三个变量是local
:dev
和prod
。虽然,可以添加其他环境变量。
和服务器的最佳设置是local
什么?prod 服务器位于 ec2 AWS 上。dev
prod
我认为,在本地,应该只有 1 或 2 个森林,而在服务器上,4 核可能只有 1 或 2 个森林。森林可以并行运作。我认为在开发环境中,应该运行测试。此外,有兴趣了解 MarkLogic DB 在本地和 ec2 实例上运行时缓存了多少空间。
我相信,默认情况下 prod 环境变量会运行测试(尽管这可能是错误的)。
一些信息:
rest - 未能创建自定义用户权限来限制内容
我正在努力正确设置我的用户权限/特权/角色以获得我需要的行为。
我正在使用 MarkLogic 8 和 Roxy 来创建和部署应用程序。
此应用程序具有不同的用户,这些用户的内容应仅限于单个用户。但他们也参与需要共同协作的项目。
我看过这个有用的博客和关于 github 问题 303 的讨论,但仍然无法正确处理。
默认 roxy 应用用户角色:
我的自定义角色:
我已经测试并尝试了上面博客中描述的内容,但是使用这些设置我无法访问任何文档,显然没有其他扩展访问权限。如果我给我的用户 {app-role} 它给出了用户可以看到其他用户的私人内容的问题......因为所有用户都有'rest-reader'角色......所以我需要限制默认 - app 角色不使用 rest-reader 角色并使用 rest-reader 权限但不能让它工作......
我正在考虑的一种选择是document-insert()
对受限内容使用权限,但如果我可以正确设置,这应该可以通过正确的角色和权限实现,对吧?
添加
回应 Grtjn 的回答:谢谢 4 您的评论,我想我对 REST 角色感到困惑。如果我在 git 上查看 roxy 应用程序中的默认角色,这些角色看起来是空的,但是当我将我的 roxy 应用程序类型设置为 REST 应用程序时,事情似乎变得更加复杂。主要的困惑是我需要哪些角色和权限才能让第二个(独立)角色能够使用 REST 端点?xdmp:(value,add-response-header, invokes etc) 权限到底在做什么和需要什么?在我的示例中,为了让用户能够访问 REST api,他/她需要以下角色:
然后我们开始讨论休息读者应该是特权还是角色?
所以一个更具体的问题:
访问由 roxy REST 类型应用程序创建的 REST 端点需要的最小角色/权限集是多少?
marklogic - app-modules-db 的 MarkLogic Roxy 配置
在 Roxy 项目的 default.properties 文件中,这两个设置有什么区别?
xquery - 将文档插入特定数据库 MarkLogic
我正在使用 roxy 建立一个数据库,这与“文档”数据库不同。我想在该数据库中插入一个配置文件。
我在 xquery ml-1.0 中有这个功能
将xdmp:document-insert
文档插入到默认的“文档”数据库中。我环顾四周,找不到将这个文档加载到这个数据库中的方法。我只找到了一种使用 xdmp:document-load ( https://docs.marklogic.com/xdmp:document-load )将文档插入特定森林的方法。
有没有办法让我说把这个东西加载到这个数据库中,最好只是作为一个 xquery 参数?
xquery - 搜索:搜索在查询控制台中返回结果,但在 http get 从应用程序中命中时没有结果?
我这里有一个奇怪的情况。我正在尝试构建一个将 http get 请求发送到 MarkLogic 服务器的应用程序。它命中了执行的 XQuery 代码search:search("")
。我将空查询传递给搜索,因此返回默认的相关结果。
我正在使用 Roxy 进行部署。当我通过命令调用典型的 Roxy 部署函数时 -
它加载了所有文档,然后当我点击 localhost:7040 时,我得到了预期的结果。到目前为止,一切都很好。
现在,我重写 Roxy 的现有方法 deploy_content 并定义调用 XQuery 函数的新方法,该函数执行xdmp:document-load()
将所有数据加载到内容数据库。这是代码片段 -
现在,当我点击应用程序时,我得到 0 结果,而相同的代码在查询控制台中运行良好。我认为这与角色和权限概念有关,因为当我从 roxy 向新创建的用户提供管理员角色时,我得到了预期的结果。我不想为稍后将使用我的应用程序的默认用户提供管理员角色。那么我需要在角色、权限和身份验证方面进行哪些修改才能解决我的问题?
注意:当我点击 localhost:7040 时,它不会要求进行身份验证。
是否有一个功能可以获取该用户角色下的所有默认权限。
这是用于应用服务器的用户,因为它更像是普通安装。
用于查询控制台的用户是 admin。
我将命令运行xdmp:document-get-permissions()
到加载文档之一,但它返回空序列。
xdmp:document-get-permissions("/a-ha+Take-on-Me.xml")
.
身份验证方法=应用程序级别
xquery - MarkLogic - 自定义搜索片段
我正在使用 Roxy 来管理我的项目。也使用 MarkLogic 8.0-6.1
我正在尝试提交一个 searchTerm,并返回一个自定义格式search:snippet
以下是我正在采取的完整步骤:
./../roxy/ml new test-app --server-version=8 --app-type=rest
配置我的 build.properties
cd test-app/
./ml local bootstrap
现在我有了我的项目结构。
创建文件 - test-app/rest-api/ext/show-search.xqy
上面的 GET 请求transform-results apply=raw
正确使用了选项、部署和功能(我有一些测试文档)。
但是我不想返回整个文档,我想返回匹配的整个 json 部分,无论匹配发生在那个部分的哪个位置(较低级别)
所以我尝试自己写snipper
创建文件 - test-app/rest-api/ext/show-search-snipper.xqy
然后我将调用更新search:search
为以下内容
现在我应该拥有我需要的一切(我认为)
我运行部署./ml local deploy rest
并得到以下
Minty-linux test-app # ./ml local deploy rest 在 /opt/this-is-a-test/test-app/rest-api/config/properties.xml 中加载 REST 属性 在 /opt/this- 中加载 REST 选项is-a-test/test-app/rest-api/config/options
从 /opt/this-is-a-test/test-app/rest-api/ext 加载 REST 扩展
错误:400“错误请求”错误:{“errorResponse”:{“statusCode”:400,“status”:“错误请求”,“messageCode”:“RESTAPI-INVALIDCONTENT”,“消息”:“RESTAPI-INVALIDCONTENT:( err:FOER0000) 无效内容:无效的 show-search-snipper 扩展:show-search-snipper 不是有效模块,或者在 http://marklogic.com中不提供扩展功能(删除、获取、放置、发布) /rest-api/resource/show-search-snipper 命名空间"}}
所以我尝试将show-search-snipper.xqy
文件上移 1 级(到 test-app/rest-api/show-search-snipper.xqy`
运行部署 Deployment Works 没有错误 点击 URL 并收到以下信息
500 内部服务器错误 INTERNAL ERROR RESTAPI-INVALIDREQ: (err:FOER0000) 无效请求:原因:扩展显示搜索不存在。. 有关详细信息,请参阅 MarkLogic 服务器错误日志。
虽然我知道扩展程序是正确创建的,但在引入自定义 snip 功能之前它运行良好。(应用=“原始”)
有什么想法可以应用我的自定义剪辑功能或我在部署中做错了什么?