1

我的用例是:

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

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

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

4

2 回答 2

3

解决用例: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 应用程序中管理、发布和呈现任何形式的企业内容(文档、数字资产、视频等)。

于 2017-11-21T15:35:11.777 回答
2

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

  1. 将内容从 Crafter Studio 部署到远程 Crafter Engine(与远程应用程序位于同一位置)。然后让远程应用程序通过服务请求内容和资产。这是一个具有无头内容交付策略的解耦 CMS 架构

  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

于 2017-11-23T16:28:48.617 回答