跳到主要内容

简介

什么是炎凰数据平台的应用

在炎凰数据平台中 用户可以将自己的业务逻辑封装成一个应用,当用户在炎凰数据平台中进入这个应用后,所看到的一切都将和封装的业务逻辑相关,包括仪表板,左侧导航栏的配置,相关的权限控制等等,都将与应用作者所封装的业务逻辑强相关。

用户在封装好业务逻辑之后, 可以将应用安装到炎凰数据平台中,其他用户在经过授权之后可以进入该应用,从而使用这个应用的功能。

应用的开发

应用的开发环境

开发环境准备

  • python 3.9+
  • pip
  • app-raiser 使用以下命令安装
pip3 install yanhuang-appraiser \
--pre -i http://nexus.yanhuangdata.com/repository/pypi-composite/simple \
--trusted-host nexus.yanhuangdata.com
  • node 14 LTS (可选), 如果需要开发自定义页面,或者自定义图表,则需要安装 node 14 LTS

我们推荐用户使用pyenv来管理python版本,使用nvm来管理node版本,这样可以进行环境的隔离,避免版本冲突。相关下载地址:

创建应用

开发应用的第一步就是创建应用,使用命令prz init可以开启创建应用的流程。在这个过程中,app-raiser 会问你一些问题。例如:

  1. App Provider: 应用的开发商,默认为yanhuang
  2. App Title:应用的显示名称
  3. App Name:应用在文件系统上的目录名称,默认使用开发商名称和应用显示名称生成。
  4. App Type: 应用的类型
    • solution:App是一个端到端的完整的解决方案
    • extension
    • visualization: App 内嵌了至少1个自定义图表,但不包含数据集/表函数等知识对象的定义。属于偏重前端的应用类型
  5. Catalog Feature: 应用是否包含数据集/表函数/数据类型等Catalog相关的知识对象的定义,如果回答yes,则会继续详细询问。
  6. Business Feature: 应用是否包含仪表板/预存查询/告警等Business相关的定义,如果回答yes,则会继续详细询问。
  7. Web Feature: 应用是否包含前端自定义页面,如果回答yes会生成一个简单的SamplePage作为样例
  8. Visualization Feature: 应用是否包含前端自定义图表,如果回答yes会生成一个简单的SampleChart作为样例
  9. Web package name: 自定义页面和自定义图表都需要将项目初始化成一个npm package,这个是npm package的名字

创建完成之后,项目将会生成于${CURRENT_DIR}/apps/${APP_NAME} 目录下。目录结构将类似于:

.
├── .npmrc
├── README.md
├── babel.config.js
├── package.json
├── src/
└── webpack.config.js

其中src目录是所有的源文件, webpack.config.js babel.config.js package.json .npmrc 这几个文件是只有当用户打开了web feature, 或者 visualization feature的时候才会出现。这些都是nodejs用于build 自定义页面以及自定义图表的配置文件。

对于自定义页面和自定义图表的开发,请查看下列文档:

应用构建/打包

当我们本地都准备就绪以后,我们可以在运行命令 prz build 进行打包,打包结果会生成在${APP_HOME}/packages目录中,以zip文件的形式存在,用户可以上传到公共环境进行使用。

当成功安装之后,用户会在search 页面的chart选择器的最后看到你的自定义图表,同时你的自定义页面也会被挂载在:

http://<your deployment>/zh-CN/app/<app_id>/pages/<YourPageName>

这个类型的url上