元数据介绍

元数据概述

在华炎魔方低代码平台中,元数据是应用程序的核心组成部分。它用于描述和定义应用程序的结构、功能及行为,通过这一机制,管理人员或者开发人员可以有效地实现应用程序的灵活性和适应性。本教程将介绍元数据的定义以及其在系统中的应用方式。

什么是元数据?

元数据指的是描述数据的相关信息。在华炎魔方平台中,元数据用于定义应用程序的各个方面,包括数据模型、业务逻辑和用户界面等。这些定义可以通过直观的页面配置,也可以通过代码编辑来实现,以满足针对不同角色不同场景的业务开发需求。

元数据分类

元数据在平台中可以从以下两个主要场景进行分类:

  1. 按照定义方式

    • 页面配置元数据:通过可视化界面定义,适用于业务用户和快速直观的配置需求。
    • 代码元数据:由代码(yml、js、json)文件定义和管理,适合复杂配置需求及需要版本控制的场景。
  2. 按照功能类型

    • 数据模型类元数据:定义业务对象和字段的结构,是其他元数据配置的基础。
    • 业务流程类元数据:包括工作流、验证规则、数据通知等,实现业务逻辑的自动化和复杂操作。
    • 界面配置类元数据:涉及页面布局、选项卡、视图、图表和仪表盘等,提升用户交互与数据展示的灵活性。
    • 安全与权限类元数据:管理用户角色,控制应用访问权限,以及数据记录的安全设置。
    • 开发和扩展类元数据:涵盖开发者使用的自定义函数和触发器,用于扩展平台功能和实现自定义操作。

元数据页面加载策略

在华炎魔方低代码平台中,元数据的加载策略对于确保应用程序的高效运行和用户体验至关重要。以下是系统在页面加载时处理元数据的策略:

  • 优先级处理:当某一元数据属性同时存在页面配置和代码配置时,平台将优先采用页面配置。这意味着应用的视觉和功能方面的调整可以快速生效,满足业务快速变化的需求。
  • 合并策略:对于那些只在页面配置或代码配置中存在的元数据属性,系统会自动进行合并处理。这样确保了即使在两种配置方式共存的情况下,所有有效的元数据属性都能发挥作用。
  • 动态同步:页面配置的变更会即时反映在用户界面上。这种动态特性允许快速迭代和调整,从而支持业务需求的灵活变化。

元数据为何如此重要?

  1. 一致性和可维护性:通过定义结构和元素,元数据提供了一个一致的框架,有助于应用程序开发。它使系统易于维护。
  2. 可升级性:由于配置与核心平台分离,更新和迁移变得不那么繁琐。
  3. 协作:元数据可以进行版本控制,使团队更容易协作、跟踪更改并保持配置历史。
  4. 快速部署:元数据的更改几乎立即反映出来,使开发团队能够快速迭代。

通过这样的加载策略,华炎魔方确保元数据的配置既能提供快速的反应速度,又不失灵活性和完备性,为开发者和业务用户提供了一个强有力的平台基础。

元数据分类

数据模型类元数据

数据模型类元数据用于定义业务对象和字段的结构,是其他元数据配置的基础,确保数据的逻辑结构完整性,并支持对象间的关系定义。

  • 对象(*.object.yml):定义业务对象,例如“合同”、“客户”等实体。
  • 字段(*.field.yml):详细描述对象中的每个字段,包括类型、验证规则和默认值。

业务流程类元数据

业务流程类元数据包含工作流、验证规则、数据通知等元素,帮助实现复杂的业务逻辑和自动化流程。

  • 工作流(*.workflow.yml):定义业务流程的自动化步骤和条件触发。
  • 验证规则(*.validationRule.yml):确保数据输入符合特定条件,保障数据质量。
  • 数据通知(*.workflow.yml):配置在特定事件发生时系统发出的通知,例如邮件或消息提醒。

界面配置类元数据

界面配置类元数据涉及页面布局、选项卡、视图、图表和仪表盘等部分,增强用户的交互体验和数据展示能力。

  • 列表视图(*.listview.yml):定义对象数据的列表显示方式。
  • 按钮(*.button.yml & *.button.js):定义自定义按钮及其功能,以实现特定用户操作。
  • 应用(*.app.yml):配置应用名称、图标和包含的对象或选项卡清单。
  • 选项卡(*.tab.yml):定义导航结构,允许用户快速访问模块。
  • 页面布局(*.page.amis.json & *.page.yml):控制对象记录的显示结构,例如字段排列和可见性。
  • 图表和仪表盘(*.dashboard.yml & *.question.yml):用于数据的可视化展示,帮助用户进行直观的分析和决策。

安全与权限类元数据

安全与权限类元数据负责管理用户角色和应用访问权限,确保数据记录的安全性。

  • 权限集(*.profile.yml):细化控制用户对数据和功能的访问权限。
  • 对象权限(*.permission.yml):定义用户对对象的访问权限。
  • 记录限制规则(*.restrictionRule.yml):限制用户对记录级数据的访问。
  • 记录共享规则(*.shareRule.yml):放大用户对记录级数据的访问范围。
  • 字段权限(*.permission.yml):定义用户对对象字段的访问权限。

开发和扩展类元数据

开发和扩展类元数据包括自定义函数和触发器,允许开发者扩展平台功能,实现定制业务逻辑。

  • 触发器(*.trigger.yml):配置在数据操作时自动执行的业务逻辑。
  • 自定义函数(*.object_functions.yml):创建专用函数以满足特定需求,增强平台功能。

元数据同步配置

华炎魔方低代码平台提供了强大的元数据同步功能,使页面配置的元数据和代码定义的元数据之间可以实现无缝的互相同步。

这种双向同步机制支持开发人员通过可视化界面快速配置应用,也能够通过代码进行精细化的控制和版本管理。

  • 互补性:页面配置的元数据可以快速直观地进行调整,特别适合业务人员和不熟悉编码的开发人员。而代码元数据允许复杂逻辑的实现,并便于版本控制。
  • 同步机制:可以通过VS Code插件和Steedos CLI工具实现页面配置的元数据与代码元数据相互同步,实现配置的整合和一致性。

环境准备

要实现元数据同步功能,需要在本地环境中进行以下配置:

  • Node.js(14 版或更高版本);
  • npm(通常随 Node.js 一起提供);
  • mac版需安装Xcode;
  • 安装 Visual Studio Code;
  • 新建本地项目:
    • 手动文件夹中创建.env、.env.local、steedos.config.js空文件即可;

    • 或通过命令来初始化项目,同时还需手动新增steedos.config.js空文件;

      npx create-steedos-app my-project

安装 Steedos CLI 命令工具

使用以下命令安装或更新 Steedos CLI:

npm i steedos-cli --global

安装 VS Code 插件

  • 打开 VS Code 扩展商城,搜索“Steedos Extension Pack”,点击安装,此扩展包同时包含“Steedos CLI Integration”插件。

服务同步地址及API KEY环境变量配置

.env.local 文件中配置本地环境变量,例如 API_KEY 等保密信息,这是防止信息被提交到 git 仓库。当然如果一些通用的环境变量也可以直接配置在 .env文件中。

METADATA_SERVER=#Steedos服务器URL METADATA_APIKEY=#Steedos API Key
  • METADATA_SERVER: 元数据服务器的网址,可配置远程或本地服务访问地址。
  • METADATA_APIKEY: 如果是云服务,可以直接在云服务记录中复制;如果是本地开发环境,需要复制在“设置”应用的“高级设置->API Key”菜单下创建的API Key。

同步路径环境变量配置

  • 默认情况下为 steedos-app 目录,页面配置元数据同步至代码时会同步到此文件夹下,或代码元数据同步到页面配置元数据也会找到此文件夹下的代码元数据进行同步。
  • 通过配置以下环境变量,可以指定同步到其他特定目录进行同步:
[package] DEFAULT_PACKAGE_PATH=steedos-packages/xxx

重启VS Code

重启VS Code后,左侧工具栏中会出现九宫格图标的“steedos”华炎魔方元数据同步组件,点击后可以看到我们配置的服务下页面配置的元数据;这是我们执行双向同步最开始的入口。

执行元数据双向同步

通过下载安装同步工具以及元数据配置完成后,可实现代码元数据和页面配置元数据的双向同步。

  • Retrieve Source:将界面配置的元数据同步为代码元数据下载到本地或代码仓库,便于版本管理。
  • Deploy Source:将本地代码中的元数据发布到平台(页面配置元数据),实现界面配置同步。

浏览并下载(Retrieve)代码元数据

  • 初次同步代码元数据:在 VS Code 工具栏中使用 Steedos 插件显示可下载的元数据清单。用户可选择特定元数据下载到本地。控制台会显示元数据同步的相关信息。

  • 元数据代码更新同步:元数据已经同步到本地/代码仓库后,可以浏览项目文件夹,点击对应的元数据文件或文件夹,通过右键菜单选择“Steedos: Retrive Source”来将页面配置的元数据同步更新至代码元数据。

代码元数据上传(Deploy)至平台

选择要上传(上传)到平台的在项目文件夹中的元数据代码文件,通过右键菜单选择“Steedos: Deploy Source”来将代码元数据上传到 Steedos 平台。

同步场景说明

通过Steedos元数据插件,华炎魔方低代码平台实现了两种不同定义方式下的元数据无缝同步。代码型元数据不仅实现了版本控制,还使团队开发更加高效。

  • 本地环境同步:若已在本地部署并运行华炎魔方环境,您可以轻松同步本地环境中的元数据。
  • 远程环境同步:如未在本地运行华炎魔方环境,可以利用VS Code与Steedos插件,从远程环境中同步元数据配置,实现远程代码管理与调试开发。

通过这样的场景实现,平台为开发者提供了灵活的同步方案,无论是本地还是远程,皆能保障元数据配置的实时性和一致性。

总结

华炎魔方低代码平台通过其先进的元数据同步功能,实现了页面配置和代码定义之间的无缝集成。这种双向同步机制极大地提高了开发效率和灵活性。

通过本教程,您可以深入了解如何通过可视化界面和代码定义来管理元数据。页面配置使业务人员能够快速直观地调整应用,适应不断变化的业务需求;而代码元数据则允许复杂逻辑和版本管理的实现。VS Code插件和Steedos CLI工具进一步增强了这种双向同步的能力,确保所有元数据的整合和一致性。

为了高效运用元数据同步,开发者需要在本地环境中安装必要的工具和插件,并正确配置环境变量和同步路径。系统支持将界面配置的元数据同步为代码下载,也支持将代码变更部署至平台。这一机制确保了在多开发者环境中的协作无缝并行,并为复杂企业应用的开发提供了强有力的支持。

通过这些强大的功能,华炎魔方不仅实现了开发人员和业务用户更高效的协作,也简化了复杂应用的管理和部署流程,确保应用的快速迭代与稳定运行。