Alter Reports

Complete full-featured tool for preview and download of SQL reports in your Joomla site.

AlterReports was designed as a native Joomla reporting extension which covers all needs and aspects of reports for your website. Using SQL queries with rich filters and conditional statements allows you to view and download reports of your database data in most convenient way.

Advanced customization settings allow to adjust visual presentation of your reports.

Access permissions helps to control which reports and which report columns to display for certain usergroups, allow/disallow download formats.

Extension information

Compatibility:

full

Note: starting in June 2016 we will begin phasing out 2.5 support in our extensions.

Type:
Commercial
License:
GNU GPL
Demo:
click here
JED page:
click here
See also:
Alter Surveys
Price:
$59.00

  Buy now

Features

  • View and download reports in both frontend and backend.
  • Nested categories for reports.
  • Frontend views of categories (list of categories), category (reports from category) and single report.
  • Using different databases for loading reports data. Standard Joomla database drivers are supported including MSSQL via 'Microsoft SQL Server Driver for PHP'.
  • Creating of reports by entering SQL query, editing of query with SQL profile and explain results, easy inserting of tags and database tables into query.
  • Configurable filters for reports of few types (text field, text area, drop-down lists, checkboxes, radio inputs with either manually entered options or options loaded via SQL query), filter's values can be used in query as via tags.
  • Conditional statements for query: certain parts of SQL can be executed only if filter's value was entered.
  • Search in report and download selected rows only.
  • Ordering of report by column.
  • Report can be downloaded in configurable CSV, XLS, XLSX, PDF, HTML and XML formats. PDF documents can be customized via custom HTML templates.
  • Rich customization of report views, HTML, XLS and XLSX formats (borders, colors, backgrounds etc., separate styles for headings, subheadings, data rows and footer row).
  • Subheadings with ability to span above few heading columns.
  • Footer row: each column can have custom footer value or auto-calculated values (minimum, maximum, average and sum). XLS reports can have footer values either pre-calculated or have formulas (built-in AVERAGE(), SUM(), MIN(), MAX() or you can use own formula with replaceable tags of column data rows coordinates).
  • Each report column can have own style applied for report views, HTML, PDF, XLS and XLSX formats.
  • 3-levels of style settings: global settings, individual report settings, column settings: you can easily change styles for all reports.
  • Count of report views and downloads.
  • Access levels for categories of reports, reports, available formats and columns.
  • HTML and PHP pre-processors for columns values: you can wrap a value into HTML code or change it via PHP.
  • Current Joomla user-related and GET variables tags with conditional elements in query (query can be different for user with different usergroups).
  • Ability to delete selected report rows in backend and frontend.
  • Ability to embed reports into articles via special {reportid=x} tag (Joomla content plugin is included).
  • Ability to group report rows by column.
  • Ability to email reports via special link (great feature to receive reports scheduled by a cronjob).
  • Import/Export of reports in XML - helps to transfer your reports between local and live servers.
  • Custom .ttf fonts support for HTML-based reports including PDF (fonts are embedded into .pdf documents).
  • Selection of PDF generation engine: either server-independent 'dompdf' or more powerful 'wkhtmltopdf' engine can be used. 'wkhtmltopdf' engine requires wkhtmltopdf library to be installed on your server.
  • to be continued... 

 

This extension uses PHPExcel library (LGPL v2.1).

This extension uses DOMPDF library (LGPL v2.1).

Want a new feature? Why not? Please Contact Us!

Requirements

  • Joomla 3.8.12+ or 3.9.x.
  • PHP 5.6+ or 7+ with mbstring & MySQL 5.7.x
  • Bootstrap 2.3.x backend Joomla template, Bootstrap 2.3.x or 3.3.x frontend template.
  • Depending on your server settings and report properties you may be forced to increase the limit of PHP settings max_input_vars, suhosin.post.max_vars and suhosin.request.max_vars (if Suhosin is installed). The average value for these settings should be about 5000. The reason is that there are too much settings in report edit page.
  • PHP settings max_exec_time and memory_limit should be also increased depending on downloaded report size and complexity, especially for generating of PDF or XLS downloads.
  • SQL knowledge for sure.
  • MSSQL reports require SQL Server 2008 or 2012 and PHP extension 'Microsoft SQL Server Driver for PHP' (http://php.net/manual/en/book.sqlsrv.php) or 'Microsoft SQL Server' (http://php.net/manual/en/book.mssql.php).
  • 'wkhtmltopdf' PDF engine requires wkhtmltopdf library to be installed on your server.

Screenshots

Changelog

On coding board:

  • Column filters: customized drop-downs displayed below column headings with filtering options for this column.
  • Editable PDF footer.

Current version:

  • Feature: ability to use {filter.label} placeholder for currently selected option label of dropdowns, checkboxes and radio filter.
  • Fix: inner tabs and headings aligned nicely.
  • Feature: new report PDF setting 'Grouped Row Page Break' to add a page break before grouped row.
  • Feature: new report settings 'Grouped Row Template' and 'Grouped Row PHP Processor' allow to control grouped table row output.
  • Fix: columns ordering in frontend.
  • Feature: {where} tag for main SQL query which is auto-replaced with auto-generated search conditions. Helps if you have sub-queries with WHERE clause.
  • Feature: new setting 'Grouped Row Headings' to display column headings before or after grouped row.

28 March 2018 - ver. 2.3.1:

  • Feature: new advanced report setting 'Delete Query' helps to have custom control over the rows delete operation.
  • Fix: print layout not applied in frontend.
  • Feature: default value for Calendar filter accepts PHP's DateTime contructor values like '-30 day'.
  • Feature: custom date format for Calendar filter.
  • Fix: 'select all' link doesn't highlight all options in multiple-select dropdown filter.
  • Fix:  issue with /* IF filter_tag = 'value' */ condition statement.

22 January 2018 - ver. 2.3.0:

  • Feature: use {REPORT} tag in report email body to embed a report table.
  • Feature: new advanced report setting 'Frontend Connection Failed Article' allows to display specific article if a connection to report's database can't be established.
  • Feature: new setting  'Email Min Rows' in report's Email settings allows to send email only on minimum number of rows in a report.
  • Fix: SQL query editor auto-height limited to 40 rows.
  • Feature: new report setting 'Advanced -> Query PHP Processor' allows to execute custom PHP code on report SQL query.
  • Feature: new dropdown/radio/checkbox filter value setting 'Values SQL Query' to load default value(s) dynamically.
  • Feature: use {user->field_XXX} tag for custom user field XXX.
  • Change: 'Print Layout' setting renamed to 'Print Orientation'
  • Feature: added 'Print Layout' setting to select custom print MVC layouts.

10 April 2017 - ver. 2.2.0:

  • Fix: common style settings for footer are applied.
  • Feature: ability to get label of selected filter option(s) for dropdown/radio/checkbox filters via {tag.label}
  • Fix: issue with radio filters not selecting previous value.
  • Feature: new filter tags {TAGNAME.join_commas}, {TAGNAME.join_spaces} and {TAGNAME.join_pipes} to get string of comma/space/pipe separated multiple values, handy for e.g. FIND_IN_SET() or REGEXP.
  • Fix: alien zeros in XLS footer.
  • Feature: Microsoft SQL Server 2008 support via sqlsrv.
  • Feature: new component setting 'Advanced > Bootstrap 3 Layouts' to help with Bootstrap 3 code.
  • Feature: selection of PDF Engine. By default previous 'dompdf' engine is used, alternatively you can select 'wkhtmltopdf' engine which provides faster and more accurate PDFs but requires wkhtmltopdf library installed on your server.

14 October 2016 - ver. 2.1.0:

  • Feature: ability to check multiple filters via /* IF filter1,filter2 */ conditional statement, just use comma-separated filter tags.
  • Fix: Document Format missed in PDF settings of individual report.
  • Feature: 'Group Column Sum' setting allows to display sum of values of a column in the most right column of grouped column row.
  • Feature: new setting 'Custom Size' allows to set custom PDF page size.
  • Feature: new PDF setting 'Initial View Style' allows to control the fit of page on initial view.
  • Feature: new setting 'Limit Box Options' allows to customize limit box options.
  • Feature: ability to use filter tags in column subheading.
  • Feature/changes: 'Force Download' setting removed, new setting 'Download Mode' allows to select report download mode: download, or open in same window, or open in new window.

27 July 2016 - ver. 2.0.0:

  • WARNING! Custom report layouts of previous versions are incompatible! Simple code changes are required.
  • Feature: new layout 'default_norows' with"No results found." message allows to customize message if no results were found.
  • Fix: PHP 7 issue with XLS download.
  • Feature: new component global advanced setting 'Query Editor Height' allows to set height directly in pixels or auto.
  • Feature: new setting 'Custom CSS' to apply for Frontend/Backed/HTML/PDF views.
  • Feature: ability to include custom .ttf fonts for HTML-based views and PDF! New Advanced component setting 'Path to TTF Fonts' allows to specify folder with .ttf fonts to use in font style selectors.
  • Feature: reduced PDF report size (we've got -45% on our demo report), reduced PDF generation time (about -15% on demo report).
  • Feature: reduced XLS generation time (more than 3x faster on demo report).

29 May 2016 - ver. 1.2.3:

  • Feature: Import/Export of reports in XML - helps to transfer your reports between local and live servers.
  • Fix: improved color picker fields for FireFox and IE.
  • Feature: now report title and description accept tags of currently logged user like {user->name} and tags of currently selected filters like {filter_tag}.
  • Feature: new setting 'PDF -> Document Format -> Page Margins'
  • Update: dompdf to v. 0.7.0

17 November 2015 - ver. 1.2.2:

  • Fix/Feature: hidden columns were not searched if search is enabled.
  • Feature: new setting 'Print All Rows' allows to load all rows for print layouts.
  • Feature: new setting 'Include Subcategories' for Category Layout allows to include reports from child categories.
  • Feature: separated 'Footer Value Precision' and 'Footer PHP Processor' column settings for each format.
  • Feature: 'Number Format' setting for XLS format of column footer.
  • Feature: 'Cell Padding' and 'Cell Spacing' settings for tables.
  • Feature: new setting 'Preserve Filter Values' for frontend and backend views allows to keep selected filter options during user session (enabled by default).
  • Feature: new filter setting 'Translate Options' for dropdown, checkbox and radio filters.
  • Feature: new setting 'Prepare Content' for Frontend View, Backend View and PDF formats allows to prepare HTML output of report with Joomla content plugins.
  • Feature: new setting 'Download All Records' for each downloadable format - enabled by default, it helps to either download all records of a report or only currently displayed records.
  • Feature: 'Show Title' and 'Show Description' options for PDF view.
  • Feature: new footer type 'Value - SQL' helps to display footer value by custom query.
  • Feature: ability to email reports via special link (great feature to receive reports scheduled by a cronjob) - check new Email tab of report settings.

07 April 2015 - ver. 1.2.1:

  • New report setting 'Template Article' in PDF downloads settings allows to select a Joomla article which will be used as HTML template for PDF (article can have tags {TITLE} and {REPORT} which are auto-replaced with report title and results table, hence you can wrap report in your own custom text with logo image etc.).
  • Fix: missed PDF checkbox for filter availability.
  • Feature: new report setting 'Show Rows Count' to display number of loaded rows.
  • Feature: new conditional queries for user properties, i.e. /* IF USER.GROUPS != 11 */ .. do smth if user has 11th usergroup ... /* ENDIF */
  • Feature: new setting 'Filters Layout' for Frontend and Backend Views allows to display filters in either vertical or horizontal layout.
  • Feature: new setting 'Display Online' for checkbox and radio filters allows to display options inline.

28 October 2014 - ver. 1.2.0:

  • Feature: 'Rows' and 'Display Select All' settings for multiple-select drop-down filters.
  • Feature: using user-base and GET tags in conditional statements, i.e. /* IF '{user->username}' != 'admin' */ or /* IF '{get->id}' > 4 */
  • Feature: PDF report downloads.

10 September 2014 - ver. 1.1.9:

  • Feature: 'Vertical' report layout - allows to display headings and report data vertically.
  • Fix: once checked checkbox filter always has last option checked.
  • Fix: issue with filters not applied.

17 June 2014 - ver. 1.1.8:

  • Feature: calculate footer formulas using initial data unaffected by PHP processors.
  • Feature: new column setting 'Footer PHP Processor' to parse footer value before output.
  • Feature: filter tags and conditional elements in options SQL query for drop-down filter.
  • Feature: GET variables tags like {get->user_id}.
  • Feature: PHPExcel library updated to 1.8.0.

28 April 2014 - ver. 1.1.7:

  • Fix: download of XLS and XML

14 April 2014 - ver. 1.1.6:

  • Feature: {user->levels} user-related query tag with comma-separated user authorized levels.
  • Fix: disappearing titles with tooltips in frontend
  • Fix: table ordering in frontend.
  • Feature: new settings 'Show Limit Box', 'Show Ordering Options' and 'Print Layout'  for Backend View in component settings and report settings.
  • Feature: {VALUE} tag for 'Footer Label' field (ex 'Footer Custom Value').  It allows to display a text with calculations like 'Total: 20' by using label text 'Total: {VALUE}'.
  • Feature: 'Default Value SQL' setting for Calendar filters - now you can load default value from database.
  • Feature: ability to group report rows by column.

03 February 2014 - ver. 1.1.5:

  • Feature: Allowed ordering by multiple fields.
  • Feature: Allowed tags in HTML processing of column value.
  • Feature: /* IF NOT tag */ conditional element.
  • Feature: /* IF tag = ’test value’ */ and /* IF tag != ’test value’ */ conditional elements.
  • Feature: Show 'No Reports' Message setting for category layout.

22 Oct 2013 - ver 1.1.4:

  • Feature: ability to browse and insert table columns into query.
  • Feature: ability to browse and insert user tags into query.
  • Feature: drag-and-drop columns ordering.
  • Change: user tags should be escaped in the query.

10 Oct 2013 - ver. 1.1.3:

  • Added auto-escaping and auto-quoting of user-related tags.
  • Removed IeCursorFix.
  • Added content plugin and ability to embed reports into articles.

27 Sep 2013 - ver. 1.1.2:

  • Fix: issue with multiple drop-down filters loading same options
  • Fix: issue with escaping textual primary keys

18 Sep 2013 - ver. 1.1.1:

  • Added current Joomla user-related tags: {user->id}, {user->name}, {user->username}, {user->email}, {user->registerDate}, {user->lastvisitDate}.
  • Added ability to delete selected report rows in backend and frontend using Primary Key and Primary Table settings.
  • Improved filter name entered by user.
  • Fixed issue with loading data from 3rd-party database.

01 May 2013 - ver. 1.1.0:

  • New Subheadings row with ability to span above few heading columns.
  • Footer row: each column can have custom footer value or auto-calculated values (minimum, maximum, average and sum).
  • XLS reports can have footer values either pre-calculated or have formulas (built-in AVERAGE(), SUM(), MIN(), MAX() or you can use own formula with replaceable tags of column data rows coordinates).

01 Feb 2013 - ver. 1.0.0

Need Help?

If you are in need of help or have any questions regarding our products you may use one of the links below:

Our Newsletter

Get the latest news, product updates and special offers!

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.