数据集

数据集具有设计和存储表格数据的功能。设计完成后,可以从CSV文件中导入数据或者手动输入数据或者通过API以JSON格式输入数据,也可以远程同步数据。数据集为从5dbo中的其他系统导入和显示数据提供了一种方便的方法。

这种用法的例子有:

  • 酒吧的饮料菜单
  • 高尔夫俱乐部的开馆时间
  • 会议室预订

数据集分为:通用的和可重用,故分为以下两部分:

  • 数据集(数据结构和数据)
  • 显示(数据集视图/代码/自定义模块的数据源)

数据集在素材库中定义,使用"素材库"菜单、"数据集"子菜单访问数据集。下面是一个显示数据集的示例表。

Add Dataset

通过每个数据集的行菜单,可以对它执行许多操作。

设计数据集

可以使用右上角的"添加数据集"按钮添加数据集,并使用"行"菜单编辑数据集。设计数据集分为两步:首先添加列名,然后再添加行。

  • 名称: 数据集的名称——用于以后在CMS中识别它。
  • 描述:这个数据集的描述——它是什么和它的用途。
  • 代码: 该数据集的代码,通常用于通过API引用此数据集
  • 远程?: 这个数据集应该与远程数据源同步吗?

如果选择将数据集设置为远程数据集,则还需要填写远程数据源URL、请求参数、请求方法和身份验证信息等详细信息。用户还需要确定如何使用生成的远程数据集。下面进一步解释这些字段的含义。

权限

数据集的创建者(或管理员)能够在用户组或用户基础上设置数据集的权限。只有具有编辑权限的用户才能查看/删除/编辑数据并重新组织数据结构,只有具有数据集视图权限的用户才能在其版面中使用数据集。

通过从任意一个数据集的行菜单中选择"查看列"来添加/编辑列。将打开一个新窗口,显示当前在该数据集上创建的所有列,如下入所示:

Dataset Column

列是用来定义数据的结构,每一列包括以下内容:

  • 标题: 本列的标题
  • 列类型: 值、公式或远程。该列是用户输入的行(值)还是计算的列(公式)。
  • 数据类型: 该数据的格式是什么?字符串,数字,日期,库图像,外部图像。
  • 排序: 该列在查看/输入数据时应该显示的位置。

根据列类型的不同,列还需要

  • 列表内容: 可以为该字段选择逗号分隔的值列表
  • 远程数据路径:JSON语法字符串,显示如何访问远程数据源中的数据。
  • 公式:适用于SELECT语句的MySQL语句,或格式化日期字段$dateFormat(<col>,<format>)的字符串。

5dbo支持的列数没有限制;较小的数据集通常更容易输入和显示。

在输入数据之后,可以添加和删除列。在编辑完数据之后,还可以更改列的顺序和列表内容。

远程数据

远程数据集是一种特殊类型的数据集,它定期从第三方数据源同步数据,您可以在添加/编辑数据集时指定该数据源。5dbo会在指定的时间段调用指定的URL,并根据数据集上设置的指令和任何远程列解析数据。

远程数据源必须是JSON格式的。

数据是根据列类型"远程"定义的列填充的。在指定远程列时,输入"数据路径",这是该列数据的JSON语法路径,与数据集上指定的数据相关。

如下:一个JSON数据源:

{
    "base": "EUR",
    "date": "2017-12-22",
    "rates": {
        "GBP": 0.88568,
        "THB": 38.83,
        "USD": 1.1853
    }
}

如果我们想要用列来描述货币符号和值,将"数据集的名称"命名为 利率 ,然后添加一个列:

  • 符号-数据路径= 0
  • 值-数据路径= 1

从属关系

远程数据集可以依赖另一个数据集来规划其请求。从属数据集中的每一行都将用于使用父数据集的请求参数创建。

删除

可以使用操作菜单删除数据集。选择"删除"菜单项将会显示"删除此数据集"的窗口。数据集只能在当前不使用的情况下删除。

数据

如果您添加了一个新了数据集,并向其中添加一些数据。这可以通过多种方式实现:

  • 手动添加数据
  • 通过CSV文件导入
  • 通过API
  • 远程同步

手动添加

数据可以通过视图数据行菜单或列页面的"查看数据"操作菜单在数据集中查看/添加和编辑。返回的数据表将包含配置中定义的每个列的。如下图所示:

Dataset Row

可以使用"添加行"按钮添加新行,该按钮将打开一个窗口。可以通过单击行上的任何位置来切换,使用最右边列中的 x删除该行。

从CSV文件导入

在数据集的行菜单中:导入CSV,用于从CSV文件中提取数据并将其放入数据集中。导入csv可以通过任何数据集的行菜单访问,远程数据源配置的数据集除外。

打开CSV导入窗口,窗口的下半部分有一段字段,请在CSV文件中输入与列标题对应的列号。 这步应该在添加CSV文件之前完成。用户还可以选择覆盖现有数据或者忽略CSV文件的第一行。

例子如下:

Dataset Import CSV

如果您使用的是非ASCII字符,请务必确保CSV文件具有正确的文件编码。非ASCII字符对于英语以外的语言非常常见。最常用的文件编码是UTF-8。

如果使用Excel编辑了CSV文件,则需要确保从"另存为"对话框的"工具"->" Web选项"->"编码"选项卡中选择"Unicode(UTF-8)"。

通过API

用户可以编写自己的应用程序,使用5dbo API将数据同步到数据集中。可以手动逐行添加数据,也可以通过导入整个JSON结构添加数据。

可以在CMS API文档中查看有关API的进一步讨论。

远程

远程数据集与一个名为"获取远程数据集"的任务保持同步。该任务是默认配置的,每分钟运行一次。