a lightweight reporting solution

Quick Start

ART Wiki

ART is Open Source Software, see license for more info.

Hosted by:
SourceForge Logo


(2013 05 12) - ART 2.5.2

* Fix for error when drill down column has a null value
* Updated French translation (thanks to Eric Lemesre)
* Minor html tag corrections (thanks to Eric Lemesre)
* Left align text in htmlDataTable and htmlPlain view modes
* Added DataTable translations for Spanish and Portuguese
* Allow display of 0 for numbers when value is null
* Allow chained parameter lov to use dynamic datasource filter
* Left align first column text in crosstab queries

(2013 04 07) - ART 2.5.1

* Added Portuguese translation (thanks to Edson Richter)
* Added Spanish translation (thanks to Carlos Narvaez)
* Updated French translation (thanks to Eric Lemesre)
* Allow custom path for export files (thanks to ckb)
* Enable display of blank space instead of "null" for null fields (thanks to ckb)
* Fix for query name truncated to 25 characters
* Fix for start query not displaying
* Fix for invalid drill down queries link
* Fix for not being able to define email jobs in Italian and Portuguese locales
* Added some 2D charts
* Allow use of jndi datasources
* Allow rename and move of queries from the query management console
* Allow xy chart to have multiple series
* Have show results inline as an application setting
* Enable show/hide of parameters box
* Allow specification of random start time for jobs 
* Made graph x-axis label rotate and remove options configurable per query
* Automatically compile all subreports in a jasper report
* Added separate field for uploading subreports used by a jasper report
* Updated jasperreports to 5.0.1

(2013 01 18) - ART 2.5

* Fix for invalid publish job link on linux when reminder email specified
* Support for running DDL/DML statements before query's select statement
* Support for displaying a query in the start page
* Fix for non-ascii values not being saved properly in some admin pages
 (Thanks to Edson Richter)
* Renamed "Objects" to "Queries" and "Object Groups" to "Query Groups"
* Support for case sensitive operators for dynamic queries
* Allow use of decimals when specifying y axis range
* Support for archiving publish job results
* Removed published files retention period setting
* Allow scheduling of heat maps
* Allow use of default parameter values without specifying parameters in the url
* Allow dashboards to use multi parameters
* Moved some application settings from the web.xml file to the settings page

(2012 12 02) - ART 2.4.1

* Support for bubble charts
* Support for heat map charts (experimental)
* Fix for chart tooltips not displaying when charts displayed inline
* Fix for issue preventing creation/modification of parameters in IE
* Fix for charts not displaying in IE8 when charts displayed inline
* Fix for charts not displaying when y axis range is specified
* Have admin pages use the same header and footer contents as user pages
* Modified syntax for speedometer chart ranges
* Allow use of percentage values in speedometer chart ranges

(2012 11 12) - ART 2.4

* Added cc and bcc fields for email jobs
* Allow change of parameter between inline and multi
* Use logback instead of log4j for error logging
* Enable viewing of application logs from within the application
* Enable choosing of query datasource at runtime
* Display query results in the show parameters page 
* Allow modification of column attached to a rule
* Enable display of final sql generated for a query
* Enable setting of the format to be used for dates in query output
* Added All option for datatable output
* Improved handling of numeric rule values
* Sort numeric columns correctly in datatable view mode
* Made DataTable the default view mode
* Allow to see who job is currently shared with
* Enable jobs to be emailed to a dynamic list of people
* Allow rule values to be defined for user groups

(2012 08 31) - ART 2.3.1

* Fix NullPointerException on pdf output with null strings
* Fix to enable error free charts with java 1.7
* Increased axis labels remove_at value for charts
* Fix to enable display of friendly parameter values for chained parameters
* Modified string for chained multi parameter, all values, from ":: All items" to "All"
* Fix for error on selecting all values option for chained multi parameter
* Removed check enforcing presence of parameter label in the sql source

(2012 08 14) - ART 2.3

* Added database type drop down field to help populate common jdbc details
* Allow username and password field values to be used for CUBRID database
* Allow blank passwords for datasources
* Allow "not equals" operator for dynamic queries
* Support display of unicode characters in pdf output and charts
* Enable display of graph parameters and data in pdf output
* When using show parameters option, for lov parameters, display 
  actual parameter value and friendly display value
* Allow selection of parameters for drill down queries
* Updated quartz to 2.1.5
* Updated jasperreports to 4.6

(2012 04 29) - ART 2.2.1

* Added support for the CUBRID database (
* Fix to remove warning when precompiling some jsp files
* Fix for dashboard description not showing on start page
* Remove need to specify _GRAPH_ID parameter for direct execution of graphs
* Fix to allow graphs to work with QUERY_ID or queryId parameters (thanks to yidong123)
* Fix for dashboards not working on chrome (thanks to yidong123)
* Fix for rule value ALL_ITEMS not working properly (thanks to yidong123)
* Fixed issue with charts not displaying first time on dashboards
* Fixed some missing localization messages
* Improved handling of numeric multi parameter values

(2012 03 04) - ART 2.2

* Fixed graph tooltips not showing up on Firefox 9
* Included clean and compile jasperreports targets in build.xml 
  to enable recompilation of .jrxml files if jasperreports version changes
* Added servlet-api.jar to the package so that modifications to build.xml 
  not necessary to recompile code
* Automatically compile subreports contained in jasper reports
* Use bcrypt for password hashing
* Allow deleting of multiple queries
* Allow query security to be based on both groups and queries
* Use slf4j and art_logs table for all logging instead of logging 
  some information to separate log directory
* Allow show parameters option for graphs
* Order parameters displayed in a report according to field position 
  when show parameters is used
* Support for display of parameters in job output
* Allow LOVs to use static values
* Allow query to show parameters by default
* Added swahili translation
* Improved support for postgresql 8.1
* Fixed alerts not working
* Fixed datasource not saved when using default repository and test sql 
  longer than 20 characters
* Updated slf4j to 1.6.4
* Updated javamail to 1.4.4
* Updated log4j to 1.2.16
* Updated quartz to 1.8.5
* Updated jxls to 1.0
* Updated cewolf to 1.1.12
* Updated commons-pool to 1.5.7
* Updated jcifs to 1.3.17
* Updated hsqldb to 2.2.7

(2011 11 06) - ART 2.1

* Added support for reports based on pre-formatted excel worksheets 
* Added support for use of parameters with OLAP queries 
* Included xslx output in light version 
* Improved working of OLAP queries 
* Allow setting of "All" item as default for multi parameters 
* Support for multi parameters that don't use LOVs 
* Allow jobs to use dynamic date parameters e.g. ADD DAYS -1 
* Updates: hsqldb to 2.2.4 ,jasperreports to 4.0.2 ,cewolf to 1.1.6 
           commons-dbcp to 1.4, commons-pool to 1.5.5, slf4j to 1.6.1

(2011 05 10) - ART 2.0

* Support for JASPER reports [full only]
* Support for OLAP (mondrian) - EXPERIMENTAL [full only]
* Added xlsx (Excel2010) output option [full only]
* Added option to display graph data below the graph
* Added speedometer chart
* Art Demo embedded in default repository 
  - most features are ready to be learned "by example"
* Drill Down Query receives now all parent query parameters 
* Added datetime parameter class
* Allow jobs to be disabled
* All jobs can be edited by an administrator
* Portlet Container renamed to Dashboard
* Chart options outside object description
* If int or double field is null, output null instead of 0
* Added default object group option for users
* Improved LDAP authentication
* Single Sign On/integrated windows authentication (requires setup)
* Streamlined database column names
* Added new DataTable view mode - this will replace 
  grid html one (uses jquery datatables project) - EXPERIMENTAL
* Hungarian Translation (thanks to zhans)
* ajax-enabled admin pages to manage privileges (using jquery.form.js)
* getColumnLabel is now used to get query column names instead of 
  getColumnName (no need extra options needed on most JDBC urls)
* Added option to compile a light (14MB) or full ART (34MB) versions,
  the latter includes JasperReports, Olap, and xlsx output

(2010 09 08) - ART 1.11

* Drill Down:  
   . queries results can be setup to show multiple configurable 
     links to execute drill down queries 
   . works on charts as well (charts elements became clickable)
* Cached Tables: 
   admins can define jobs to reverse (cache) a query result to another 
   table in a different database (and then create queries on the new table)
* Scheduling engine moved to quartz: 
   extra-flexible scheduling capability
* User Groups: 
   you can now create group of users and share just the 
   group to object or object groups
* Shared Jobs: 
   users&administrators can share existing jobs results with other users
* Published jobs hava configurable duration
* Conditional Jobs 
* Supports secure SMTP (STARTTLS)
* Multiple inline parameters
* Mobile support improved
* Spinning icon is now sticky
* RSS 2.0 feed: can specify default "link" attribute in Art properties 
* Several other improvements...

(2010 06 20) - ART 1.10

* Charts can now be scheduled and the result sent via email
  as png or pdf attachment
* New cewolf-ulf library used to generarte charts
  (stacked horizontal 3D, xy with datapoint, new charts might be implemented)
* MS SQLServer can be used as Art Repository (database columns
  named RULE have changed to RULE_NAME)
* new tsv zip view mode
* preliminary support to create rss2.0 feed (check art wiki for details soon)
* hsqldb is now shipped with art and can be used as
  default Art Repository (no need to setup an external database!)
* update date columns are now set when records are updated / inserted
* minor fixes and html changes
* Tested with Firefox 3.6, Chrome 5, IE8
* DATE and TIMESTAMP columns are now rendered as java.util.Date instead
  of java.sql.Date (hh/mm/ss are now displayed)

(2010 02 05) - ART 1.9rev3

Bug Fixes:
* SMTP authentication was not working properly (thanks to smileybits)
* User deletion was not commited  (thanks to smileybits)
* Art repository password was not decrypted correctly  
  when updating Art Properties  (thanks to smileybits)
* Query name is not displayed correctly when editing existing job (thanks to smileybits)
* XY chart was not displaying (thanks to smileybits)
* default current date in query parameters was not displayed
  properly, causing a parsing errors on some platforms (thanks to smileybits)

(2009 12 10) - ART 1.9rev2

* (1.9rev2) connection pool enhancement to prevent broken connections
            to stay in the pool
* (1.9rev2) a test SQL query can be defined at datasource level to
            validate the connection at given intervals
* (1.9rev2) datasource password is obfuscated in art repository
* (1.9rev2) connection pool timeout and max connections can be set at 
            datasource level (in web.xml for art repository)
* (1.9rev2) html select tag height in showGroup can be set in web.xml

Bug Fixes:
* (1.9rev2) weekday can't be changed in scheduled jobs
* (1.9rev2) slk, tsv buffer was not in UTF-8 
* (1.9rev2) inline HTML email was not UTF-8 encoded
* (1.9rev2) update jsp tag in editJob.jsp since to resolve issue
            with some Apache Tomcat verision (if empty tag) 
* (1.9rev1) Default security was at group level instead of object level  
            (thanks to Marios)

(2008 06 16) - ART 1.9

* (final) corrected web.xml typo - now it deploys in Glassfish (thanks Marios)
* (final) emails inline shows correct utf-8 chars (thanks to Josh W, China)
* (beta1) Art Jobs improvements: it is possible to edit or launch existing Jobs
* (beta1) Jobs Inline HTML E-mails used 7-bit encoding (thanks to Josh W, China)
* (beta1) If you try to go to a page and must log in,
          Art does not take you back to that page
* (beta1) SMTP with authentication (among optional items in Art Properties)
* (beta1) simplified chinese translation (thanks to Josh W, China)
* (beta1) updated wysiwyg editor (tinyMce) to latest version
* (beta1) updated colors and new icons from tangodesktop
* (beta1) code cleanup: restructure of old servlets file in packages
Bug Fixes:
* (beta1) Crosstabs do not display in emails
* (beta1) ArtMessages_en to show EN language if browser is specifically set to it
* (beta1) javascript fix on gridtable.js to sort numeric values
          correclty with separators (thanks to Josh W, China)
* (beta1) only 3 decimals are shown on numeric values columns
* (beta1) null TO field in Jobs causes them to launch an
          exception when attempting to delete
* (beta1) Xml Lov does not parse & and other special chars

(2008 01 30) - ART 1.8

 * (final) date params and dynamic offset from current date
 * (final) cache setting not properly handled in mobile section
 * (beta3) art_tables.sql contained garbage
 * (beta3) default value in multiple params
 * (beta2/pre1) editable subject and html code body on scheduled jobs email
 * (beta2/pre1) jobs can send results in email body (inline)
 - removed(beta2) support for multiple statements in an object since
   some drivers do not support it and throw exception
 * (beta2) preliminary mobile device support (go to http://your_server/art/mobile)
 * (beta2) logs go on ART_LOGS table
 * (pre1) urls for public_user changed (does not use http redirect)
 * improvements in various classes and code clean up
Bug Fixes:
 * (beta2) tooltips on charts misplaced in firefox (by desand)
 * (beta2) xml was not parsing special charts (by vde75)
 * hyperlinks in Categories and Pie charts (by desand)
 * (beta3) fix: dataSource double definition in prevented
           login if no datasources are defined
 * (beta3) fix for utf-8 (was broken in beta1&2)
 * art date line chart now works
 * (pre1) upgrade to jfreechart 1.0.5 to solve thread issues
 * (pre1) in reportize output, number of line reported was alwasy 0
 * (pre1) fonts size error on reportize output
 * (in IE only) when executing graphs, IE spinning icon stops
 * (pre1) text objects are now non editable in textarea by admin
 * direct access to /user/QueryExecute by appending _public_user
   to be able to direct access pages producing files

(2006 09 06) - ART 1.7

 * Spinning icon when Ajax components run
 * Multi series graphs (Category, Time/Date)
 / (2006 06 22) - ART 1.7 pre release 1
 * PDF output for tabular/crosstab using iText
   (thanks to Marios Timotheou, NY USA)
 * PDF output for charts using iText
 * Stacked graphs, bug fix on time/date axis range 
 * Jdbc url size increased
 * Preliminary Chinese translation
   (thanks to Lorenz Chi, Taiwan)
 / (2006 06 02) - ART 1.7 beta2
 * Portlets Containers can be dynamically driven by parameters
 * New html data grid layout with dhtml sortable table
 * Improved Error Logging
 * Improved Graph (cewolf 1.0+option to hide labels/legend)
 * Removed absolute urls (can deployed with a different path)
 * Improved Excel output (updated poi)
 * Improved layout
 * Trust Servlet Container authentication
   (thanks to David Lafay, ?)
 * Small bug fixes
 / (2006 04 25) - ART 1.7 beta1 
 * Chained parameters
 * Lov params now support dynamic sql/tags
 * Date params improved
 * Support to display params values on result page
 * Improved Encoding Utf-8 support (excel/ajax)
   (thanks to Lorenz Chi, Taiwan)
 * Small SQL code updates for Postresql
   (thanks to Dirk Leser, ?)

(2006 03 10) - ART 1.6 rev3

 * included hsqldb Art repository example
 * minor fixes for IE javascript bug w/ AJAX 
 * resource boundle for html report fixed
 * you can include xls/spreadhseet output in 
   Portlets container

(2006 03 09)

 * hsqldb repository for Art 1.6 available
   from the install page link.

(2006 02 28) - ART 1.6 rev2

 * Small fixes to allow ART to run on
   Jetty - OC4J - Tomcat 4

(2006 02 27) - ART 1.6

 * Refresh/Onload fix for portlets container
 * UTF-8 support improved
 * External Auth support (LDAP, Win Domain, DB)
 * Single login for users and admins
 * Skins and logo
 / (2006 01 28) - ART 1.6-pre2 
 * Enhancement on portlets container (refresh/onload)
 * Cache expire issue in IE fixed
 * Various minor bug fixes
 * art dbcp 2.0
 / (2006 01 16) - ART 1.6-pre1 
 * Portlets Containers
 * Text objects
 * UTF-8
 * Ajax components
 * Big SQL support (fix)
   (thanks to Giacomo Ferrari, Italy)
 * Allow multiple :TAGS (fix) 
   (thanks to Andrea Mirandola, Italy)
 * French translation - user part
    (thanks to Eric Lemerse, France)
 * Italian translation - user part
 * Major design changes (thanks for the huge code
   contribution to Valentin, Romania)
 * Support for CLOB, DECIMAL
 * Uses ant to compile
 * Minor bug fixes and layout changes

(2005 03 12) - ART 1.5

 * Dynamic SQL support
 * inline parameters
 * html, tsv and xml can be scheduled 
   (in addition to xls and slk)
 * Removed over complex logic to handle sessions
 * i18n support on user part (only english
   available now - ready to host more languages) 
 * Fix to work on Resin AS 
 * Fix on crosstab cast exception 
 * Fix memory leak on class loading 

(2005 01 16) - ART 1.4

 * Fixed result set not properly closed in QueryExecute servlet
   (thanks to Viktor Kleine from Brazil for debug&suggestions) 
 * Non html output can be flushed directly to the browser
   (the mime content type is now declared by the object that
    generates the output - see new artOutputInterface API)
 * Basic XML output available 
 * Crosstab output can display non numeric values
 * Improved Exception logging
 * Fixed the bug "when scheduling a query, the query
   is executed on the target database"

(2004 12 12) - ART 1.3

 * Crosstab output can have an alternate sort option
 * Fix getRealPath() usage and added commons-logging.jar 
   (thanks to Henrik Ring from Denmark for debug&suggestions)
 * Exceptions on job execution are logged and displayed
 * Fixed a bug on date timeseries graph (now it works)
 * Parameters can be sorted
 * jcifs classes are not part of the war file anymore
   go to and include the jcifs-x.y.z.jar
   in the path to use NT authentication
 * mail.jar and activation.jar are now part of the war file

--(2004 11 01) 

 * ART development moved to Tomcat 5 as engine reference
 * Once a bind parameter is deleted, the next ones are
   now re-ordered correctly to match the right '?' char
 * Tested with Jetty servlet engine
 * Fixed exception on servlet Scheduler.destroy()
 * Fixed exception that may arise during in the first 
   connection performed by an administrator (autocommit set
   to false).

--(2004 10 30) - ART 1.2.0

 * New Admin Privileges option from the Admin Console
   to limit datasources and groups and admin can deal with
 * Improved Installation and Scheduling
 * Fixed broken links in Bar graphs

--(2004 09 18)

 * New Time graph (Timestamp)
 * New :DATE (yyyy-mm-dd) and :TIME (yyyy-mm-dd hh:mi:ss) tags
 * Option to have only html view mode

--(2004 09 05) - ART 1.1.0

 * ART schedule option: reports can be scheduled to run
   and be e-mailed, published etc.
 * CrossTab output, new top bar menu
 * One array of pools is shared between all servlets
 * Tested with HSQLDB as ART repository

--(2004 06 20)

 * QueryExecute rewrite
 * Admin Datasource refresh updated
 * Enhancements on admin part

--(2004 02 22) - ART 1.0.0

 * ART can do simple graphs [thanks to jfreechart/cewolf projects]:
   pie 3d, bar 3d, line, xy, timeseries supported
 * Api published for art graphs.
 * Enanched Admin part
 * Small fixes for achieving compatibility with Oracle 10g AS
   on getServletContext() use
 * artdb and artGraph are under LGPL licence 
 * Manual reviewed (thanks to Julian Clamp, UK)

-- (2003 02 04)

 * ART project on sourceforge

--(2004 01 04)

 * Major Rewrite: plugin mechnism for output view
 * Api published for artdb enhanced connection pool
 * Nicer html

--(2003 10 26)
 * ART can be used to Insert/Update data in a database.
   Just create and INSERT statement instead of a SELECT
 * The string :USERNAME in a statement:
   it will be substituted by the user name it is
   launching the statement
 * tsv and tsv zip nullpointer exception
   with null column is filxed

--(2003 10 18)

 * ART connects to DB2 on AS/400 !
 * Various .css files available to modify
   art colors (art.css)
 * Parsing on tsv output to
   avoid linebreak and other special chars
 * New view mode slk
 * Fixed bug on query creation (allocation)
 * Changed javascript code on query execution
   to avoid some version of IE to stop load page
   (Mozilla was ok, as usual).
 * Fixed a bug that deny admin to edit art params
   if art database is not available
 * Minor html and internal changes

--(2003 07 20)

 * It is possible to execute a public query passing
   the parameters via URL (without parameters page)

-- (2003 07 02)

 * Simil-plugin mechanism for Output handlers (view mode)
 * Query can have a status
 * Users can have a status
 * Fixed a missed commit on parameters update

-- (2003 06 06)

 * Fixed connection pool closing on servlet destroy
 * Responsible Attribute added to query header

-- (2003 05 25)

 * Small html changes, manuals review

-- (2003 04 13)

 * Option to allow users to exec any query in the group
   they as been granted to or to restrict at query level
 * Update Date when creating a new query

-- (2003 03 12)

 * Code clean-up

 * Performance improvments

 * css (customization)

-- (2003 02 26)

 * NT Authentication [thanks to JCIFS project]

 * Internal users may autochange their password

 * Better exception handling if users has not a rule

 * Small fixes on LOOKUP rule input forms

-- (2003 01 10)

 * Admin part enanched, no more need to edit web.xml
   file for specifying properties (ART repository etc)

 * Admin and Installation manual drafts

-- (2002 12 18)

 * Query creation part enanchment

 * Installation procedure is now well-defined

-- (2002 11 12)

 * Live status of database pool connections

 * User manage part rewritten

 * Security manage part rewritten

-- (2002 10 22)

 * GZIP output available (tsv or xls are stramed in a gzip

-- (2002 08 20)

 * database connection pool implemented 

-- (2002 08 18)

 * manageQuery beta version 

-- (2002 02 18)

 * Simple Report Layout

-- (2002 02 14)

 * XLS (excel) export available [thanks to POI project]

 * Scrollable html table available

-- (2002 01 28)

 * Embedded feature to show queries within external web pages

 * One Database connection with timeout and fault recovery in Execute class

 * Multiple database support (idea: each query stores a link to the 
      databse url used to connect to the database. The logic
      dynamically use that URL to perform the connection. This allow
      a user "trasparent" access to several database 

 * Minor html changes

-- (2002 01 12)

 * Smart Rule 0.3 (LOOKUP)

 * View modes: Browser, Browser + SpreadSheet, Spreadsheet only

 * Max 20.000 rows in browser becouse of MSIE hang bug.

 * Log file reports several timings

-- (2002 01 06) 

 * User passwords are stored in an encrypted format (MD5 algorithm).
 * Changed file-StringBuffer size in order to avoid a null pointer exception
   whit big export table and HP java runtime
   Changed java.sql.Date definition to avoid use of the getTimeInMillis()
   protected value that generates errors with HP java runtime.
 * Created a ticket inside a session in order to run multiple
   connection from the same PC and browser.
 * Created JavaScript Code to handle number and date checks (but it
   has some bug)
 * Max number of queries running at time implemented
 * Wrong password reported on art_err.log file
 * Modified QueryParameter in order to build nice html fields
   for date class parameter
 * Modified QueryParameter and Query Execute to handle multiple
   select list of user selectable parameters
 * Access to log file is synchronized to avoid collision
 * Minor html changes
 * Converted varying String to StringBuffer to improve performance