常见问题

概念

什么是 headless CMS?

headless CMS 是一种把管理内容的地方和展示内容的画面分开的内容管理系统。这里的 "headless" 意思是没有另外绑定固定的画面(UI)。

在传统方式中,管理内容的地方和展示内容的网站画面是捆绑在一起的。headless CMS 把这两者分开。内容在一处管理,再通过约定好的通道(API,一种按既定规则用地址收发数据的方式)传递出去。因此同一份内容可以被网站、移动应用等多个不同画面取用。

WEEGLOO 就属于这种 headless CMS。在内容工作室中创建并发布内容后,网站或应用会取得这个发布版本并显示在画面上。WEEGLOO 的整体运作在如何运作中说明。

内容以什么方式提供?

WEEGLOO 通过基于 JSON(收发数据时使用的、以字符为基础的数据格式)的 RESTful API 提供内容。API 是一条按既定规则用地址收发数据的通道。

按用途,API 分成了多个。

像这样把读取与管理分开后,就可以在不同环境中只挑选需要的通道来使用内容。什么情况用哪个 API,在 API 参考中说明。

在移动应用中也能使用吗?

可以。正如什么是 headless CMS?中说明的那样,WEEGLOO 把内容和展示内容的画面分开来管理。因此同一份内容既可以在网站中取用,也可以在移动应用中取用。应用获取已发布内容的方式和网页相同。

把会员登录接入移动应用(Android、iOS)时,有一点不同。登录完成后把结果送回应用的这段连接和网页不一样,需要另外的技术步骤。这些步骤在 Auth API 中说明。

把移动应用与 WEEGLOO 对接的完整示例,可以在跑步记录服务中从头到尾查看。

内容管理

要用多种语言发布内容,该怎么做?

要用多种语言提供 ContentMedia,首先要在 Space 中添加语言(Locale)。

  1. 从左侧菜单进入 Space 设置的 Locale 管理画面。
  2. 点击右上角的 + 添加 按钮,在下拉菜单中选择想要的语言。
  3. (选填)指定 Fallback Locale。它是当该语言的值为空时替代显示的语言。
  4. 点击 保存

添加 Locale 之后,要为每个需要按语言分别填值的 Field 开启多语言。在 Content Type 编辑画面中打开相应 Field配置 Field,在 设置 标签页中确认 为此 Field 启用本地化 是否已开启。

详细内容在多语言管理中说明。

Content 的有效性检查怎么做?

有效性检查是给 Field 附加"能填入这个格子的值"的条件的功能。不符合条件的值无法保存,从而防止错误的 Content 堆积起来。

可附加的条件因 Field 类型而异。例如,关联 MediaField 有限制可上传文件种类或限制文件大小、图片尺寸的条件,数字 Field 有规定值范围的条件。

要给 Field 添加有效性检查,请按以下步骤进行。

  1. 进入 Content Type 编辑画面,点击要附加条件的 Field
  2. 配置 Field 中切换到 验证 标签页。
  3. Field 类型可用的条件会出现。选择需要的条件并设置。

详细内容在有效性检查中说明。

Content 标题怎么设置?

Content 标题是在 Content 列表中用来辨认每一项的名称。只要是 ShortText 类型的 Field,任何一个都可以用作标题。

Content Type 编辑画面中打开要用作标题的 Field,把这个 Field 指定为用作标题即可。每个 Content Type 只能有一个 Field 用作标题,所以如果已经有别的 Field 被指定为标题,就要先解除它,再重新指定。

第一次创建 Field 时把它指定为标题的流程,在 Content 建模中说明。

Organization 与 Space 管理

要邀请用户,该怎么做?

要把某个用户拉进 Space,那个用户首先必须属于某个 Organization。所以协作从邀请进 Organization 开始。

把用户邀请进 Organization 的操作,由拥有 OwnerAdmin 角色的用户来完成。

  1. 进入 Organization 设置画面。
  2. 在左侧菜单中点击 Membership
  3. 点击右上方的 邀请 按钮,输入电子邮件和要赋予的角色等信息,发出邀请。

被邀请的用户会立即成为成员。无需另外经过"接受"步骤,系统会向被邀请的邮箱发送一封通知邮件。

关于邀请和角色的详细内容,在 Organization 与 Space中说明。

API

sys.id 值是唯一的吗?

是的。sys.id 在整个服务中是唯一生成的。因此即使是属于不同 OrganizationSpace 的资源,值也不会重复。

sys 中包含的信息,在系统属性 (sys)中说明。

Content 的引用资源怎么查询?

使用 include 参数,就能在一次请求中把 Content 连同它所指向的引用资源一并取得。

GET /v1/spaces/{spaceId}/contents?include=1

上面的请求在查询 Content 列表的同时,一并取得一层深度的关联引用数据。把值提高到 2 或 3,会展开取得更深的层级。

include 不只用于 Content,所有资源查询都能以同样的方式使用。详细内容在通用查询参数中说明。

搜索条件支持 OR 运算吗?

REST API 不直接支持把多个条件用 OR(两个条件满足任一即可取得)连接的功能。在一次请求中同时给出多个条件,只会得到全部满足(AND)的结果。如果需要 OR,就按条件分别发出请求,再把收到的结果合并使用。

用条件缩小列表范围的方法,在通用查询参数中说明。

结算与费用

可以更改套餐吗?

可以随时把套餐升级(upgrade)或降级(downgrade)。升级后,会对剩余的计费周期按比例结算;降级则从下一个计费周期开始生效。

各套餐的额度和价格,在套餐中说明。

API 用量怎么计算?

许多内容平台以 API 调用次数(请求数)为基准计算用量。WEEGLOO 不是以调用次数,而是以实际收发的数据量(数据传输量)为基准计算用量。即使调用次数相同,如果收发的数据更大,计入的用量也会更多。

Free、Basic、Pro 套餐每月固定的数据传输量已包含在月费之内。套餐表中还一并标注了换算成调用次数的数值,以便估算这一传输量。像 Advanced Search 这类一次搜索会计为多次调用的操作,也是在这一传输量之内使用的。

如果需要超出固定传输量的更大用量,可以使用按实际用量计费的 Enterprise 套餐。各套餐的数据传输额度,在套餐中说明。