gpt4 book ai didi

git - Crafter CMS 3.0 或更高版本使用的基础数据库是什么?

转载 作者:太空狗 更新时间:2023-10-29 14:42:43 26 4
gpt4 key购买 nike

3.0 版之前的 AFAIK Crafter CMS 使用 Alfresco 作为存储库,后者又使用 RDBMS 数据库作为存储元数据的基础数据库。它说 Crafter CMS 3.0 正在使用 git 作为存储库。

我的应用程序将涉及大量图像文件和元数据,我假设图像文件存储在文件系统中,元数据存储在 Crafter CMS 3.0 的底层数据库中。

此外,crafter CMS 3.0 选择不像 Magnolia 和 Hippo CMS 那样使用 JCR/Jackrabbit 作为存储库有什么特别的原因吗?

最佳答案

Crafter CMS 是一个分离的 CMS,这意味着有一个独立的创作系统和一个交付系统。对于 Crafter CMS,它们分别是 Crafter Studio 和 Crafter Engine。

直到 2.5 版(包括 2.5 版),Crafter Studio 使用 Alfresco ECM 作为其主要内容存储库,正如您正确指出的那样,从 3.0 版开始,Git 成为了持久性存储库。 Crafter Engine 始终使用文件系统,从不依赖 RDBMS 或 ECM。 Solr 用于搜索,Solr 在创作和交付中运行,内容通过 Crafter Deployer 在此处编制索引。

请务必注意,除了 Git 之外,Crafter Studio 3.0 确实使用小型嵌入式 RDBMS 架构 (MariaDB) 来维护对象状态和其他 CMS 相关事件。但是,如果需要,可以根据 Git 状态重建该数据库。

关于基于图像和视频的应用程序:最佳做法是在 Crafter 中对这些 Assets 进行建模,但依赖于外部存储(例如 S3、Box、Alfresco 通过 CMIS——所有这些都得到原生支持,但所有其中是可选的)用于二进制文件,但将元数据保留在 Crafter CMS 中。这意味着内容元数据在 Crafter Engine 中可用(通过 Groovy、FreeMarker 或 Java,通过加载描述符 (XML) 或查询 Solr),并且可以根据交付需要转换和转码二进制文件。

话虽如此,如果您愿意,您仍然可以将内容对象(XML + 二进制)直接存储到 Git 中。

因此,尝试在更高层次上回答您的问题:Crafter CMS 使用 XML 来存储内容和元数据,此 XML 可以指向二进制 Assets (创建关联)。 XML 以图形方式建模以生成表单,表单呈现为内容的叠加层,供内容作者创建内容并最终在 Git 中生成 XML。 XML 由 Solr 通过 Crafter Deployer(在创作和交付中运行)进行索引,并可供 Crafter Engine 使用(因此您的应用程序是用 Groovy 和 FreeMarker(如果您确实需要,也可以是 Java)编写的)。

不使用 JCR 的原因太多了,这里无法一一列举——Git 提供了更好的开发人员工作流程、性能、可扩展性、devops 支持等。请参阅 Crafter Software 网站上的 #NoJCR 录制网络研讨会,其中涵盖了一些推理.另一个直接资源是拱门概述:http://docs.craftercms.org/en/3.0/developers/architecture.html

关于git - Crafter CMS 3.0 或更高版本使用的基础数据库是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48743829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com