简介
什么是炎凰数据平台的应用
在炎凰数据平台中 用户可以将自己的业务逻辑封装成一个应用,当用户在炎凰数据平台中进入这个应用后,所看到的一切都将和封装的业务逻辑相关,包括仪表板,左侧导航栏的配置,相关的权限控制等等,都将与应用作者所封装的业务逻辑强相关。
用户在封装好业务逻辑之后, 可以将应用安装到炎凰数据平台中,其他用户在经过授权之后可以进入该应用,从而使用这个应用的功能。
应用的开发
应用的开发环境
开发环境准备
- 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 会问你一些问题。例如:
- App Provider: 应用的开发商,默认为yanhuang
- App Title:应用的显示名称
- App Name:应用在文件系统上的目录名称,默认使用开发商名称和应用显示名称生成。
- App Type: 应用的类型
- solution:App是一个端到端的完整的解决方案
- extension
- visualization: App 内嵌了至少1个自定义图表,但不包含数据集/表函数等知识对象的定义。属于偏重前端的应用类型
- Catalog Feature: 应用是否包含数据集/表函数/数据类型等Catalog相关的知识对象的定义,如果回答yes,则会继续详细询问。
- Business Feature: 应用是否包含仪表板/预存查询/告警等Business相关的定义,如果回答yes,则会继续详细询问。
- Web Feature: 应用是否包含前端自定义页面,如果回答yes会生成一个简单的SamplePage作为样例
- Visualization Feature: 应用是否包含前端自定义图表,如果回答yes会生成一个简单的SampleChart作为样例
- 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上