Jasper Report Design Standards

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 ...