Jasper Report Design Standards
This design standards guide contains all the design
decisions we have made to beautify our reports. We expect all these standards
to be followed, however we also acknowledge that it may be advantageous to
diverge from these standards in order to achieve a better result.
General Standards
Page
Margin should be 30px on all sides
Every
text element besides the title, printed date, and section headers should
be size 10 font
Font
of all text elements should be Arial
Page Header Section
Community
logo should be in the top-left corner of the report. Customers should have
the ability to control whether the logo prints on every page, only on the
first page, or on no pages.
Printed
Date should be in the top-right corner. The Date/Time string should not be
in military time, show am/pm, show the time zone, and the time should be
in the correct time zone for the community generating the report. Should
be in size 8 font.
Title
should be centered on the report, bolded, size 18 font, and be in
title-case
The
Community name should be centered below the title
The
dates for which the report is run should be centered below that, in the
following format:
Report
for: [Begin_Date] - [End_Date]
If
the report only uses one date for the Period date, it should be formatted
as:
Period
Date: [Period_Date]
Any
filtering parameters that were selected by the user should be displayed
after the report dates on the first page of the report, but should not
display on proceeding pages
“Filtering
Parameters” are parameters that affect the results of the report. If a
parameter only adjusts how the report looks (i.e. Show Cell Background
Color, Show Logo, Group by Department, etc.) it is not a filtering
parameter, and should never be shown on the report
Filtering
parameters should display as the following:
Parameter
Name: Parameter Value
If
a parameter has a default value, that parameter should not be displayed
on the report unless that parameter has been changed from its default
value
This
section should not print when the report is exported to Excel, however,
the community name, report dates, and filtering parameters should be
printed on a separate sheet titled “Selected Parameters”
Sectioned Data
In
some of our reports, it makes sense to divide our data into sections with
headers. The following considerations should be made before we decide to
use sections:
Boardroom
Worthiness – Would adding sections of data significantly improve how this
report looks?
Page
Number Cost – How much longer would this report be if sections are added?
Is that a cost we are willing to accept?
Excel
Export Frequency – How often is the Excel version of this report used?
Sectioning off data makes the excel version harder to work with.
If
the Page Number Cost and the Excel Export Frequency are not a concern, and
the report would look significantly better from this change, sections
should be added.
Reports that have sections should exhibit the following
behavior:
Section
headers should be left-aligned with the left-most column
However,
if these sections have subsections, the subsections should be indented
from the main section header
Headers
should have size 12 font and should be bolded
Headers
should repeat on each page if their contents spills onto a new page
Headers
should have an added “(cont.)” when they are repeated
Each
section should have its own column header section, and the section heading
should be placed above its column header section
If
a section has a subsection, the subsections may or may not get their own
column header section. This is dependent upon the three considerations
listed above.
Each
section should have its own individual table
Line
separators may be used if it improves the look of the report. These lines
should not print when exported to Excel.
Column Header Section
All
text elements should be aligned right next to one another, with a black
border on all four sides of pen width 0.5
Text
elements should have a padding of:
Left
and Right Padding: 2px
Top
and Bottom Padding: 1px
The
background color of the column header text elements should be able to be
chosen by the community. Users should also be able to toggle this color on
and off.
If
a community hasn’t chosen a color and chooses to toggle the color on, we
will use the FullCount green: #8cbf8a
If
this column represents non-numeric data, dates, apartment numbers, or IDs,
the header text should be aligned to the left
If
this column represents numeric data, the text should be aligned to the
right
This
section should repeat if the data section extends onto a new page
Data Section
All
text elements should be aligned right next to one another, with a gray
border (#646464) on all four sides of pen width 0.5
The
top border of this row may overlap with the bottom border of the column
header row. This is acceptable.
Text
elements should have a padding of:
Left
and Right Padding: 2px
Top
and Bottom Padding: 1px
Row
background color should alternate between white and gray (the first row
should be white). This should be able to be toggled on or off by the user.
If
a report has separate sections, each section should start with the
background color being white.
Fields
should never be cut off. Instead, rows should grow so users can see the
entire field.
If
this column represents non-numeric data, dates, apartment numbers, or IDs,
the data should be aligned to the left
If
this column represents numeric data, the data should be aligned to the
right
Dollar
amounts should be represented by a dollar sign, and should print two
decimal places
Total Section
The
total section should abide by the same standards as the detail section,
with the following differences:
The
top border should be black
These
fields should only have a background color of white (no alternating
background color)
These
fields should be bolded
Page Footer Section
The
page number should be centered at bottom of each page, in the following
format:
Page
[Current_Page_Number] of [Total_Page_Number]
This
should not be printed when exported to Excel.
Charts
Charts
make our export file extremely large. Therefore, charts will only be added
when a customer requests it.
However,
if a report would benefit extremely from having a chart, we may decide to
add it anyway.
Charts
should be placed immediately after the page header, or at the beginning of
each section header.
Users
should be able to choose whether the chart prints on a report or not
Charts
should not print when exporting to Excel
Excel Export Standards
Reports
exported to Excel should be as easy to use as possible
Extra
columns and rows should be eliminated as much as possible
Subreports
that are only printed once at the end of the report should be printed on a
separate sheet in Excel
These
sheets should be titled with the title of the subreport
Total
sections should print in Excel, but should only contain a static number,
not a function
Pagination
should be ignored when exporting to Excel
Additionally,
the following standards from other sections in this document must be
followed when exporting to Excel:
The
header section should not be printed
The
page footer section should not be printed
The
community name, report dates, and filtering parameters should be printed
into a separate Excel sheet titled “Selected Parameters”
Line
separators separating sections should not be printed
Charts
should not be printed
Related Articles
How to Convert a Jasper Report to the New Standards
Objectives To teach developers how to change our older style Jasper Reports to match our new design standards. Prerequisites JasperSoft Studio 6.14, small amount of Java experience, and very little Jasper Report experience. Instructions Parameters, ...
Developer Guide
Installations An installation guide can be found in the Setup a New Developer Machine guide. Version Control Guide We use both Subversion and Git for version control. A crashcourse of our Subversion versioning processes can be found in the Subversion ...
Code Review Policy
Code Review Policy Objective: The primary goal of our code review process is to ensure high-quality, maintainable, and efficient code that aligns with the team's standards and best practices. Code reviews serve as a collaborative effort to enhance ...
Reports
Reports All reports in the system have been categorized into one of the categories below based on where it most fits in. Some reports might fit into more than one category, but the one selected meets its primary purpose. Billing (Post-Month End ...
Development Training Resources
Below are a list of resources that were compiled by the development team. Javascript https://eloquentjavascript.net/01_values.html JUnit User Guide https://junit.org/junit5/docs/current/user-guide/ Hibernate Quick Guide ...