如何为 Corteza 低代码应用程序创建数据结构

Corteza 是 Salesforce 的开源替代方案。了解如何在本系列文章中使用它。
145 位读者喜欢这篇文章。
Green graph of measurements

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

在本系列第一篇文章中,我展示了如何使用 Corteza 低代码创建一个自定义应用程序来跟踪捐款,Corteza 低代码是一个图形用户界面 (GUI) 和基于 Web 的开发环境,可以作为 Salesforce 的替代方案。到目前为止,捐款应用程序仅仅是存在,但本文将解释如何通过使用模块和字段填充数据结构使其发挥作用。

模块和字段存在于您的应用程序内部。(在编程术语中,它们是“本地定义的”。)模块和字段定义了数据存储在应用程序中的位置。如果没有模块和字段,您的应用程序就没有内存,也没有任何可操作的东西,因此定义它们是创建新应用程序的下一步。

捐款应用程序可在 Corteza 社区服务器上使用。您需要登录或创建一个免费的 Corteza 社区服务器帐户才能查看它。

进入应用程序的管理区域

要进入应用程序的管理区域,您首先需要在 Corteza 低代码中打开该应用程序。要进入本系列第一部分中创建的捐款应用程序

  1. 进入 Corteza。(如果您需要了解一些背景知识,请阅读Corteza 简介,Salesforce 的开源替代方案。)
  2. 单击 + 按钮以创建一个新选项卡。
  3. 选择 Corteza 低代码。
  4. 单击捐款命名空间以进入捐款应用程序。

由于捐款应用程序尚没有任何模块或页面,您看到的唯一内容是右侧的 管理面板 链接。如果应用程序有页面,它将显示主菜单和最右侧的 管理面板 链接。

Open Corteza Low Code admin panel

单击它以进入应用程序的管理区域。有四个菜单项

Corteza Low Code admin panel menu
  • 模块: 创建或编辑模块和字段
  • 页面: 定义应用程序的可视部分
  • 图表: 创建要添加到页面的图表
  • 自动化: 添加自动化规则以自动化业务流程和工作流程

公共页面 链接将您带回您的应用程序。

创建模块和字段

模块和字段定义了您需要存储在应用程序中的数据以及该数据如何链接到其他数据。如果您曾经使用 LibreOffice Base、Filemaker Pro 或类似的应用程序构建过数据库,您可能会感到熟悉——但您无需任何数据库经验即可使用 Corteza。

模块

模块就像数据库中的表。一个简单的应用程序通常有几个模块,而较大的应用程序则有更多模块。例如,Corteza CRM 有 35 个以上的模块。应用程序可以拥有的模块数量没有限制。

新应用程序没有任何模块。您可以使用顶部的表单创建一个模块,或者使用导出文件从不同的应用程序导入现有模块。您可以同时导入和导出单个模块或所有模块。

创建模块时,最佳实践是给它一个描述性名称,不带空格,并在不同的单词上使用大写字母,例如,LeadAccountCaseUpdate

捐款应用程序包括以下模块

  • 联系人: 存储捐赠者的联系数据
  • 联系人捐款: 跟踪联系人的捐款
  • 项目: 存储您可以将捐款分配到的项目
  • 备注: 存储与项目相关的备注

Donations application modules

字段

每个模块都由一组字段组成,这些字段定义了您要存储的数据以及存储格式。

您可以使用 添加新字段 按钮向模块添加新字段。这将添加一个新行,其中包含以下字段

  • 名称: 它必须是唯一的,并且不能有空格,例如,“firstname”。这不会向最终用户显示。
  • 标题: 这是字段的标签——最终用户在查看或编辑记录时看到的字段名称。它可以包含任何字符,包括空格。虽然最佳实践是保持此标题唯一,但这不是强制性的。一个例子是“名字”。
  • 类型: 这是您设置字段类型的位置。右侧的扳手图标允许您为字段类型设置更详细的数据。
  • 多值: 当您希望字段类型允许多个值条目时,此复选框可用。
  • 必需: 这使得最终用户在创建或编辑记录时必须填写该字段。
  • 敏感: 这允许您标记敏感数据,例如姓名、电子邮件或电话号码,以便您的应用程序符合隐私法规,例如 GDPR

在该行的末尾,您可以找到一个 删除 按钮(用于删除字段)和一个 权限 按钮(用于设置每个角色的读取权限和更新字段权限)。

字段类型

您可以从以下字段类型中选择。字段类型旁边的扳手图标为每种情况提供了更多选项。

  • 复选框 (是/否): 此字段在编辑记录时向最终用户显示一个复选框。当您单击扳手图标时,您可以选择选中和未选中代表什么。例如:是/否、活动/非活动等。
  • 日期时间: 这会创建一个日期字段。您可以选择
    • 仅日期
    • 仅时间
    • 仅过去的值
    • 仅未来的值
    • 输出相对值(例如,三天前)
    • 自定义输出格式(有关格式化选项,请参阅 Moment.js
  • 电子邮件: 此字段自动验证输入是否为电子邮件,并在记录查看模式下将其转换为可点击的电子邮件链接。您可以选择 不要将电子邮件转换为链接 选项以删除自动链接功能。
  • 选择: 当您单击扳手图标时,您可以使用 添加 按钮添加所需的任意数量的选择选项。您还可以设置最终用户是否可以一次选择多个值。
  • 数字: 此字段允许您添加前缀(例如,美元值的 $)、后缀(例如,表示百分比的数字的 %)和小数精度(例如,整数为零,或 1.13、2.44、3.98 等值为 2),并且您可以使用 格式化输入 字段创建更复杂的格式。
  • 记录: 此字段允许您将当前模块链接到另一个模块。它将向最终用户显示为“选择”。您可以在 模块名称 字段中选择模块,并选择用于加载“选择”选项的字段。在 搜索时查询字段 中,您可以定义用户可以搜索的字段。与 选择 字段类型一样,您可以设置用户是否可以一次选择多个值。
  • 字符串: 默认情况下,“字符串”字段是单行文本输入字段,但您可以选择使其成为多行甚至富文本编辑器。
  • URL: URL 字段自动验证该字段是否为网站链接。您可以为此字段选择以下选项
    • 从 URL 中删除 #
    • 从 URL 中删除 ?
    • 仅允许 SSL (HTTPS) URL
    • 不要将 URL 转换为链接
  • 用户: 这将创建一个“选择”字段,其中加载 Corteza 中的所有用户。您可以将值预设为当前用户。
  • 文件: 这将为最终用户创建一个 文件上传 按钮。

捐款应用程序中的字段类型

捐款应用程序在其四个模块中包含以下字段。

1. 联系人

Contact module
  • 姓名(字符串)
  • 电子邮件(电子邮件)
  • 电话(字符串)
  • 地址(字符串;多行

2. 联系人捐款

Corteza Donations app modules
  • 联系人(记录;链接到 联系人
  • 捐款(数字;前缀 $精度 2
  • 项目(记录;链接到 项目

3. 项目

Project module
  • 姓名(字符串)
  • 描述(字符串;多行使用富文本编辑器
  • 状态(选择;选项为 计划中活动中已完成
  • 开始日期(日期时间;仅日期
  • 网站链接(URL)
  • 捐款总额(数字;前缀 $精度 2
  • 项目负责人(用户;多选预设为当前用户

4. 备注

Notes module
  • 项目(记录;链接到 项目
  • 主题(字符串)
  • 备注(字符串;多行使用富文本编辑器
  • 文件(文件;单张图片

创建模块之间的关系

实际上,每个 Corteza 低代码应用程序都由多个相互链接的模块组成。例如,项目可以有备注,或者可以将捐款分配给不同的项目。记录 字段类型创建模块之间的关系。

记录 字段类型的基本功能是从模块 B 链接回模块 A。模块 B 中的记录是模块 A 中记录的子记录(您可以说它是 1-N 关系)。

例如,在捐款应用程序中,模块 备注 具有一个 记录 字段,该字段链接到模块 项目。最终用户将在 备注 记录中看到一个 选择 字段,其中包含备注所属的 项目 的值。

要在捐款应用程序中创建此关系,请选择 projectId 行中的扳手图标

Wrench icon

在打开的弹出窗口中,选择该字段将链接到的模块、最终用户将看到的标签以及最终用户可以搜索的字段。

Setting query fields for search

这创建了一个简单的关系,允许 项目 拥有 备注。模块之间的多对多关系更为复杂。例如,捐款应用程序需要支持进行多次捐款的联系人以及分配给不同项目的捐款。联系人捐款 模块位于中间来管理此关系。

此模块有两个 记录 类型的字段。对于每个字段,我们需要选择正确的模块并设置用户可以搜索的标签和查询字段。捐款应用程序需要为 联系人项目 模块设置以下内容

Contact module field settings

Project module field settings

这创建了模块之间的多对多关系。

您现在已经为应用程序中的数据设置了结构。下一步是使用 Corteza 的 页面 功能创建应用程序的可视化方面。它比您想象的要容易,您将在本系列的第三篇文章中看到。

接下来阅读什么
标签
User profile image.
我是 Crust 的董事之一,Crust 是 Corteza 项目背后的公司。我曾在多家开源公司工作过,包括 Mattermost、Collabora Productivity(LibreOffice in the Cloud 背后的公司)、SalesAgility (SuiteCRM) 和 Zentyal。我的工作重点是数字营销以及开发和实施开源 CRM 和营销解决方案。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.