无头 CMS 和动态数据

问题描述 投票:0回答:2

我正在研究无头 CMS 对于我们的静态网站的优势:托管数据库、带有复杂类型定义的漂亮管理界面、表示层(即图形 API)、资产管理和优化,仅举最重要的几项。

但是,我们网站的内容相当动态:经常添加新地点,并且每天通过 cron 脚本检查和更新其内在详细信息(例如地址和开放时间)。我们还将受益于数据库的各种分析,这通过无头 CMS 的读取 API 来实现相当困难。

因此,我的问题是,无头 CMS 适合这种情况吗?如果不是,那么同时拥有一个“主”数据库一个无头 CMS(从主数据库同步且仅包含面向用户的信息)是否有意义?如何解决这个问题?

我们总是可以选择自己实现所有事情;然而,我觉得这是一个相当“常规”的工作流程,我们不应该重新发明轮子。

database architecture headless-cms
2个回答
1
投票

是的,无头 CMS 适用于此类用例。

您正在构建的内容似乎与我在 Flotiq storelocator 教程中描述的内容有些相似 - 所以您可能想看看。

在你的问题中,你提到了两件必须指出的重要事情:

  1. 分析
  2. 独立的数据库。

分析

这不是无头 CMS 中通常提供的功能。您可能需要连接专用的分析引擎,因此您应该寻找无头 CMS,以便轻松使用另一个系统中的内容。例如 - Flotiq 通过 OpenAPI 兼容的 API(以及 GraphQL,如果您可以使用它)公开您的所有内容来实现这一点。

单独的数据库

如果拥有它的主要原因是您的内容的“相当动态”的性质 - 那么我认为您不需要它。在许多情况下,人们将无头 CMS 与静态站点生成器(例如 Gatsby)配对,并且它们还应该支持增量更新,而不需要重建整个网站(如果您的站点很大,这可能看起来是一个问题,但从实践来看,我要知道,在 Gatsby 和 Flotiq 中重建包含 35k 以上页面的整个站点可能需要不到 5 分钟的时间)。

另一方面,如果您因为需要向其他系统提供内容而考虑使用单独的数据库 - 那么您有几个选择:

  1. 在无头 CMS 和第二个数据源之间设置自动化,大多数(如果不是全部)无头 CMS 都具有 Webhooks 功能,允许您在数据更改时将事件发送到其他系统。
  2. 跳过第二个数据库并选择具有 API 的无头 CMS,可用于轻松共享内容,随着 OpenAPI 在企业系统中的广泛普及 - 似乎 Flotiq 将是一个不错的选择。
  3. 使用ZapierPower Platform等工具在系统之间设置数据集成。

免责声明 - 正如您可能已经猜到的 - 我与 Flotiq 合作。


0
投票

对于您描绘的场景,我会说“混合方法”会做得更好,其中您有一个无头 CMS,仅提供某些部分/页面和一个支持产品其余要求的系统。 如果您有产品人员(或部门),他们通常会渴望 CMS 的工作流程,尤其是他们熟悉的 CMS。

我写了一篇关于如何使用

WordPress 作为无头 CMS 和 Remix JX 的文章

可能可以作为您的示例。不确定支持您的案例的技术

© www.soinside.com 2019 - 2024. All rights reserved.