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?
A 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...
Link: Domain Based SubReports
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,567