如果我们把FineReport比喻成一棵大树,FR9.0让这棵树长的更高,长出更多枝丫,我们从智能·共享·开放3个角度,延伸更多场景,提供更广阔的想象空间。而我们FR10.0则希望这棵树的根扎的更深更稳,因此我们从安全性、大并发、高可用等几个角度发力,希望能让FR成长为企业可信赖的报表中心,能支撑起繁杂的报表业务,为企业报表应用的安全可用保驾护航!
2. 平台编辑
2.1 外观更好看
平台整体风格简约现代,交互流畅易用
外观配置方面:
1)支持登录标题与平台标题分开设置;
2)对平台的配色有了更多的自定义项,包括顶部标题行样式、面板聚焦颜色、左侧导航背景、悬浮面板背景、标签栏背景、文字颜色;
3)去除了对于信息提示的样式设置。
2.2 系统更稳定
日志存储脱离数据库,特别是内置的hsql,改为基于帆软自主开发的swift引擎。全面提高日志存取分析的效率,同时也能有效避免由于日志过大导致系统过慢甚至宕机。
平台优化了对超大量用户的支持(10W级用户),各管理系统页面可达到秒级响应。
配置脱离xml,改存数据库,确保不再出现保存丢失的情况,特别是权限丢失这类很严重的问题。
2.3 功能更强大
用户管理——用户可被禁用;同步数据集可以增加id;批量删除支持一次删除所有用户,不再是原来的一次最多删除一页用户;支持对平台使用用户进行设置
目录管理——支持在根目录下添加模板;支持模板和目录混排;增加了对目录列表进行批量删除的功能;去除了目录封面的设置
权限管理——配置易用性增强,包括:
- 去除了“用户权限查看”与“权限项查看”,所有配置所见即所得,可以更方便的查看和配置权限;
- 增加了权限来源查看的功能,令权限的配置过程更加清晰;
- 支持直接对用户设置权限;
- 支持权限复用,权限复用不支持在用户维度进行权限复用;
- 只有开启了分级授权,才可以对用户进行人员管理与管理系统的权限配置;
- 权限配置时支持对人员管理、目录权限、管理系统进行搜索;
- 对首页的权限配置从外观配置移到了权限配置中;
- 模板权限剥离成单独的模块。
2.4 日志更全面
原本的系统情况变为了平台日志,所有日志支持导出;
模板访问明细去除了非明细查看,增加了高级查询条件,同时增加记录了模板在平台中的路径、不通过平台的报表访问、打印与导出的操作类型;
高级系统监控插件内置,新增用户行为、模板热度、性能监控三个tab;
原本日志查看变为出错日志;
新增管理日志,记录全部平台管理设置操作日志。
2.5 支持平台新建数据连接
数据连接单独放入了目录中,并支持创建数据连接
2.6 公有云注册
增加一种公有云授权机制,不需要提供机器物理信息,可直接到帆软认证服务器进行在线认证,方便快捷,安全可靠
3. 集群编辑
FR的集群经历了2个阶段——基本依赖于容器的集群和自主开发的主从集群,但随着报表系统的在信息化系统中地位的提升,所承担的压力也随之增加,原本的两种集群方式暴露了比较多的问题,FR10.0在此基础上推出了全新集群,有如下几个特性:高一致性、高可用性、高适应性、大并发性、使用简单,为客户系统的高效正常使用保驾护航。
增加删除节点不需要重启集群,只需要拷贝其他节点文件到该节点并启动既可。新增节点简单
3.2 对高可用性方面的优化
适配了新的集群特性,某节点宕掉,自动切换其他节点,登入的用户无需重新登陆;并保持所有单机功能可用;提升了集群的高可用性
3.3 对并发性能方面的优化
对负载方面做了更好的优化,负载更加均衡;同时单节点支持的并发数更大;在负载均衡的情况下,并发数随节点呈线性增长;提升了集群的大并发性
3.4 新增本地缓存机制
新增本地缓存机制,文件服务器、状态服务器、外置的数据库的内容会在第一次及更新时,读取信息到缓存里;并在保存文件、配置时写入各服务器;提升了访问响应速度并有效降低对各服务器的读写并发
3.5 新增状态服务器
新增状态服务器,解决session同步的各种问题;状态服务器存储集群的各类信息;存储sessionid与节点信息和关联关系,不再需要配置session粘滞;简化了配置内容,使用简单
3.6 新增文件服务器
新增文件服务器,用于共享模板及模板所引用的附件;保证每个节点访问的模板及附件实时一致;保证模板及附件的高一致性
3.7 外置数据库保存平台配置信息
集群下,平台配置信息全部存储在外置数据库;保证每个节点访问的平台配置实时一致;保证平台配置信息的高一致性
3.8 新增平台的可视化配置界面
平台新增集群的可视化配置界面,可进行状态服务器、文件服务器的绑定与配置;并在开启集群后,可实时查看各节点的内存运行情况,并配置各节点的IP,端口,主机名的信息;让集群部署更简单快捷
4. 安全性编辑
数据是21世纪的石油,如何保证企业应用的安全,已经上升到必然需要面对需要解决的高度。因此我们在FR10.0着重在安全性上发力,从修补漏洞和主动防御两个角度去整体提升应用安全。
10.0平台中所有密码加密存储,降低密码泄漏风险
使用token验证,解决HTTP相应分割、会话标识未更新、跨站点请求伪造的问题
不再返回报表绝对路径,修复发现目录列表模式的漏洞
4.2 主动防御
新增cookie增强、文件上传校验、Security Headers及访问控制等一系列安全防护功能;能降低上传恶意文件、跨站脚本等多种攻击方式的威胁,缓解cc攻击和爬虫爬取,提高应用的安全性
4.3 其他
水印功能优化——设置界面简化,现在可对字号进行设置,解决了密度设置不明确带来的困扰;优化对公式及换行的支持,并以顶层透明的形式显示,不再被内容遮挡;优化打印及pdf导出效果,让数据更加安全。
5. 设计器编辑
设计器是信息部门人员使用最多的工具,一些问题困扰我们已久,比如设计器越用越卡、加载保存慢等等。10.0主要解决这些性能和严重bug并对远程设计进行了大的重构
5.1 远程设计重构
传输时的序列化数据格式由xml改为字节,降低传输的数据量
保持http协议的方式,进行远程设计的连接验证。
采用netty框架做私有通信协议替换http协议作为远程设计的通信协议,进一步降低传输的数据量
采用RPC(远程过程调用)的通信方式,完成远程设计的实时操作。保证了网络间通信的高效,降低了数据传输中的出错率。
5.2 远程设计模板权限管理
支持使用系统管理员帐号配置远程设计的用户,并给远程设计用户分配各自的模版的权限。方便远程设计下每个开发人员的权限精细化管理。保证模版安全,避免权限泄漏。
5.3 设计器卡顿优化
修复了内存泄漏的相关bug(卡顿的主要原因)
新增限制最大缓存模版个数功能,来保证内存不会随着使用时间增加而不断提升。从而解决卡顿问题。
5.4 设计器启动优化
启动逻辑替换为,设计器启动的同时开启内置服务器,避免用户需要等待内置服务器开启。
设计器界面加载时,采用分模块加载策略,避免设计器打开时会出现卡顿的现象。
5.5 其他
控件支持多实际值对一个显示值——参数查询和新填报下的控件,支持多个实际值对应一个显示值的设置和显示。
6. 其他编辑
6.1 html解析
报表里使用html是非常常见的场景,但市场上却没有任何一个产品能完美解决html的展现、特别是打印、导出;FR10.0致力于改变这样的现状,希望能彻底解决HTML内容展示打印导出时出现的各种问题。
功能描述:
1)单元格设置为【以HTML显示内容】时,在原有支持功能的基础上,新增了对于img标签、list标签、style标签中的各项属性、文字上下标、文字样式的支持;
2)html内容分页情况下也不会重复显示内容,可以在正确的位置断开;
3)同时在有html时可支持单元格的各项属性设置。
6.2 自适应逻辑改进
页面重加载时不再到后台请求计算,而是改为前台缩放,减少计算,优化体验。包括拖动浏览器窗口大小、执行全屏操作等
6.3 删除控件校验出错的回滚机制
取消了原控件校验出错时的回滚机制,替换处理逻辑为:保留当前编辑内容,即控件编辑过后如果校验失败,则提示出错信息同时控件保留当前编辑的内容。(仅新填报)
6.4 控件多个实际值对应同一个显示值
在给控件配置数据字典的时候,可能会碰到多个不同的实际值对应同一个显示值的情况,这个情况以往通常是通过修改原始数据来解决。
6.5 邮件正文以html显示
邮件正文预览报表内容时,以HTML方式显示报表内容。解决了之前邮件中以图片显示报表内容时出现的内容模糊,文字不支持复制的问题。
6.6 9-10升级工具
大版本更新时的平滑升级是比较头疼的工作,各种配置文件、jar包等需要考虑兼容,靠人工处理往往容易犯错,导致升级出现问题。
为了帮助用户更顺利的从9.0升级到10.0版本,我们特提供一个独立的辅助升级程序,可以将9.0的web工程升级到10.0工程,包括jar包、各类配置文件、finedb数据表等的兼容升级。
该辅助升级工具无需安装,即点即用,简单方便。
6.7 内置服务器由jetty换为Tomcat
原本的内置服务器由jetty变为了tomcat,在稳定性更强的同时也让部分用户能够更快捷的搭建报表服务器
1)地图文件
10.0 的地图调整了目录结构,新增'世界'目录,且置于'中国'目录之上,形成钻取关系。
可以通过“手动升级jar包”或“手动迁移模板”两种方法来解决,详情参考:10.0图表升级须知
2)老图表
10.0不再提供新增老图表的功能,不过老模板中已经存在的老图表依然支持设置和预览
10.0发布后,会于下一个小版本中推出老图表的插件,有需求的用户可以通过安装插件的方式使用老图表。
10.0不再支持位图地图插件。
7. 更多功能编辑
7.1 云端运维
7.2 智能运维增强(“永不宕机”)
FineReport 10.0智能运维通过优化防宕机机制,增强对于资源的合理应用,从源头预防了导致宕机的各种问题,进而保证了系统的可用性,做到“永不宕机”。
1)优化了智能释放的机制:在内存占用达到阈值时可以通过强制GC有效地回收资源,进而保证系统的可用性。同时用户可选择在内存使用过高时自动地清理过早或过大的会话。
2)增强了模板限制功能:通过对于数据集中的行数、模板中的单元格数、sql的执行时长进行限制,有效地防止单模板占用过大内存、sql执行过久造成线程阻塞的问题。
3)使用延迟队列检查session是否过期,令用户可以通过简单的设置对会话的生命周期进行管理。
4)日志文件过大时自动提醒用户进行日志清理。
7.3 大屏应用模块
更炫酷播放图表、离屏控制、组件动画等
针对大屏应用场景:增加了9个高级图表组件,15种动态加载动画及离屏控制功能并支持3D组件和加载动画的联动。解决了大屏用户追求更酷炫的效果和远程操控大屏的需求。
1)高级图表组件
新增9种高级图表组件(酷炫大屏3D特效),让整个大屏制作效果更加酷炫富有科技感:
三维柱形图、三维地球(点,柱形,流线)、KPI指标卡、粒子翻页计数器、时间齿轮 、目录齿轮 、轮播三维点地图 、轮播三维组合地图、发光仪表盘
2)组件动态加载特效
支持15种动态加载特效,通过组件加载动效,让每个组件模块舞动起来,让整个大屏界面化静为动
3)离屏控制
通过视频媒体传输方式,将大屏界面投影到手机或平板,并通过点击等操作实时远程操控大屏界面。可支持的远程的操作如下:
大屏之间的切换 、图表组件自带的刷新、图表组件自带的全屏、图表组件自带的排序、地图放大缩小移动、组件的钻取和联动、组件轮播和切换、组件的超链点击
4)持续的联动、轮播、动态效果
配合报表块内刷新功能,高级组件的自动轮播和加载动效实现画面持续的联动、轮播和动态效果
7.4 安全性之密码增强策略、防暴力破解
支持密码定期更新,密码强度限制与修改密码时短信、邮箱验证,进一步提高了平台的安全性建设。
防暴力破解增加登录次数限定功能,可以限制允许登录错误次数和锁定时间,超出则锁定,可等锁定时间过去自动解锁或通过管理员解锁及重置密码解锁
同时增加滑块验证和邮箱验证,滑块验证开启时如用户输入密码错误次数达到两次,第三次开始需要进行滑块验证
邮箱验证类似短信验证,开启时登录要接收邮箱验证码验证,同时开启邮箱和手机只用选其一验证
7.5 设计器解决0kb问题
即模板临时文件存储
设计器模板0KB一般问题都出在保存,新版本通过保存的时候先输出到临时文件,然后再重命名为源文件,删除临时文件的方式,解决了此问题
7.6 添加用户、重置密码后自动邮件通知用户
管理员在添加用户、为用户重置密码后,系统会发送邮件通知此用户。
7.7 远程设计支持新增、删除、重命名
远程设计状态下,支持在设计器内对目录下的文件和文件夹进行操作。可对文件和文件夹进行新增、删除、重命名
7.8 设计器“更新升级插件”内置
由于使用插件“更新升级插件”功能的客户很多,两个插件内置到设计器中,功能及界面与原来相同。
7.9 删除“编码转换”的配置选项
由于使用“编码转换”功能的客户过少,数据连接界面删除了“编码转换”功能的配置选项,但后端功能代码保留,确保已使用的老客户能正常工作,也避免该功能给新客户造成误导
AlphaFine接入小帆知识库,支持分词搜索,更能理解用户描述的问题。