Loving Tina? us on GitHub0.0k

我们对TinaCMS v4的计划

By TinaCMS团队

我们正在开始TinaCMS v4的工作。

简而言之: TinaCMS v3将继续得到支持,而v4将重点放在让TinaCMS更易于扩展、定制和升级。

TinaCMS在过去几年中发展了很多。在此过程中,我们发现系统的某些部分比预期的更难扩展。一些定制化太困难。一些集成比我们希望的更紧密耦合。编辑体验的某些部分需要重新思考,而不是再进行小修补。

v4是我们正确解决这些问题的机会。

这不是一个发布公告。这是工作的开始,我们希望尽早分享方向。

为什么是v4?

v4的主要目标是让TinaCMS更易于构建。

今天,TinaCMS为开发者提供了很多控制权,但太多的控制依赖于了解内部细节或绕过现有假设。我们希望更多的TinaCMS部分被暴露为明确的扩展点。

这意味着字段类型、侧边栏、屏幕、媒体提供者、搜索提供者和其他CMS功能应该更容易插入、替换或定制,而无需维护一个分支。

例如,媒体提供者应该是你安装和配置的东西,而不是需要通过CMS的几个内部层次进行连接的东西。

这也意味着我们可以让TinaCMS更易于维护。包之间更清晰的边界应该使升级风险更小,并让我们在不影响其他部分的情况下改进系统的一部分。

一个新包

TinaCMS v4将作为一个全新的包发布:@tinacms/tinacms

新的包名为v4提供了在现代化基础上构建的空间,而v3继续完成其工作。现有项目可以继续依赖当前的tinacms包而不受干扰,当你准备好时,采用v4将是一个明确的、有意的步骤。

我们正在关注的内容

工作仍在开始,但这些是我们预计首先关注的领域:

  • 基于插件的架构。 使字段、侧边栏、屏幕、媒体和搜索更易于扩展或替换。
  • 表单。 围绕React Hook Form重建表单系统,提供更好的脏状态、验证、草稿和自定义行为的钩子。
  • 字段。 重新设计内置字段类型,使其行为更一致且更易于定制。
  • 编辑工作流程。 将分支和拉取请求工作流程进一步引入编辑器,使内容团队可以使用Git而无需在GitHub中操作。
  • 编辑器UI。 审查管理布局、导航、媒体管理器和嵌套内容的编辑体验。
TinaCMS v4编辑器的早期预览

TinaCMS v4编辑器方向的早期预览。

我们还使用AI快速原型化想法,然后再决定构建什么。上面的编辑器预览就是这一过程的结果。如果你对我们如何处理这类工作以及为什么它不会变成混乱感兴趣,SSW有一个关于使用AI进行原型开发的好规则。

随着工作的进一步推进,我们将分享更多关于这些领域的详细帖子。

迁移

我们知道任何主要版本的提升都会引发同样的问题:“这对我的项目意味着什么?”

我们的目标是使现有TinaCMS项目的v4升级路径尽可能平滑和可预测。

我们计划使用codemod来处理尽可能多的模式迁移。我们还希望迁移文档清楚地说明每个重大变化,codemod可以处理什么,以及可能仍需手动注意的内容。

具有自定义字段或高度定制化组件的项目将需要更多关注,因此我们计划为这些情况提供前后示例。

v3会发生什么?

TinaCMS v3将在v4构建和稳定期间继续得到支持。

现有项目可以继续使用v3,并在时机合适时迁移到v4。

我们尚未为v3设定具体的终止日期。v3将在合理的时间内通过错误修复和安全补丁进行维护,并在我们开始减少支持时给予充分通知。

接下来是什么

在接下来的几个月里,我们将随着工作的成型分享更多内容:设计预览、架构笔记、迁移细节,以及社区提供反馈的早期机会。

如果你想跟进:

感谢你成为TinaCMS的一部分。我们很高兴开始这个新篇章,并在过程中分享进展。

最好的祝愿,

TinaCMS团队 🦙

Last Edited: