# 升级到 v2

本文将介绍 CloudBase CMS v1 和 v2 的主要不同之处,并提供了升级指引。

CloudBase CMS v1 可以在云开发-控制台 (opens new window)直接平稳升级到 v2,升级过程不会涉及用户数据的修改,无需担心。

一些需要注意的,v2 和 v1 的不同之处:

  • 时间:v2 存储的时间类型为 Unix Timestamp
  • 用户管理:v2 和 v1 的用户管理不兼容
  • 文件:v2 上传文件的存储路径和 v1 不同
  • 数据模型:v2 存储的字段模型和 v1 不同
  • 富文本编辑器:v2 和 v1 使用的富文本编辑器不同,数据存储、行为表现上会有不同之处

# UI 界面

本次重大的改变之一就是 UI 界面,我们重新设计了 CMS 的 UI 界面交互,以提供更高的可扩展性,简化了二次开发的难度。

CMS 2.0 采用了新的设计规范,提供了更加简洁、优化的 UI 界面,如下所示

# 布局优化

CMS 1.0 中,当部分字段内容过长时,会挤压其他字段的显示空间,图片的大小也会显著影响内容集合的展示,造成不合理的显示效果,如下

在 CMS 2.0 中,我们优化了内容数据的展示效果,根据字段的类型不同,都做了对应的展示优化,以提供更好的使用体验。同时,我们也对字段较多的集合进行了优化,支持表格的滚动查看,如下

# 项目

在新版中,我们引入了项目的概念,可以将一些相关联的数据放置于同一个项目中,对数据资源进行隔离,增加了使用、管理数据的便捷性。

同时项目的划分也有利于权限的控制,可以针对性给予部分人员部分项目的资源访问权限,而不用给予全部权限。

# 权限控制

在 CMS 1.0 中,权限控制是一个弱项,虽然在 1.2 版本中加入了对数据集合的权限控制,但是使用并不方便,无法做到较细的权限控制粒度。

在新版中,我们重新设计了 CMS 的权限控制体系,引入了基于角色/资源的多维度权限校验体系,以控制用户的访问权限。

CMS 2.0 支持创建自定义用户自定义角色,实现自由的系统访问权限控制。自定义用户可以绑定任意角色,并获取角色的权限集,实现用户权限的授予。

角色是 CMS 系统资源可访问权限的载体,可以自由组合多种不同的系统资源访问权限。CMS 2.0 支持用户自定义系统中的角色,通过复合的权限规则,指定角色拥有的资源访问权限,如下所示

# 富文本

基于 braft editor (opens new window),我们在 CMS 2.0 中引入了全新的富文本编辑器,提供了更好的编辑体验,并支持了图片上传的能力。新的富文本编辑器提供了更丰富的编辑选项,如丰富的布局、列表、代码块、链接等。

# 内容模型(原内容设置)

在 CMS 2.0 中,我们重新设计了内容模型的编辑方式,由原来的表单形式修改了下面的交互类型

在 1.0 中,CMS 存在一些界限比较模糊的行为表现。如创建内容模型时,会默认有创建时间和修改时间的字段。这种系统的行为模糊了系统字段用户自定义字段的界限,可能与用户的行为发生冲突。

在 2.0 中,我们引入了系统字段的概念,即通过 CMS 创建数据时,系统会默认添加一些字段,如创建、修改时间,未来可能会有更多的系统字段出现。

同时,在 CMS 2.0 中,所有存储的时间类型都会被格式化为 Unix Timestamp 存储。

CMS 2.0 中内容模型与 1.0 内容设置的数据库存储字段有所不同,如果你依赖了数据库字段,请注意修改。

# 其他

# 搜索

CMS 2.0 支持了对字符内容的模糊搜索,同时也支持了过滤搜索,排序等多种数据查询条件。

# 枚举

CMS 2.0 中新增了枚举类型,适用于从固定集合中选择数据的情况。

# 登录

CMS 2.0 中更换了用户登录体系,由 1.0 版本中使用的 自定义登录 (opens new window) 切换为了 用户名密码登录 (opens new window),在安装时不用再输入自定义登录秘钥,降低了上手难度。

# 文件

CMS 2.0 中,前端上传的文件将被统一存储在云存储 cloudbase-cms/upload 目录下,并按日划分,采用 uuid + 文件 的格式存储。

# Bug Fix

修复了 1.0 中存在的已知问题。