在實際使用過程中存在需要將 FineReport 工程整合到 FineBI 數據決策系統上使用的情況。
本文將介紹將 FineReport 整合到 FineBI 的步驟。
將 FineReport 整合到 FineBI ,可以將這兩個軟體合併成一個整體的系統,應用服務只需維護一套。
FineReport 整合到 FineBI 後,統一 FineBI 和 FineReport 的使用者、權限體系、門戶以及管理系統,使用者登入時只需要登入一個平台。
具體流程如下圖所示:
注:使用者不想把 FineReport 整合到 FineBI 中,又希望可以統一門戶進行存取時,可參見:FineBI與FineReport連結工具插件
參考 FineBI伺服器配置推薦 ,如記憶體消耗大可以在 FineBI 需求記憶體的基礎上增加。
在實際操作前,請確定 FineBI 和 FineReport 版本相容。版本相容情況詳情參見:FineBI 與 FineReport 版本適配說明
注:FineBI4.1 暫時不能升級至 5.0,待後續更新,目前僅能新安裝 5.0 版本。
注1:不僅需要大版本匹配,小版本 JAR 日期也需要一致,否則可能存在問題。
注2:如果實際安裝的 FineReport 版本與 FineBI 版本不一致需要升級,詳情參見:FineReport 升級指南 、升級指南索引
管理者登入數據決策系統,選擇「管理系統>登入管理」,查看報表模組版本。如下圖所示:
FineReport 版本可在設計器或者平台中查看。
設計器中查看:
開啟 FineReport 設計器,點選「幫助>更新升級」,查看當前 FineReport 版本,如下圖所示:
平台中查看:
以管理者身分進入平台,點選「管理系統>登入管理」,查看當前 FineReport 版本,如下圖所示:
若在整合前,FineReport 配置了 配置外接資料庫 ,整合後仍使用該外置庫,則需要複製%FR_HOME%\webapps\webroot\WEB-INF\config的 db.properties 到 FineBI 對應位置,內建庫不用進行此步驟。
若 FineBI 配置了外接資料庫,整合後仍使用該外置庫,無需其他操作
在整合前需要刪除 FineReport 、FineBI 的 license ,整合後重新整理增包含 FineReport 、FineBI 雙方功能登入點的新 license ,或等整合後更換上新 license 。查看 lic 步驟如下圖所示:
如下表所示:
需要注意以下兩點:
整合只能保留兩個工程其中一個的配置。若保留 FineReport 的配置,則 FineBI 的配置全部丟失,包括儀表板配置。
若需要保留 FineReport 的配置,同時保留 FineBI 的儀表板和資料表,需要在整合步驟開始前,將需要保留的 儀表板掛出,透過 資源遷移 先匯出儀表板和資料集,具體請參見本文 3.4 節。
FineReport 整合 FineBI 後,數據決策系統預設使用 FineBI 的埠號。例如在整合前 FineReport 數據決策系統埠為 8075,FineBI 數據決策系統埠號為 37799 ,則在整合後工程預設使用 37799。
確定 FineBI 和 FineReport 的 JAR 包同步之後,將 FineReport 安裝目錄%FR_HOME%\webroot\WEB-INF\lib下的所有 JAR 包copy至 FineBI 工程目錄的%FineBI%\webroot\WEB-INF\lib資料夾中「若有相同的 JAR 包,保留原先 FineBI 裏的不更換」,如下圖中所示:
注:若原 FineReport 工程的 %FR_HOME%\webroot\WEB-INF\lib 檔案下存在驅動,整合的時候需要判斷整合後使用的資料連結需要哪種驅動,進而保留對應版本。
將 FineReport 安裝目錄%FR_HOME%\webroot\WEB-INF\plugins下的所有檔案copy至 FineBI 目錄%FineBI%\webroot\WEB-INF\plugins下,若有相同的檔案,保留 BI 的不更換。如下圖所示:
注:2020-04-26 及之後的 FineReport 版本不需要此步驟。
將 FineReport 目錄%FR_HOME%\webroot\WEB-INF\assist下copy資料夾 phantomjs 至 FineBI 對應目錄下,若不進行此操作,使用到 FineReport 的圖表匯出和排程管理中含有圖表時,圖表會無法顯示。如下圖所示:
以下操作需要根據客戶的需求,儲存 FineReport 還是 FineBI 的 embed、logs、resources 資料夾來進行操作。資料夾詳細介紹請查看 FineBI 工程目錄結構
embed 資料夾裏面儲存了數據決策系統中平台配置資訊,包含內建資料庫 FineDB 、範本定時任務資訊等。
注:管理系統介面下的所有配置資訊都保留在 embed 中,更換 FineReport 的 embed 時全部更換為 FineReport 的資料,不存在只更換某個子目錄如「使用者管理」為 FineReport 的資料。
將 FineReport 安裝目錄%FR_HOME%\webroot\WEB-INF 下的 embed 資料夾copy至 FineBI 目錄%FineBI%\webroot\WEB-INF內更換 FineBI 原先的資料夾。若想保留 FineBI 的設定資訊,則這一步可不操作,即不更換 embed 資料夾。
logs 資料夾是 FineBI 日誌監視開啓之後儲存日誌的內建資料庫。
若想保留 FineReport 系統中的日誌資料,則需要將 FineReport 安裝目錄%FR_HOME%\webroot下的 logs 資料夾copy至 FineBI 目錄%FineBI%\webroot內更換原先的資料夾。若想保留 FineBI 的日誌資訊,則這一步可不操作,即不更換 logs 資料夾。
resources 資料夾儲存了報表資訊、配置資訊等。
若想要在整合後保留原先 FineReport 中的此類資料,可參考 FineBI 工程目錄結構 查看配置檔案詳細介紹,將想要儲存的配置檔案從 FineReport 安裝目錄%FR_HOME%\webroot\WEB-INF\resources中copy至 FineBI 目錄%FineBI%\webroot\WEB-INF\resources內更換即可。
若 FineReport 工程中包含 舊地圖範本 ,整合時,需將 FineReport 工程下%FR_HOME%\webapps\webroot\WEB-INF\assets\chartmapsvg資料夾copy至 FineBI 對應assets目錄下。
1)若需要保留 FineReport 的配置,同時保留 FineBI 的儀表板和資料表,可以在整合前,將需要保留的 儀表板掛出,透過 資源遷移 先匯出儀表板和資料集。
2)參考本文步驟整合後,刪除 %FineBI%\webroot\WEB-INF\dashboards 資料夾,如下圖所示:
3)建立與原 FineBI 中完全一致的資料連結,再進行 資源匯入
具體效果如下所述:
若保留 FineBI 的配置,FineBI 工程沒有變化。
若保留 FineReport 的配置,平台「目錄」節點上的範本為 FineReport 的範本,管理系統中的目錄管理、使用者管理、權限配置、排程管理等,為 FineReport 的配置。
FineReport 整合到 FineBI 後,資料處理在 FineBI 中進行;FineReport 工程可以繼續作為獨立的 FineReport 工程使用。
範例:整合前 FineReport 工程有個名為 a 的排程管理任務,FineBI 工程有個名為 b 的排程管理任務,若保留 FineReport 配置,整合後,b 被 a 改寫。
注:使用 平台功能外部整合插件 可實現BI的左側導航和頂部導航去掉,實現整合一體化。
因為 FineReport 不為空,原先在 FineReport 中已製作的報表在整合到 FineBI 中顯示給出詳細說明。
1)FineReport 的範本路徑%FR_HOME%\webroot\WEB-INF\reportlets中將需要展示的報表copy至 FineBI 工程目錄%FineBI%\webroot\WEB-INF\reportlets中。copy FineReport 的報表 GettingStarted.cpt 至 FineBI 中,如下圖所示:
2)需要在 FineBI 中新增 FineReport 已製作報表使用到的資料連結,且資料連結名稱要相同,可參考 配置資料連結
3)登入 FineBI 數據決策系統,在「管理系統>目錄管理」中選擇新增範本,如下圖所示:
4)選擇之前copy過去的報表範本,如下圖所示:
5)點選下一步設定範本顯示的名稱、描述等,點選確定完成設定。如下圖所示:
6)點選確定後重新整理頁面,即可在目錄節點看到新增的 FineReport 報表。如下圖所示:
注:在整合時,FineReport 與 FineBI 的 License 需統一,統一使用 FineBI 的 license 。
問題描述
使用者將 FineBI 整合到 FineReport 後,FineBI 原有圖片丟失。
解決方案
FineBI 圖片組件上傳的圖片,保留在assets/temp_attach中,整合後若發現丟失,copy該資料夾內容到 FineReport 對應資料夾下。