数据集
数据集具有设计和存储表格数据的功能。设计完成后,可以从CSV文件中导入数据或者手动输入数据或者通过API以JSON格式输入数据,也可以远程同步数据。数据集为从5dbo中的其他系统导入和显示数据提供了一种方便的方法。
这种用法的例子有:
- 酒吧的饮料菜单
- 高尔夫俱乐部的开馆时间
- 会议室预订
数据集分为:通用的和可重用,故分为以下两部分:
- 数据集(数据结构和数据)
- 显示(数据集视图/代码/自定义模块的数据源)
数据集在素材库中定义,使用"素材库"菜单、"数据集"子菜单访问数据集。下面是一个显示数据集的示例表。
通过每个数据集的行菜单,可以对它执行许多操作。
设计数据集
可以使用右上角的"添加数据集"按钮添加数据集,并使用"行"菜单编辑数据集。设计数据集分为两步:首先添加列名,然后再添加行。
- 名称: 数据集的名称——用于以后在CMS中识别它。
- 描述:这个数据集的描述——它是什么和它的用途。
- 代码: 该数据集的代码,通常用于通过API引用此数据集
- 远程?: 这个数据集应该与远程数据源同步吗?
如果选择将数据集设置为远程数据集,则还需要填写远程数据源URL、请求参数、请求方法和身份验证信息等详细信息。用户还需要确定如何使用生成的远程数据集。下面进一步解释这些字段的含义。
权限
数据集的创建者(或管理员)能够在用户组或用户基础上设置数据集的权限。只有具有编辑权限的用户才能查看/删除/编辑数据并重新组织数据结构,只有具有数据集视图权限的用户才能在其版面中使用数据集。
列
通过从任意一个数据集的行菜单中选择"查看列"来添加/编辑列。将打开一个新窗口,显示当前在该数据集上创建的所有列,如下入所示:
列是用来定义数据的结构,每一列包括以下内容:
- 标题: 本列的标题
- 列类型: 值、公式或远程。该列是用户输入的行(值)还是计算的列(公式)。
- 数据类型: 该数据的格式是什么?字符串,数字,日期,库图像,外部图像。
- 排序: 该列在查看/输入数据时应该显示的位置。
根据列类型的不同,列还需要
- 列表内容: 可以为该字段选择逗号分隔的值列表
- 远程数据路径: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
- 远程同步
手动添加
数据可以通过视图数据行菜单或列页面的"查看数据"操作菜单在数据集中查看/添加和编辑。返回的数据表将包含配置中定义的每个列的。如下图所示:
可以使用"添加行"按钮添加新行,该按钮将打开一个窗口。可以通过单击行上的任何位置来切换,使用最右边列中的 x
删除该行。
从CSV文件导入
在数据集的行菜单中:导入CSV,用于从CSV文件中提取数据并将其放入数据集中。导入csv可以通过任何数据集的行菜单访问,远程数据源配置的数据集除外。
打开CSV导入窗口,窗口的下半部分有一段字段,请在CSV文件中输入与列标题对应的列号。 这步应该在添加CSV文件之前完成。用户还可以选择覆盖现有数据或者忽略CSV文件的第一行。
例子如下:
如果您使用的是非ASCII字符,请务必确保CSV文件具有正确的文件编码。非ASCII字符对于英语以外的语言非常常见。最常用的文件编码是UTF-8。
如果使用Excel编辑了CSV文件,则需要确保从"另存为"对话框的"工具"->" Web选项"->"编码"选项卡中选择"Unicode(UTF-8)"。
通过API
用户可以编写自己的应用程序,使用5dbo API将数据同步到数据集中。可以手动逐行添加数据,也可以通过导入整个JSON结构添加数据。
可以在CMS API文档中查看有关API的进一步讨论。
远程
远程数据集与一个名为"获取远程数据集"的任务保持同步。该任务是默认配置的,每分钟运行一次。