TuiQiao / CBoard

An easy to use, self-service open BI reporting and BI dashboard platform.
https://tuiqiao.github.io/CBoardDoc/#/
Apache License 2.0
3.04k stars 1.17k forks source link

[doc]葡萄CBoard学习笔记1-初体验 #344

Open yesky12 opened 6 years ago

yesky12 commented 6 years ago

0) 参考文档

1)自定义报表的需求:

简化分析师工作,释放前端生产力---“Type SQL, Get Chart” CBoard目前的定位和Tableau一样,是一个专业的报表引擎 拖拖拽拽完成交互式分析 . . 2) 开源选型时参考了社区的众多解决方案,相对来讲CBoard的改造成本较低 开源项目比较

3)CBoard选型的主要优点(选型时的主要考量):

使用简单: CBoard是拖拽交互式操作—用简单拖拽的组合方式进行数据透视、聚合、展示;

支持众多数据源:(JDBC数据源, Presto, Kylin, Saiku, ElasticSearch),为后续扩展提供支持--比如可以> 对接多维分析的Kylin

只要继承DataProvider接口,返回普通二维数组即可;

技术栈贴近:java + angular 1.x(目前数据团队的技术栈是java + angular2),尽量贴合团队目前的> 技术栈,其它的开源方案使用react的居多。

可以做前后端分离:CBoard提供REST接口,可以做前后端分离,前端技术栈可以升级到angular2而后端保持不变。

4.数据模型

image

image

image image

image image

5.后端

image

image

6.前端 image image

6.1) starter.html启动页 ①加载CSS/JS ②加载页头/尾/侧边栏 ③加载angularJS脚本--controller/service ④widget显示

6.2) render渲染图表 image

7) 页面改造 需求:去掉siderbar/header/footer

代码改动:

改造后的效果:

anlinew commented 6 years ago

nice!

yzhang921 commented 6 years ago

几个产品功能特性方便对比简单了点,Star相对其他几个产品目前确实有差距,主要因素几个点:

总之,大家一起努力吧,欢迎推动产品升级Angular2

yzhang921 commented 6 years ago

Readme首页最下面有QQ群信息,欢迎加入

yesky12 commented 6 years ago

@yzhang921

①Star不是问题,好东西早晚会得到更多认可的.CBoard实现的完整度很高,拿过来就可以用了, ②产品功能特性对比不够深入,选择CBoard的原因主要是从使用角度--使用简单(拖拖拽拽),改造方便(团队技术栈是java+angular2),扩展方便(以后接入Palo/Kylin/Saiku/ES等) ③刚开始看CBoard代码,代码结构很清晰(前端后端都是),改造时能很快找到地方。更多发现 随时放出。

我们的近期改造需求是: 1)和自己的权限系统结合(思考中/进行中) 2)去掉header/footer/sidebar(已完成)

远期需求: 1)团队目前的前端技术是Angular2, 但升级Angular2的工作量比较大,上线使用一段后可以考虑升级; 2)dataProvider接入 Palo(或者kylin);

真的挺感谢CBoard的,能节省了我们几个月的时间吧-- 先后找了一些开源产品都不太切合需求,或者改造成本太高,放弃了。 本来打算自己开发的,页面原型图的画好了,后来找到了CBoard,就决定选用。 在内部搭起来后,开发和产品也都比较认同,就放弃自己开发了。

感谢之余,也想为CBoard的做一点力所能及的事,写写二次开发过程中的文档等等, 众人拾柴火焰高, CBoard发展好了 大家都受益......

PS:产品预研阶段,在github找了好一段,用了各种关键字(dashboard, tadmin, admin-ui, topic:heme, template, business intelligence......),就想找一款好用的开源BI。 一度觉得metabase不错,但后来也放弃了(clojure+react开发的,而且界面和操作方式都不像"中国特色"的BI)

anlinew commented 6 years ago

kylin已经接入 权限这部分比较麻烦 权限最终实际上是资源的访问控制,之所以要结合,无非是因为用户在原有系统,而资源在cboard,因此就有两个方式: 1、已有系统的人员角色(需要报表这部分的)进cboard,如果你的系统支持类似cas之类的鉴权体系,直接使用Cboard的cas client机制配置一下即可,这样原有系统的user及其角色(可选、需改造cborad)在sso进入cboard的同时就会在cboard中产生,然后对这些角色进行赋权即可,也可以给这些人赋予cboard里的角色 2、将cboard里的资源注册到原有系统作为原有系统的外部资源进行管理,在原有系统对这部分资源进行鉴权时,调用cboard的鉴权服务

我们目前用方案1

mcnultyboy commented 3 years ago

正准备引入一个BI界面,也是对比了metabase superset等,最后发现技术栈不贴近,引入的成本比较高,正在看CBoard。mark