2010-02-19 36 views
7

Chúng tôi sắp bắt đầu phát triển một số báo cáo sử dụng Báo cáo máy chủ Jasper phiên bản 3.7.0 CE.Cách sử dụng kiểm soát phiên bản với JasperReports

Có ai có bất kỳ đề xuất nào về cách quản lý phiên bản tốt nhất với sự phát triển này không, vì cấu trúc của đơn vị báo cáo được quản lý trong cơ sở dữ liệu và thông qua iReport hoặc giao diện người dùng web?

Trong thực tế, bạn có thể nhập/xuất sang cấu trúc thư mục bằng tập lệnh js-import/js-export, nhưng sau đó bạn không thể chỉnh sửa trực tiếp các tệp này với iReport.

Có ai có bất kỳ con trỏ nào không?

Trả lời

4

Nếu tôi được ở vị trí của bạn tôi sẽ đã thiết lập quá trình loại này:

  • cuối phiên phát triển: xuất khẩu tất cả các báo cáo đến một cấu trúc thư mục trong một dự án dưới điều khiển phiên bản
  • cam kết dự án
  • trước phiên phát triển tiếp theo: đồng bộ hóa dự án với kho svn
  • cấu trúc thư mục nhập vào Báo cáo máy chủ Jasper
  • tiếp tục phát triển
+0

Thực tế, đó là những gì tôi đã làm. –

+0

Đó là những gì tôi đã làm, và không thích nó chút nào. Bạn vẫn đang sử dụng quá trình này, bạn đã tìm thấy bất cứ điều gì tốt hơn điều này, hoặc bất kỳ vấn đề với cách tiếp cận này. Tôi đang gặp sự cố w/quản lý các phiên bản báo cáo cụ thể và phát hành các phiên bản báo cáo được vá. – broschb

+0

@broschb nó không có bất cứ điều gì với quá trình này nhưng với định dạng XML cơ bản được sử dụng bởi các mẫu jasperReports. Đây không phải là định dạng thân thiện với người dùng để quản lý các phiên bản và không dễ dàng hợp nhất các thay đổi nếu nhiều người cùng lúc giới thiệu các thay đổi. –

6

Đây là vấn đề. Tôi đã thiết lập một kho lưu trữ lật đổ để cho phép phân phối báo cáo chuẩn được phiên bản nhưng nó là một nỗi đau thực sự bởi vì jasper không làm điều này thậm chí một chút dễ dàng.

Tôi đã tạo một dự án maven với một bộ mô tả lắp ráp sao cho "src/main/xml/resources/Reports, adhoc, Domains, v.v ..." có thể được đóng gói trong một zip được đẩy vào kho lưu trữ maven của chúng tôi.

Vấn đề lớn nhất là bạn không thể chỉ phát triển các điều khiển adhoc và đầu vào chỉ bằng cách sửa đổi các tệp XML. Nhà phát triển phải nhập nội dung kiểm soát nguồn vào máy chủ jasper đang hoạt động, sửa đổi báo cáo hoặc thêm báo cáo mới (sau khi đảm bảo rằng tổ chức và nguồn dữ liệu của mình được định cấu hình) và khi anh ấy hài lòng rằng báo cáo hoạt động, hãy xuất tài nguyên vào một thư mục hoặc tệp zip, sửa đổi thủ công tất cả các tham chiếu trong các tệp đã xuất từ ​​nguồn dữ liệu và các vị trí tài nguyên cụ thể của tổ chức trở lại "chung" trước khi kiểm tra các thay đổi của mình.

Khi nhập vào jasper, quá trình tương tự phải được thực hiện ngược lại. Đường dẫn chung và giá trị tổ chức phải được chuyển đổi thành tổ chức của nhà phát triển để có thể dễ dàng nhập/cập nhật và có thể chứng minh rằng "chuyến đi khứ hồi" đầy đủ hoạt động bình thường trước khi đăng ký.

Để xuất/lật đổ checkin dễ dàng hơn, tôi đã tạo một tệp xây dựng kiến ​​nằm trong thư mục gốc của dự án maven. Lời nhắc xây dựng (hoặc sẽ đọc tệp thuộc tính) để xác định vị trí zip đã xuất, id tổ chức của cây đã xuất. Sau đó nó mở tập tin zip xuất ra từ jasper, phát nổ nó, thực hiện thay thế văn bản trên các tệp, đặt lại các phần tử "createdDate" và "updatedDate" thành một tiêu chuẩn (để nhà phát triển không kết thúc việc kiểm tra các tệp chưa thực sự thay đổi vì jasper không bảo tồn các giá trị ngày tháng), và sau đó sao chép các tệp vào cây lật đổ.

Đối với quy trình nhập (từ cây lật đổ vào jasper), chúng tôi có một tập lệnh lấy id nhập và sau đó sửa đổi tệp xml đã được phiên bản thành giá trị thích hợp để toàn bộ cây có thể dễ dàng nhập/cập nhật tổ chức của họ.

Lý do mức độ phức tạp này là bắt buộc để cho phép chúng tôi tạo cùng một báo cáo chuẩn trong môi trường nhiều người thuê, cộng với khái niệm triển khai báo cáo của jasper là hoàn toàn kỳ quái. Tôi không chắc chắn nó sẽ có thể làm cho quá trình này khó khăn hơn nếu bạn có ý định làm như vậy.

+0

Giải pháp ổn định theo thời gian như thế nào? Cụ thể là bạn đã bao giờ thử nâng cấp máy chủ chưa? –

Các vấn đề liên quan