Jaspersoft Tech Talk #7

Title

Title


Using iReport with a Domain Datasource

Ernesto Ongaro & Alan Kavanagh

Agenda

  • Review of Jaspersoft Domains
  • What can you do in a Domain query and what you have to do in the JasperReports library?
  • Domain driven input controls
  • Sub-reports
  • Sub-datasets/Table component
  • Domain security



Review of Domains

What is a JS Domain?




Domain is a virtual view of a data source that presents the data in business terms, allows for localization, and provides data-level security.

Domains write SQL queries against a RDBMS


Why?


  • Central security
  • One datasource
  • Joins are abstracted
  • Multi-lingual text labels
  • Easiest way to work with Ad-hoc
  • Hides complexity of datsources
  • Push down queries
  • As of version 5: data virtualization

Where are they defined?

In the web browser!

Where is security defined?

Where do I learn more?








What can you do in a Domain query?

Filtering


Filtering can be done in the query, it will affect the WHERE clause of the SQL query


[DEMO]

Sorting


Do it in JasperReports, will not affect the SQL query

Hint: (in query designer) click 'Sort Options...'


[DEMO]

Grouping


Do it in JasperReports

Hint: Right click 'Add Report Group'

[DEMO]

Limit By


For example, a top 10 query - do it in JasperReports

Hint: $V{REPORT_COUNT} <= 10

[DEMO]

Aggregations


Do them in JasperReports Variables

[DEMO]

Learn more


  • Admin and User guide reference DomEL language
  • Use Ad-hoc reports to discover what the engine is doing



Domain Driven Input Controls



Built in Functionality

iReport does these well

[DEMO]

Looking under the hood...



[DEMO]



Sub-Reports from Domains

Fairly simple...






Sub-datasets and Table Componet

Not bad either...







Domain Security

Row Level Security



Easy, if the user doesn't have access, the rows aren't shown

Column Level Security




Column is '0' when user doesn't have access
[DEMO]
CaliforniaUser/jasperadmin

Title

Thank you!



Next topics:
  • Feb 19 (USA) - Single Sign On (SSO)
  • Feb 26 (EMEA) - Dashboard Design
  • Mar 5 (USA) - Embedding into Portals


tt7

By ernestoo

tt7

  • 2,498