我們即將開始使用Jasper Server Reports版本3.7.0 CE開發許多報告。如何通過JasperReports使用版本控制
鑑於報表單元的結構是通過數據庫或通過iReport
或Web前端進行管理的,有沒有人有任何關於如何最好地管理此開發版本控制的建議?
事實上,你可以導入/導出使用JS導入/ JS-導出腳本的目錄結構,但你不能直接iReport
編輯這些文件。
有沒有人有任何指針?
我們即將開始使用Jasper Server Reports版本3.7.0 CE開發許多報告。如何通過JasperReports使用版本控制
鑑於報表單元的結構是通過數據庫或通過iReport
或Web前端進行管理的,有沒有人有任何關於如何最好地管理此開發版本控制的建議?
事實上,你可以導入/導出使用JS導入/ JS-導出腳本的目錄結構,但你不能直接iReport
編輯這些文件。
有沒有人有任何指針?
如果我處在你的位置,我會建立這樣的處理:
這是有問題的。我已經建立了一個Subversion版本庫,以允許標準報告交付版本,但這是一個真正的痛苦,因爲碧玉並沒有使這一點變得容易。
我使用程序集描述符創建了一個maven項目,以便將「src/main/xml/resources/Reports,adhoc,Domains等」打包到推送到我們的Maven存儲庫的zip中。
最大的問題是,你不能僅僅通過修改XML文件來開發adhoc和輸入控件。開發人員必須將源代碼控制中的內容導入到工作的Jasper服務器中,修改報告或添加新的報告(確保組織和數據源配置完成後),並且一旦他滿意報告的工作原理,導出資源到目錄或zip文件,在檢入其更改之前,手動將導出文件中的所有引用從數據源和組織特定資源位置修改回「通用」。
當導入到jasper中時,相同的過程必須反向進行。通用路徑和組織值必須轉換爲開發人員的組織,以便他們可以輕鬆導入/更新,並且他可以在檢入之前證明完整的「往返」功能正常工作。
要使export/subversion checkin更容易,我創建了一個生成在maven項目的根目錄中的ant構建文件。構建提示(或將讀取屬性文件)以確定導出的zip位置,導出樹的組織標識。然後,它從jasper打開導出的zip文件,將其分解,對文件執行文本替換,將「createdDate」和「updatedDate」元素重置爲某種標準(以便開發人員不會最終檢查沒有實際更改的文件因爲jasper不會保留日期值),然後將這些文件複製到subversion樹中。
對於導入過程(從顛覆樹到jasper),我們有一個腳本,將組織ID作爲輸入,然後將版本化的xml文件修改爲適當的值,以便整個樹可以輕鬆地導入/更新到他們的組織。
這個級別的複雜性需要的原因是爲了讓我們能夠在多租戶環境中創建相同的標準報告,再加上jasper部署報告的概念是絕對奇怪的。如果您打算這樣做,我不確定如何讓這個過程變得更加困難。
隨着時間的推移,解決方案有多穩定?特別是你有沒有嘗試升級服務器? – 2014-01-29 20:44:05
其實這就是我所做的。 – 2010-02-24 10:44:51
這就是我所做的,不喜歡它。你還在使用這個過程嗎,你有沒有發現比這更好的東西,或者有什麼問題/這種方法。我遇到的問題是管理特定版本的報告併發布補丁版本的報告。 – broschb 2010-11-08 20:38:44
@broschb它與流程沒有任何關係,但是具有jasperReports模板使用的基礎XML格式。這不是用於管理版本的用戶友好格式,如果一次有多個人引入更改,則合併更改並不容易。 – 2010-11-08 21:20:42