【问题标题】:How to access data from Crafter CMS repository in a remote application?如何在远程应用程序中访问 Crafter CMS 存储库中的数据?
【发布时间】:2017-11-19 06:17:52
【问题描述】:

我的用例是:

作者上传图片并输入有关图片(或博客)的元数据,例如 Crafter CMS 中的图片描述。管理员批准/发布图像。完成此操作后,未与 Crafter CMS 链接的单独开发的 Java Web 应用程序(面向公众)会在最终用户与此 Java Web 应用程序交互时看到此新内容,该内容显示在分面搜索结果中。

如何使用 Crafter CMS(社区版)实现上述目标?

Crafter CMS 组件不能在远程 Java 应用程序 (tomcat) 中使用,该应用程序可以直接访问缓存中的内容(最初来自 Crafter CMS)。这个远程 Java 应用程序有自己的基于 elasticsearch 的搜索解决方案。提出这个问题的更好方法是 Crafter CMS 如何将内容存储在远程存储库中,该存储库位于运行远程 Java 应用程序的同一服务器中。

【问题讨论】:

  • 我不熟悉 Crafter CMS,它是如何与 Alfresco 关联的?
  • 据我所知,Alfresco 被用作 Crafter CMS 的存储库。
  • 当 Alfresco 本身也被称为 CMS 时,会让人感到困惑。

标签: alfresco crafter-cms


【解决方案1】:

解决用例:Crafter CMS 由多个子系统组成。作者将使用 Crafter Studio(内容创作子系统)在您的应用程序上下文中上传/分配元数据/预览/批准图像(通过上下文预览)。您面向公众的 Java 应用程序将构建在 Crafter Engine(基于 Java/Spring 的中间件子系统)上,该引擎提供 API 以访问从 Crafter Studio 发布的内容。 Crafter Engine 包括与 Apache Solr 的集成,用于分面搜索。

--

澄清混淆:Alfresco 更适合作为企业内容管理 (ECM) 平台,用于管理所有类型的内容 - 文档、数字资产、公司记录以及 Web 内容。另一方面,Crafter 是一个 Web 内容管理系统(传统上称为 Web CMS),专门用于构建和管理数字体验应用程序(现代网站、移动应用程序、AR/VR)的前端 UI/UX 和后端功能经验、视频共享网站等)。 Crafter CMS 最初是作为基于 Alfresco 的 Web CMS 应用程序构建的,因此两者之间的紧密集成。

从 Crafter CMS 版本 3 开始,Git 是主要的底层存储库。

Crafter 仍作为选项与 Alfresco(通过 CMIS)集成,以利用 Alfresco 的高级 ECM 功能在 Crafter 应用程序中管理、发布和呈现任何形式的企业内容(文档、数字资产、视频等)。

【讨论】:

  • Mike Vertal 感谢您的澄清。如问题所述,Crafter CMS 或 Crafter Engine 不能在远程 Java 应用程序中使用。这些最初由 Crafter CMS 中的作者上传的图像应该可以由远程 Java 应用程序直接访问。问这个问题的更好方法我认为 Crafter CMS 如何将图像存储在远程存储库中,该存储库位于运行远程 Java 应用程序 (tomcat) 的同一服务器中,其中 Crafter CMS 应用程序是位于完全独立的服务器中的 Intranet。将更新问题以反映这一点。
【解决方案2】:

有两种架构可以满足这一需求。

  1. 将内容从 Crafter Studio 部署到远程 Crafter 引擎(与远程应用程序位于同一位置)。然后让远程应用程序通过服务请求内容和资产。这是decoupled CMS architecture with a headless content delivery strategy

  2. 使用部署程序将内容从 Studio 推送到远程应用程序(磁盘、数据库,无论您想要什么)。部署程序有一个简单的 Java 接口,允许您编写应该对已部署的变更集执行的操作:

这是完整的部署 API: https://github.com/craftercms/deployer/tree/master/src/main/java/org/craftercms/deployer/api

这是您要实现的接口: https://github.com/craftercms/deployer/blob/master/src/main/java/org/craftercms/deployer/api/DeploymentProcessor.java

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 2021-08-10
    • 2011-03-11
    相关资源
    最近更新 更多