在 Optimizely Graph 和 SaaS CMS 上构建 .NET Core 无头网站

欢迎来到这个新的多篇文章系列,在这里您可以跟随我进行另一项疯狂的实验:我们能否让我们心爱的 Alloy 网站在 Optimizely Graph(和 SaaS CMS)之上作为无头网站运行,使用 MVC、Razor Pages 和 Blazor 组件的混合 – 我们能否让开发人员和编辑者都拥有我们在经典 Optimizely/Episerver 网站中习惯的体验?让我们来一探究竟!

现在,那些经常关注这个博客的人可能已经注意到,当谈到 Optimizely CMS 上的无头网站概念时,我有一定的怀疑态度。虽然我仍然坚持这一点,但肯定也有正当的商业(和技术)原因想要将内容管理与演示和网站逻辑分离开来。
在这些情况下,我认为关键是提出一种架构,尽可能轻松地提供良好的开发人员体验,并尽量减少需要维护的额外代码量。

在这方面,(相对)新的 Optimizely Content Graph 提供了很大的帮助。它既可以用于常规的 Optimizely CMS 网站(在 DXP 上,在撰写本文时,本地定价尚未准备好),也可以内置于 SaaS CMS 产品中。您甚至可以向其中添加自己的自定义外部内容(但我将留到另一篇博客中再讲)。

它最酷的地方在于,它既是一个功能齐全的出色搜索引擎,又是一个高效的内容查询和导航提供程序,还是一个强大的内容 API(基本上取代了内容交付 API)。而且它使用 GraphQL,因此所有平台上都有很多工具可以开始使用它。哦 – 还有我最喜欢的细节之一 – 它支持 webhook(但我们也把它留到以后再说)。

你可以把它想象成有点像 Find – 它是一种托管的 SaaS 服务,内容会从 CMS 不断推送 – 然后你可以使用 GraphQL 查询它。

但我离题了——所以让我们回到本博客系列的主题:让我们重新实现老旧的 Alloy——但作为无头解决方案,以 Graph 作为 API,以 SaaS CMS 作为后端。如果我在此过程中碰巧制作了一些可能对其他人有益的 nuget 包和开源工具,那就这样吧 🙂

让我们开始使用 SaaS CMS 上的内容和内容类型

作为 OMVP,我很幸运地获得了几个免费的 SaaS CMS 实例来试用。当然,最好的是它们每个都带有我自己可以使用的 Graph 索引。那么 – 让我们开始吧。

我做的第一件事就是创建一个全新的本地合金(像你一样做)。然后我直接进入管理模式的导出区域。

导入和导出包是一项老技术而且相当棘手,所以我把它分解成几个不同的包。
首先是包含内容类型和其他元信息的包,然后是包含页面树的包,最后是包含块树结构的包(“适用于所有网站”)。然后只需一次导入一个包(出现警告时我闭上了眼睛),调整一些小细节,然后就完成了。

正如您所见,我们有一个良好的开端 – 所有类型都在那里,当我切换到编辑模式时,似乎内容也在那里:

最后,正如您在下面看到的 – 内容已自动推送到内容图,因此我们可以开始查询它。

使用 Graph

从内容方面来说,这是一个很好的开始。在下一篇文章中,我们将进一步探讨在“头部”方面使用 Graph 需要做些什么。

1718392052
#在 #Optimizely #Graph #和 #SaaS #CMS #上构建 #.NET #Core #无头网站
2024-06-14 14:59:16

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​