历史版本27 :FineReport 集成到 FineBI 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

在实际操作前,请确保 FineBI 和 FineReport 版本兼容。版本兼容情况详情参见:FineBI 与 FineReport 版本适配说明

注:FineBI4.1 暂时不能升级至 5.0,待后续更新,目前仅能新安装 5.0 版本。  

1.2 应用场景

在实际使用过程中存在需要将 FineReport 工程集成到 FineBI 数据决策系统上使用的情况。

本文将分别介绍 FineReport 工程为为空(即没有模板)和不为空情况下的集成步骤。

1.3 功能介绍

将 Finereport 集成到 FineBI ,可以将这两个软件合并成一个整体的系统,应用服务只需维护 一套;并且统一 BI 和 Finereport 的用户、权限体系、门户以及管理系统;用户登录时只需要登录一个平台。

2. 准备工作编辑

2.1 确定 FineBI 版本

管理员登录数据决策系统,选择管理系统>注册管理。查看 BI 模块版本,如下图所示:

1577169801211810.png

2.2 确定 FineReport 版本

打开 FineReport 设计器,点击帮助>更新升级,查看当前 FineReport 版本,如下图所示:

1577171421930897.png

如果实际安装的 FineReport 版本与 FineBI 版本不一致需要升级,详情参见:FineReport 升级指南 、升级指南索引 。

注:不仅需要大版本匹配,小版本 JAR 日期也需要一致,否则可能存在问题。

2.3 确定工程是否配置外接数据库

若在集成前,FineReport 或者 FineBI 配置了 配置外接数据库 ,那么需要首先将 外接数据库回迁内置数据库 ,在集成结束后在迁回外置数据库。

3. FineReport 和 FineBI 中都有模板和仪表板编辑

注:集成只能保留两个工程其中一个的配置。若保留 FineReport 的配置,保留 finedb,则 FineBI 的配置全部丢失,包括仪表板配置。若需要保留  FineReport 的配置,同时保留 FineBI 的仪表板和数据表,请参见本文 3.5 节。

3.1 必须操作

1)确保 FineBI 和 FineReport 的 JAR 包同步之后,将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\lib下的所有 JAR 包拷贝至 FineBI 工程目录的%FineBI%\webroot\WEB-INF\lib文件夹中「若有相同的 JAR 包,保留原先 FineBI 里的不替换」,如下图中所示:

1577172048677306.png

注:若原 FineReport 工程的 %FR_HOME%\webroot\WEB-INF\lib 文件下存在驱动,集成的时候需要判断集成后使用的数据连接需要哪种驱动,从而保留对应版本,如上图中的 mysql-connector-java-5.1.39-bin、ojdbc14 和 sqljdbc 驱动,不需要的驱动版本需要删除。 

2)将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\plugins下的所有文件拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF\plugins下,若有相同的文件,保留 BI 的不替换。如下图所示:

1577172319131138.png

3)将 FineReport 目录%FR_HOME%\webroot\WEB-INF\assist下拷贝文件夹 phantomjs 至 FineBI 对应目录下,若不进行此操作,使用到 FineReport 的图表导出和定时调度中含有图表时,图表会无法显示。如下图所示:

1577173277952828.png

注:2020-04-26 之后的 FineReport 版本不需要此步骤。

3.2 选择性操作

以下操作需要根据客户的需求,保存 FineReport 还是 FineBI 的 embed、logs、resources 文件夹来进行操作。文件夹详细介绍请查看 FineBI 工程目录结构 。

3.2.1 embed 文件

1)embed 文件夹里面存储了数据决策系统中除平台属性配置以外的所有信息,包括目录树设置、模板定时任务信息等。

若要在集成后的系统中保留原先 FineReport 中的配置信息,需要将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF 下的 embed 文件夹拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF内替换 FineBI 原先的文件夹。若想保留 FineBI 的设置信息,则这一步可不操作,即不替换 embed 文件夹。

1577184713269432.png

3.2.2 logs 文件

logs 文件夹是 FineBI 日志监控开启之后保存日志的内置数据库。

若想保留 FineReport 系统中的日志数据,则需要将 FineReport 安装目录%FR_HOME%\webroot下的 logs 文件夹拷贝至 FineBI 目录%FineBI%\webroot内替换原先的文件夹。若想保留 FineBI 的日志信息,则这一步可不操作,即不替换 logs 文件夹。

3.2.3 resources 文件

resources 文件夹保存了报表信息、配置信息等。

若想要在集成后保留原先 FineReport 中的此类数据,可参考 FineBI 工程目录结构 查看配置文件详细介绍,将想要保存的配置文件从 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\resources中拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF\resources内替换即可。

3.3 效果展示

将 JAR 包拷贝覆盖后,重新启动 FineBI ,可以看到管理系统中会增加 FineReport 管理系统内已安装的节点。比如,在 FineReport 中安装了 HTML5 报表节点,那集成到 FineBI 中以后,管理系统下就会新增 HTML5 报表节点。

注:若在 FineReport 管理系统下没有单独安装自定义的节点,则在集成后,FineBI 的管理系统下没有任何变化。

222

3.4 挂出报表模板

因为 FineReport 不为空,原先在 FineReport 中已制作的报表在集成到 FineBI 中显示给出详细说明。

1)首先需要在 FineBI 中添加 FineReport 已制作报表使用到的数据连接,且数据连接名称要相同,可参考 配置数据连接 。

2) FineReport 的模板路径%FR_HOME%\webroot\WEB-INF\reportlets中将需要展示的报表拷贝至 FineBI 工程目录%FineBI%\webroot\WEB-INF\reportlets中。拷贝 FineReport 的报表 GettingStarted.cpt 至 FineBI 中,如下图所示:

222

3)登录 FineBI 数据决策系统,在管理系统>目录管理中选择添加模板,如下图所示:

222

4)选择之前拷贝过去的报表模板,如下图所示:

222

5)点击下一步设置模板显示的名称、描述等,点击确定完成设置。如下图所示:

222

6)点击确定后刷新页面,即可在目录节点看到添加的 FineReport 报表。如下图所示:

222

注:在集成时,FineReport 与 FineBI 的 License 需统一,统一使用 FineBI 的 license 。

3.5 注意事项

1)若需要保留  FineReport 的配置,同时保留 FineBI 的仪表板和数据表,可以在集成前,将需要保留的 挂出仪表板,通过 资源迁移 先导出仪表板和数据集。

2)集成后,删除 %FineBI%\webroot\WEB-INF\dashboards 文件夹,如下图所示:

image.png

3)建立与原 BI 中完全一致的数据连接,再进行 资源迁移  。

4. FineReport 为新安装工程,FineBI 有仪表板编辑

若新安装了 FineReport 且没有在上面做任何操作,也即 FineReport 工程为空没有模板时,在集成的时候比较简单,只需要操作第 3 章节的 3.1 和 3.3 小节,即不用拷贝替换 embedlogsresources 文件夹,操作完成后即可像在 FineReport 内一样使用数据决策系统。

5. FineReport 中有模板,FineBI 为新安装工程编辑

在集成过程中若 FineBI 为空,新安装的版本没有做任何操作,可完全按照第 3 章操作。拷贝 FineReport 文件夹 libpluginsembedlogs 直接到 FineBI 中替换。

6. FinReport 和 FineBI 都为新安装工程编辑

当 FineReport 和 FineBI 都为新安装且没有做任何操作时,在集成时仅需操作第 3 章节的 3.1 小节,且在 3.1 小节中只需操作第一步骤和第三步骤,即拷贝 lib下的 JAR 包和 assist 下的 phantomjs 即可。

注:2020-04-26 之后的 FineReport 版本不需要拷贝 phantomjs 步骤。

7. 集成后将 FR 从 BI 中拆分出,形成单独的 FR 工程编辑

若用户在将 FineReport 集成到 FineBI 后需要将 FineReport 工程重新拆分出来单独使用,则需要进行如下操作:

7.1 重新部署

拷贝当前工程目录下的 webroot 文件,按照 Web 服务器部署 在新的服务器中进行重新部署。

7.2 删除 BI 目录节点

部署完成后启动工程,登录数据决策系统,然后删除目录管理中 BI 相关的目录节点即可。

注1:若不需要显示「数据准备」、「仪表板」节点,进入管理系统>用户管理>平台用户管理,将所有用户设置为 BI 查看用户即可。

注2:若需要进行重新授权注册,请参见:注册管理

8. 注意事项编辑

FineReport 集成 FineBI 后,数据决策系统默认使用 FineBI 的端口号。

例如在集成前 FineReport 数据决策系统端口为 8075,FineBI 数据决策系统端口号为 37799 ,则在集成后工程默认使用 37799。