Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Cari Blog Ini

20 Februari 2008

Cara cepat pindah Direktory report di Jasper Server

Kadangkala, setelah data report sudah di kirim ke cabang, eh ada revisi yang harus mengubah letak direktory report tersebut.

Contoh, jika sebelumnya posisi direktory:

report
-------Penjualan
----------------Report A
-------Stok
----------------Report B

di ubah menjadi:

report
-------Penjualan
----------------Report A
----------------Report B
-------Stok

Jika kita menggunakan cara normal, ya kita harus Delete Report B, trus buat lagi Report B di direktory Penjualan. Tentu akan memakan waktu lama, karena proses membuat report tidak hanya upload jrmx saja, harus insert insert parameter-parameternya juga. Apalagi jumlah reportnya lebih dari satu, tambah juga prosesnya di cabang dengan bandwidth terbatas.

Ada cara yang cepat, yaitu dengan langsung mengubah internal database nya. Internal database yang dipakai untuk Jasper Server adalah MySQL. Struktur penyimpanan report di Jasper Server adalah menggunakan dua tabel. Pertama tabel resource yang digunakan untuk menyimpan seluruh resource, termasuk isi folder, paramter, dll. Kemudian tabel ke dua adalah resource_folder yang digunakan untuk menyimpan data folder.

Jadi secara logika untuk memindah report tersebut ke folder lain, tinggal ubah penanda foldernya ke folder lain.

--pindah folder
Update resource_folder
set uri = '/reports/Compiere_Report/X001/AX000/AX009_files',
name = 'AX009_files',
parent_folder = 113
where id = 266;

--pindah report
update resource
set name = 'AX009',
parent_folder = 113
where id = 1302;


Karena struktur penyimpanan report di jasper adalah dalam folder (1 folder untuk satu report, yang digunakan untuk menyimpan parameter-parameternya), maka untuk memindah report jg harus memindah folder.

Pada SQL diatas, kita ubah juga uri karena berhubungan dengan code JSPnya. Kemudian name di ubah untuk konsistensi penamaan dan yang paling penting parent_folder nya, karena merupakan penanda folder.
ID di atas adalah ID atas data. Untuk mengetahui ID, ya di query.

Selamat mencoba

Tidak ada komentar: