CBoard框架使用总结一[通俗易懂]

CBoard框架使用总结一[通俗易懂]文章内容1.功能介绍2.源码结构分析3.总结1.功能介绍1.1.整体界面(CBoard支持中英文版本)左侧功能依次为:已创建的数据面板:包含已经创建的DashBoard配置功能:DashBoard配置功能集管理:主要是用户管理(Spring-Security)1.2.DashBoard配置功能主要包括:数据源定义:支持Elasticsearch、saiku、TextF

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

文章内容

1.功能介绍
2.源码结构分析
3.总结

1.功能介绍

1.1.整体界面

主要功能包括:
已创建的数据面板:包含已经创建的DashBoard
配置功能:DashBoard配置功能集
定时任务:创建和管理定时任务
资源管理:看板,数据源等的权限和分享
管理:主要是用户管理
多语言:支持多语言版本

1.2.DashBoard配置功能

主要包括:
数据源定义:支持Elasticsearch、saiku、TextFile、jdbc、kylin几种类型的数据源,通过此功能配置相关的连接参数和连接测试;一jdbc为例,参数设置如下:

数据集定义:定义数据的来源,可以是一个SQL语句,也可以是其他复杂数据集类型;

图表的定义:数据的显示通过图标的定义来完成,这个功能需要多尝试一下,应为支持的图表的类型较多,某一个输入框代表的含义可能有所不同,github上提供部分说明;

具体可参见:https://tuiqiao.github.io/CBoardDoc/#/en-us/manual/widget

图表支持自定义扩展:https://github.com/TuiQiao/CBoard/issues/172

这里写图片描述

这里有几点需要强调的:
(1)提供预览功能(真实数据),可以很方便的查看图表的实际显示效果;

(2)在原有数据集的基础上提供较为强大的过滤规则、数据统计、排序功能(当然这个可以在数据集定义那一步完成);

(3)过滤规则也是可扩展的;

(过滤规则定义)
这里写图片描述

(统计功能)
这里写图片描述

面板定义:定义好图表,需要面板来显示,这一步相对简单,设计到简单的布局,与bootstrap布局规则类似;

定时任务:完成以上4步,已经可以在界面显示数据图表,CBoard提供定时任务,不过目前来看只支持定时发送邮件功能,可以直接嵌入图表;

2.源码结构分析

2.1.源码部署

项目通过maven发布,按照一般步骤进行项目导入即可:

1.pom.xml中依赖catalina.jar,导致在tomcat启动时发生冲突;

2.1.源码结构初步分析

复合传统的SSM项目结构
重点关注了数据源的支持问题:统一的DataProvider接口,需要扩展时可以参考已有的实现;

然后是前端界面,采用MVVC(AngularJS+Bootstrap)结构;

最后,是关于框架使用插件,从源码来看,整理的还是十分清晰,独立的;包括缓存用到的ehcache、redis;

3.总结

1.由于CBoard的目的很明确,在实现主要功能的前提下,由于采用了SSM架构本身具有很好的扩展性;

2.前端使用的是比较成熟的AdminLTE,如果仅做后台管理,其实是完全够用的;

就目前版本,个人认为的不足有以下几点:
1.前端由于需要支持大量组件,显得相对比较臃肿,可以采用按需加载的方式进行优化;
2.由于在底层实现上数据的通过二位数据来表示的,在数据展示的维度上有一定的限制,可通过合理的方式进行优化;

(以上参考版本v0.3.2)

CBoard-yzhang921项目地址

文档地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213382.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • qt 当前窗口句柄_QT获取窗口句柄

    qt 当前窗口句柄_QT获取窗口句柄mac安装paramiko$brewinstallopenssl$/usr/local/opt/openssl/bin/c_rehash$exportARCHFLAGS=”-archx86_64&q…用Canvas制作剪纸效果在做剪纸效果之前,先介绍剪纸效果运用到的一些知识:1.阴影:在Canvas之中进行绘制时,可以通过修改绘图环境中的如下4个属性值来指定阴影…

  • git如何退出vim_git提交的命令

    git如何退出vim_git提交的命令有很多方法:退出Vi当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shell。在末行模式下,输入命令:wVi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用

  • pycharm怎么添加项目_pycharm 其他

    pycharm怎么添加项目_pycharm 其他pycharm项目添加,在使用pycharm的过程中,有时想要在项目列表中展示多个项目需求第一种情况:原有项目的同级别目录展示另一个项目,如下面的截图操作路径:文件–打开–选择要添加的项目–点附加第二种情况:在原来的项目的主目录下添加拧一个项目,如下面的截图操作路径:文件–设置–项目–项目结构–添加内容根注意:以上两种添加方式:项目的根目录都是第一个项目创建时的根目录,查勘方式,点终端就会显示路径,这个路径也项目的…

  • 梯度下降学习率的设定策略

    梯度下降学习率的设定策略发现一篇写的很好的关于学习率的文章本文转载自卢明冬的博客-梯度下降学习率的设定策略1.学习率的重要性1)学习率设置太小,需要花费过多的时间来收敛2)学习率设置较大,在最小值附近震荡却无法收敛到最小值3)进入局部极值点就收敛,没有真正找到的最优解4)停在鞍点处,不能够在另一维度继续下降梯度下降算法有两个重要的控制因子:一个是步长,由学习率控制;一个是方向,由梯度指定。2.学习率的设定…

  • webpack dev server_webpackdevserver配置

    webpack dev server_webpackdevserver配置前言当我们使用webpack打包时,发现每次更新了一点代码,都需要重新打包,这样很麻烦,我们希望本地能搭建一个服务器,然后写入新的代码能够自动检测出来,这时候就需要用到webpack-dev-ser

  • MFC学习——下检测计算机是否联网

    MFC学习——下检测计算机是否联网一个最简单的类方法:Bool IsNetworkAlive( __out LPDWORD lpdwFlags);返回TRUE表示联网,FALSE表示未连接到网络。使用时注意在头文件中加入如下代码:#include <Sensapi.h>#pragma comment(lib, “Sensapi.lib”)函数使用举例: DWORD ws;…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号