5.1.1. Giriş#
Veri Depolama (Data Storage)#
Hvl report ortamının kurulması için postgrenin çalıştırılması gerekmektedir.
PostgreSQL docker bilgisine buradan ulaşabilirsiniz.
Uygulama Paketi (Instances)#
Hvl report docker instance'ına buradan ulaşabilirsiniz.
UI Uygulamasının Angular Projesinde Kullanımı#
UI uygulaması library olarak sunulmaktadır. Örnek kullanım şekli aşağıda görülebilir.
http://bitbucket.bulut.ai/projects/JAVALT_NG/repos/hvl-ng-all-instance/browse/projects/report
Senkron Rapor Üretme Akışı#
- "Rapor Grupları" sayfasından rapor grubu ya da grupları tanımlanır.
- "Yürütülebilir Rapor Tanımı" sayfasında "Ekle" seçilir ve ilk olarak; .jrxml formatında rapor dosyası ve raporun dil seçeneklerine uygun .properties dosyaları seçilir.
ÖNEMLİ: jrxml dosyasında verilen isim ile properties dil dosyalarına verilen isim aynı olmalıdır, ayrıca her dil için tek bir properties dosyası olmalıdır.
ÖNEMLİ: Rapor template'inde subreport kullanımı, tavsiye edilmemekle birlikte desteklenmektedir.
- Ardından seçilen rapor tanım dosyaları yüklenir.
- Yükleme işleminden sonra rapor kodu, rapor tipi, rapor adı, rapor grubu, yürütme izni, rapor yetkileri ve veri kaynağı bilgileri tanımlanır.
ÖNEMLİ: Rapor yetkileri; KEYSIS uygulamasından getirilir ve çoklu olarak seçilmesi sağlanır.
- Ayrıca; jrxml dosyasından parse edilen rapor çalıştırma parametreleri için ihtiyaç varsa sınırlama (Web Service ya da Veritabanı için) tanımlanır.
- Tanımlanan Yürütülebilir Rapor Tanımları, artık "Rapor Yürütme" sayfasında görülür. Bu sayfa üzerinden de; "Rapor Yürütme (Sync)" butonuna tıklanır ve istenen parametreler ve rapor aktarım tipi girilerek senkron rapor üretilir.
ÖNEMLİ: Tercihe bağlı olarak, Yürütülebilir Rapor Tanımları, bu kısımda anlatıldığı gibi manuel süreç ile değil, initializer mekanizması ile de tanımlanabilir ve uygulamanın başlangıç aşamasında ön tanımlı şekilde oluşması sağlanabilir. Initializer mekanizmesi ile ilgili detaylara buradan ulaşabilirsiniz.
Yetkilendirme#
Uygulamadaki işlemler, security enabled olması durumunda aşağıdaki yetkiler üzerinden sınırlandırılmıştır.
ÖNEMLİ: Rapor yetki tanımları "report" prefixi ile tanımlanmalıdır!
1- Rapor Yöneticisi Yetkisi: Rapor uygulaması kök yetki tanımıdır. Rapor modülündeki tüm işlemleri yapmaya yetkilidir. "report" yetki kodu kullanılarak oluşturulmuştur.
2- Rapor Düzenleyicisi Yetkisi: Rapor uygulaması rapor tanımlama ve düzenleme yetkisidir. Rapor şablonlarını tanımlamaya ve düzenlemeye yetkilidir. "report:modify" yetki kodu kullanılarak oluşturulmuştur.
3- Rapor Çalıştırma Yetkisi: Rapor uygulaması rapor çalıştırma kök yetkisidir. "report:execute" yetki kodu kullanılarak oluşturulmuştur. Bu yetkiye sahip kullanıcılar, tüm raporları çalıştırmaya yetkili olur.
4- Rapor Varsayılan Çalıştırma Yetkisi: Rapor uygulaması varsayılan rapor çalıştırma yetkisidir. "report:execute:default" yetki kodu kullanılarak oluşturulmuştur. Yukarıda tanımlanan kök çalıştırma yetkisinden hiyerarşik olarak türetilmiş bir yetkidir.
Spesifik bir rapora özel tanımlanması istenen bir çalıştırma yetkisi var ise; tıpkı default yetkideki şekilde tanımlanmalıdır. Örneğin; uygulamamızda bulunan İK modülü için çalıştırma yetkisi tanımlamak istiyoruz. Bu durumda;
- "report:execute:ik" kodu ile bir yetki tanımlanır.
- Bu yetki; rapor şablonunun "Rapor Yetkileri" alanına tanımlanır.
- Bu yetkiye sahip kullanıcılar, bu raporu üretebilecek duruma gelir.
Desteklenen Rapor Fontları#
Sistemde desteklenen fontlar aşağıdaki gibidir. Rapor tasarımında göz önünde bulundurulması gerekir.
- Arial, Helvetica, sans-serif
- 'DejaVu Sans', Arial, Helvetica, sans-serif
- 'DejaVu Serif', 'Times New Roman', Times, serif
- 'DejaVu Sans Mono', 'Courier New', Courier, monospace
- 'DejaVu Sans', Arial, Helvetica, sans-serif
- 'DejaVu Serif', 'Times New Roman', Times, serif
- 'DejaVu Sans Mono', 'Courier New', Courier, monospace
- 'Lato', Arial, Helvetica, sans-serif
- 'Times New Roman', Times, serif
- 'Courier New', Courier, monospace
- 'Noto Sans', Arial, Helvetica, sans-serif
- 'Noto Serif', 'Times New Roman', Times, serif
- 'Noto Mono', 'Courier New', Courier, monospace