ART uses a number of free and open source libraries and resources in order to provide various features. Below is a listing of some of them.
Library | License | Comment |
---|---|---|
Tango Desktop Project | Public Domain | Many icons used in the application have come from this icon set |
Logback | EPL 1.0 and LGPL 2.1 | Provides the concrete logging library. More currently maintained than log4j used previously. Enables modification of logging level without need to restart the application. Switching to debug mode can now be done without much thought. Also provided code to enable viewing of logs from the application interface. No longer need access to application server machine to view logs. |
SLF4J | MIT | Logging facade allowing for change of the concrete logging library without changing application code. Allowed for an easy change from using log4j to logback (ART 2.3.1 to 2.4). No code changes were needed and there was minimal change from the log4j.xml file to the logback.xml file. |
jsoup | MIT | Enable automatic generation of pdf manuals from wiki contents |
html2ps | GPL | Enable automatic generation of pdf manuals from wiki contents |
sorttable.js | X11 | Enable sorting of data in htmlGrid view mode |
date.js | MIT and GPL | Used to verify validity of dates entered for date parameters |
AjaxTags | Apache | Used to display dashboards, to provide information about queries in the start page and to retrieve saved schedule information in the define job page |
Cewolf | LGPL | Used to display charts on the browser |
JFreeChart | LGPL | Used to output charts as pdf and png files |
Mondrian | EPL | Used to provide OLAP functionality |
JPivot | CPL | Used to provide the interface for interacting with OLAP cubes |
Apache Commons including fileupload, lang, etc |
Apache | Used for a number of utility functions |
HSQLDB | custom, based on BSD | Used to provide a demo database with sample queries |
iText | MPL or LGPL Using iText 2.1.7 which was the last version under this license. Later iText versions are licensed under the AGPL |
Used to provide pdf output |
JasperReports | LGPL | Used to provide support for formatted reports |
JCIFS | LGPL | Used to provide windows authentication |
Apache POI | Apache | Used to provide xls, xlsx and docx output for tabular reports |
Quartz | Apache | Used to provide scheduling for jobs |
SPNEGO | LGPL | Used to provide integrated windows authentication or Single Sign On |
DataTables | GPL or BSD | Used to provide the htmlDataTable view mode. Enables paginated results, sorting and searching of results |
jQuery | MIT | Used to display query results in the select parameters page |
jQuery Form Plugin | MIT and GPL | Enable use of AJAX in form submission |
TinyMCE | LGPL | Used to provide a HTML WYSISYG editor for defining job email message text, and contents of text queries |
DHTMLgoodies JS Calendar | LGPL | Used to provide a date picker for date parameters in the select parameters page |
jBCrypt | ISC/BSD | Used to hash user passwords |
log4jdbc | Apache | Used to support logging of sql statements |
OWASP Java Encoder | New BSD | Escaping/encoding of strings that build html output, to prevent cross-site scripting |
Font Awesome | SIL OFL 1.1 | Used to provide icons used within the application (ART 3.0+) |
Bootstrap | MIT | Provides a responsive user interface, enabling use of a single code base for different screen sizes i.e. for tablets, phones and computers (ART 3.0+) |
Bootbox.js | MIT | Provides information and confirmation dialogs e.g. when deleting records (ART 3.0+) |
Bootstrap-hover-dropdown | MIT | Enables bootstrap menus to dropdown on hover instead of on click (ART 3.0+) |
HTML5 Shiv | MIT/GPL2 | Enables use of HTML5 with Internet Explorer 6-8 (ART 3.0+) |
jquery.dataTables.rowReordering.js | GPL v2 or BSD style | Enables reordering of rows within a DataTables table. Used to change drilldown and report parameter positions. Documentation. (ART 3.0+) |
jquery.quicksearch.js | MIT | Allow for search within a multi-select (ART 3.0+) |
lou multi select | MIT | Provides a user-friendly way to perform multi selects (ART 3.0+) |
Notify.js | MIT | Used to provide event notifications e.g. successful record deletion (ART 3.0+) |
Respond.js | MIT | Enables use of HTML5 with Internet Explorer 6-8 (ART 3.0+) |
Chained selects | MIT | Provides the chained parameters feature (ART 3.0+) |
Bootstrap-select | MIT | Provides enhanced funtionality in select elements e.g. allowing for search and multi select (ART 3.0+) |
Eonasdan datetimepicker | MIT | Provides a date picker (ART 3.0+) |
moment.js | MIT | Manipulating dates in javascript. Required by eonasdan date picker (ART 3.0+) |
jQuery UI | MIT | Provides ui effects. Required by jquery.dataTables.rowReordering.js. (ART 3.0+) |
Thymeleaf | Apache | Provides email templates used with scheduled jobs (ART 3.0+) |
Spring Framework | Apache | Provides the MVC framework (ART 3.0+) |
Commons DbUtils | Apache | Makes working with JDBC cleaner. (ART 3.0+) |
Joda-Time | Apache | Provides date manipulation functions. (ART 3.0+) |
Ehcache | Apache | Provides object caching. (ART 3.0+) |
Jackson-databind | Apache | Provides for loading and saving java objects to json files. (ART 3.0+) |
Hibernate validator | Apache | Provides validation annotations. (ART 3.0+) |
UnboundID LDAP SDK | GPL 2, LGPL 2.1, Custom | Enables LDAP authentication. (ART 3.0+) |
jTDS | LGPL | A JDBC driver for SQL Server |
MySQL Connector/J | GPL | JDBC driver for MySQL |
MariaDB Connector/J | LGPL | JDBC driver for MariaDB |
CUBRID JDBC driver | BSD | JDBC driver for CUBRID |
PostgreSQL JDBC driver | BSD | JDBC driver for PostgreSQL |
UCanAccess | Apache | JDBC driver for MS-Access. (ART 3.0+) |
Jxls | Apache | Provides reports based on pre-created MS-Excel templates |
HikariCP | Apache | Provides connection pooling. (ART 3.0+) |
JavaMail API | CDDL 1.1, GPL 2 | Enables sending of emails |
Barbecue | BSD-style | Used for jasper reports with barcodes. (ART 3.0+) |
Freeemarker | Apache | Used for reports based on freemarker templates. (ART 3.0+) |
Bootstrap Switch | Apache | Used to display checkboxes as toggle switches. (ART 3.0+) |
XDocReport | MIT | Used for reports based on docx, odt or pptx templates. (ART 3.0+) |
Simple Java API for ODF | Apache | Used to provide odt and ods output for tabular reports. (ART 3.0+) |
Apache Commons Net | Apache | Used to provide ftp functionality. (ART 3.0+) |
Java CAS client | Apache | Provides CAS authentication functionality. (ART 3.0+) |
sqlite-jdbc | Apache | JDBC driver for SQLite. (ART 3.0+) |
CsvJdbc | LGPL | JDBC driver for csv files, other delimited files e.g. pipe delimited etc and fixed width files. (ART 3.0+) |
Tooltipster | MIT | Used for chart tooltips (ART 3.0+) |
Jasny Bootstrap | Apache | Used to provide a file upload component for report types that use a template file e.g. jXLS reports. (ART 3.0+) |
jQuery File Upload | MIT | Used to enable upload of multiple files that may be used by a JasperReports report e.g. images and sub-report files. (ART 3.0+) |
Microsoft JDBC Driver for SQL Server | MIT | JDBC driver for SQL Server. (ART 3.0+) |
gridstack.js | MIT | Provides Gridstack Dashboard functionality. (ART 3.0+) |
Lodash | MIT | Dependency of gridstack.js (ART 3.0+) |
highlight.js | BSD | Used to provide syntax highlighting for "Show SQL" option. (ART 3.0+) |
Ace | BSD | Provides syntax highlighting when creating reports (ART 3.0+) |
JSZip | MIT and GPLv3 | Required for DataTables xlsx export. (ART 3.0+) |
pdfmake | MIT | Required for DataTables pdf export. Also includes vsf_fonts.js which is the default font definition for pdfmake - the Roboto font. (ART 3.0+) |
ReactPivot | MIT | Used to provide ReactPivot report functionality. (ART 3.0+) |
PivotTable.js | MIT | Provides PivotTable.js report types. (ART 3.0+) |
C3.js | MIT | Provides charts in PivotTable.js reports. (ART 3.0+) |
D3.js | BSD | Dependency of C3.js. (ART 3.0+) |
Papa Parse | MIT | Enables PivotTable.js reports that use csv files as input. (ART 3.0+) |
Subtotal.js | MIT | Provides subtotals for PivotTable.js report types. (ART 3.0+) |
opencsv | Apache | Provides csv output. (ART 3.0+) |
uniVocity-parsers | Apache | Provides csv output. (ART 3.0+) |
dygraphs | MIT | Provides Dygraphs report types. (ART 3.0+) |
yadcf | MIT | Provides column filters for DataTables reports. (ART 3.0+) |
Chart.js | MIT | Provides Chart.js report type. (ART 3.0+) |
randomColor | CCO | Provides colours for chart.js reports. (ART 3.0+) |
Datamaps | MIT | Provides Datamaps report types. (ART 3.0+) |
topojson | custom | Required for Datamaps. (ART 3.0+) |
Leaflet | BSD | Provides Leaflet report type. (ART 3.0+) |
OpenLayers | custom | Provides OpenLayers report type. (ART 3.0+) |
JQuery Hottie | MIT | Provides the Tabular Heatmap report type. (ART 3.0+) |
Log4jdbc-log4j2 | Apache | Provides for logging of datasource sql statements (ART 3.0+) |
H2 JDBC driver | MPL 2.0, EPL 1.0 | JDBC driver for H2. (ART 3.0+) |
Saiku including saiku-ui, saiku-service, saiku-query, saiku-olap-util |
Apache | Provides analytics functionality - olap analysis. (ART 3.0+) |
Couchbase JDBC driver | Apache | JDBC driver for Couchbase. (ART 3.0+) |
MongoDB Java Driver | Apache | Java driver for MongoDB. (ART 3.0+) |
Jongo | Apache | Allows querying of MongoDB using syntax similar to that of the Mongo shell. (ART 3.0+) |
Morphia | Apache | Allows querying of MongoDB using alternative syntax (ART 3.0+) |
Groovy | Apache | Used to enable execution of dynamic code e.g. with MongoDB reports. (ART 3.0+) |
groovy-sandbox | MIT | Provides security for running groovy scripts. (ART 3.0+) |
Firebird JDBC driver | LGPL | JDBC driver for Firebird. (ART 3.0+) |
MonetDB JDBC driver | MPL | JDBC driver for MonetDB. (ART 3.0+) |
Informix JDBC driver | Custom | JDBC driver for Informix. (ART 3.0+) |
Cassandra JDBC wrapper | Apache | JDBC wrapper for the Datastax Java Driver for Cassandra. (ART 3.0+) |
Neo4j JDBC driver | Apache | JDBC driver for Neo4j. (ART 3.0+) |
moment-jdateformatparser | MIT | Converts java.text.SimpleDateFormat date formats for date/datetime parameters to moment.js date formats used by eonasdan date picker. (ART 3.0+) |
Apache Tika | Apache | Determine the mime type of a file. (ART 3.0+) |
JSch | BSD style | Provides SFTP functionality. (ART 3.0.1+) |
Jackcess Encrypt | Apache | Enable reporting from password protected MS Access files. (ART 3.1+) |
PDFBox | Apache | Used to set passwords on pdf files. (ART 3.1+) |
Bouncy Castle | MIT | Required in order to set passwords on pdf files. (ART 3.1+) |
AES Crypt | Apache | Enables encrypting of reports using the AES Crypt file format. (ART 3.1+) |
JPGPJ | MIT | Enables encrypting of reports using OpenPGP. (ART 3.1+) |
Autosize | MIT | Enable autogrow of form input that can take short or much longer text. (ART 3.1+) |
cron-parser | MIT | Provide description for main schedule when editing a job or schedule. (ART 3.1+) |
SMBJ | Apache | Allows for copying of files to (SMB2) networks shares. (ART 3.1+) |
jclouds | Apache | Enables copying of files to cloud blob storage e.g. Amazon S3. (ART 3.1+) |
Sardine | Apache | Allow for copying of files to WebDAV servers. (ART 3.1+) |
Velocity Tools | Apache | Provide classes for formatting numbers and dates in XDocReport reports that use velocity syntax. (ART 3.1+) |
Velocity Engine | Apache | Provides the velocity report type. (ART 3.2+) |
OrgChart | MIT | Provides OrgChart report types. (ART 3.2+) |
JSON Loop | MIT | Enables OrgChart: Database report type. (ART 3.2+) |
html2canvas | MIT | Required for OrgChart export. (ART 3.2+) |
ES-6 Promise | MIT | Required for OrgChart export in IE browser. (ART 3.2+) |
jsPDF | MIT | Required for OrgChart pdf export. (ART 3.2+) |
Whisper | Apache | Provides for suppression of duplicate error message emails when using error notification. (ART 3.2+) |
Jaspersoft MongoDB Connecor | EPL 1.0 | Enable jasper reports to report from MongoDB datasources. (ART 3.2+) |
AWS Java SDK For Amazon S3 | Apache | Enables copying of files to Amazon S3 storage. (ART 3.2+) |
ReportEngine | Apache | Provides ReportEngine report types. (ART 3.3+) |
jackson-dataformat-xml | Apache | Provides representation of REST API call results as XML. (ART 3.4+) |
Woodstox | Apache | Used by jackson-dataformat-xml. (ART 3.4+) |
JJWT | Apache | Provides for REST API authentication using JWT tokens. (ART 3.4+) |
Date Range Picker | MIT | Enables date range parameter type. (ART 3.5+) |
plotly.js | MIT | Provides Plotly.js report type. (ART 3.5+) |
Dozer | Apache | Used to make copies of objects. (ART 3.6+) |
ZeroTurnaround Zip Library | Apache | Used in zipping/unzipping files. (ART 3.7+) |
Cloning | Apache | Used to make copies of objects. (ART 3.8+) |
Snowflake JDBC driver | Apache | JDBC driver for Snowflake. (ART 3.10+) |
Synapticloop Backblaze B2 Java API | MIT | Enables copying of files to Backblaze B2 storage. (ART 3.11+) |
Inputmask | MIT | Enables use of masks for parameters. (ART 3.11+) |
Presto JDBC driver | Apache | JDBC driver for Presto. (ART 4.0+) |
kdb+ JDBC driver | Apache | JDBC driver for kdb+. (ART 4.0+) |
kdb+ Java client | Apache | Java client/api for kdb+. (ART 4.0+) |
InfluxDB Java client | MIT | Allow querying of InfluxDB databases. (ART 4.0+) |
DataStax Java Driver for Apache Cassandra | Apache | Allows querying of Cassandra databases. (ART 4.0+) |
Bootstrap Dropdown Hover | Apache | Allows opening of dropdown menus on hover. (ART 4.0+) |
jQuery QueryBuilder | MIT | Enables self service reports functionality. (ART 4.1+) |
Multiselect | MIT | Enables self service reports functionality. (ART 4.1+) |
itfsw QueryBuilder | Apache | Enables self service reports functionality. (ART 4.1+) |
jackson-dataformat-csv | Apache | Enables import/export of records to csv. (ART 4.4+) |
jcifs-ng | LGPL 2.1 | Provides windows domain authentication. (ART 4.5+) |
Apache Calcite | Apache | Provides JDBC driver for JSON files, MongoDB. (ART 4.9+) |
Starschema BigQuery JDBC driver | BSD | JDBC driver for Google BigQuery. (ART 5.0+) |
Liquibase | Apache | Enables automatic database upgrades. (ART 5.1+) |
liquibase-slf4j | MIT | Helps with liquibase logging. (ART 5.1+) |
AwesomeChartJs | Apache | Provides the AwesomeChartJs report type. (ART 5.4+) |
ApexCharts.js | MIT | Provides the ApexCharts.js report type. (ART 5.4+) |
Springfox | Apache | Enables having REST API documentation. (ART 5.8+) |
jqPlot | MIT or GPLv2 | Provides the jqPlot report type. (ART 5.8+) |
bootstrap-rtl | Public Domain | Enable RTL display. (ART 5.18+) |
Oracle JDBC driver | Oracle Free Use Terms and Conditions | JDBC driver for Oracle database. (ART 5.20+) |
Db2 JDBC driver | Custom | JDBC driver for Db2. (ART 5.22+) |
Mustache.js | MIT | Create templates in html code. (ART 5.22+) |
northwind-SQLite3 | MIT | Sample Northwind SQLite Database. (ART 5.26+) |
ZXing | Apache | Support for barcodes in jasperreports. (ART 6.0+) |
DynamicJasper | LGPL 3.0 | Provides the DynamicJasper report type. (ART 6.1+) |
timeago | MIT | Enables updating of timeago references. (ART 7.0+) |
jackson-antpathfilter | Apache | Help in getting object changes. (ART 7.0+) |
Kryo | BSD | Used to clone objects. (ART 7.12+) |
ScribeJava | MIT | Used to provide oauth authentication. (ART 7.13+) |
java-jwt | MIT | Parsing jwt tokens. (ART 7.13+) |
Angus Mail | EPL 2.0 | Provide emailing. (ART 8.0+) |
Discussion: Query on iText License/Copyright
Discussion: Query on iText License/Copyright
Discussion: ART plans and future
Wiki: Home