如何从远程应用程序中的 Crafter CMS 存储库访问数据?
How to access data from Crafter CMS repository in a remote application?
我的用例是:
作者上传图像并在 Crafter CMS 中输入有关图像(或博客)的元数据,例如图像描述。管理 approves/publishes 图片。完成此操作后,未与 Crafter CMS 链接的单独开发的 Java 网络应用程序(面向 public)会看到此新内容,当最终用户与此交互时,该内容会显示在分面搜索结果中 Java 网络应用程序。
如何使用 Crafter CMS(社区版)实现以上目标?
Crafter CMS 组件不能在远程 Java 应用程序 (tomcat) 中使用,该应用程序可以直接访问高速缓存中的内容(最初来自 Crafter CMS)。这个远程 Java 应用程序有自己的基于 elasticsearch 的搜索解决方案。问这个问题的更好方法是 Crafter CMS 如何将内容存储在位于同一服务器 运行 远程 Java 应用程序中的远程存储库中。
解决用例:Crafter CMS 由几个子系统组成。作者将使用 Crafter Studio(内容创作子系统)upload/assign metadata/preview/approve 应用上下文中的图像(通过上下文预览)。您面向 public 的 Java 应用程序将基于 Crafter Engine(Java/Spring-based 中间件子系统)构建,它提供 API 以访问从 Crafter Studio 发布的内容。 Crafter Engine 包括与 Apache Solr 的集成以进行分面搜索。
--
澄清混淆:Alfresco 更适合作为企业内容管理 (ECM) 平台来管理所有类型的内容——文档、数字资产、公司记录以及 Web 内容。另一方面,Crafter 是一个网络内容管理系统(传统上称为网络 CMS),专门用于构建和管理前端 UI/UX 和数字体验应用程序(现代网站、移动应用程序、AR/VR 经验、视频共享网站等)。 Crafter CMS 最初是在 Alfresco 之上作为 Web CMS 应用程序构建的,因此两者之间紧密集成。
从 Crafter CMS 版本 3 开始,Git 是主要的底层存储库。
Crafter 仍然可以选择与 Alfresco(通过 CMIS)集成,以利用 Alfresco 的高级 ECM 功能在 Crafter 应用程序中管理、发布和呈现任何形式的企业内容(文档、数字资产、视频等)。
有两种架构可以满足这一需求。
将内容从 Crafter Studio 部署到远程 Crafter Engine(与远程应用程序位于同一位置)。然后让远程应用程序通过服务请求内容和资产。这是一个decoupled CMS architecture with a headless content delivery strategy.
使用部署器将内容从 Studio 推送到远程应用程序(磁盘、数据库,任何您想要的)。部署器有一个简单的 Java 界面,允许您编写操作代码应该在已部署的变更集上采取:
这是完整的部署程序 API:
https://github.com/craftercms/deployer/tree/master/src/main/java/org/craftercms/deployer/api
我的用例是:
作者上传图像并在 Crafter CMS 中输入有关图像(或博客)的元数据,例如图像描述。管理 approves/publishes 图片。完成此操作后,未与 Crafter CMS 链接的单独开发的 Java 网络应用程序(面向 public)会看到此新内容,当最终用户与此交互时,该内容会显示在分面搜索结果中 Java 网络应用程序。
如何使用 Crafter CMS(社区版)实现以上目标?
Crafter CMS 组件不能在远程 Java 应用程序 (tomcat) 中使用,该应用程序可以直接访问高速缓存中的内容(最初来自 Crafter CMS)。这个远程 Java 应用程序有自己的基于 elasticsearch 的搜索解决方案。问这个问题的更好方法是 Crafter CMS 如何将内容存储在位于同一服务器 运行 远程 Java 应用程序中的远程存储库中。
解决用例:Crafter CMS 由几个子系统组成。作者将使用 Crafter Studio(内容创作子系统)upload/assign metadata/preview/approve 应用上下文中的图像(通过上下文预览)。您面向 public 的 Java 应用程序将基于 Crafter Engine(Java/Spring-based 中间件子系统)构建,它提供 API 以访问从 Crafter Studio 发布的内容。 Crafter Engine 包括与 Apache Solr 的集成以进行分面搜索。
--
澄清混淆:Alfresco 更适合作为企业内容管理 (ECM) 平台来管理所有类型的内容——文档、数字资产、公司记录以及 Web 内容。另一方面,Crafter 是一个网络内容管理系统(传统上称为网络 CMS),专门用于构建和管理前端 UI/UX 和数字体验应用程序(现代网站、移动应用程序、AR/VR 经验、视频共享网站等)。 Crafter CMS 最初是在 Alfresco 之上作为 Web CMS 应用程序构建的,因此两者之间紧密集成。
从 Crafter CMS 版本 3 开始,Git 是主要的底层存储库。
Crafter 仍然可以选择与 Alfresco(通过 CMIS)集成,以利用 Alfresco 的高级 ECM 功能在 Crafter 应用程序中管理、发布和呈现任何形式的企业内容(文档、数字资产、视频等)。
有两种架构可以满足这一需求。
将内容从 Crafter Studio 部署到远程 Crafter Engine(与远程应用程序位于同一位置)。然后让远程应用程序通过服务请求内容和资产。这是一个decoupled CMS architecture with a headless content delivery strategy.
使用部署器将内容从 Studio 推送到远程应用程序(磁盘、数据库,任何您想要的)。部署器有一个简单的 Java 界面,允许您编写操作代码应该在已部署的变更集上采取:
这是完整的部署程序 API: https://github.com/craftercms/deployer/tree/master/src/main/java/org/craftercms/deployer/api