Release notes 4.0

19 February 2010

Summary

This release is focused on helping administrators control and audit the use of the SQL macros.

Compatibility

Confluence 2.9 and above. Release 4.0.0 may work on earlier versions of Confluence, but it is not supported on earlier versions and requires the server be running JVM 1.5 or above. Later releases of SQL for Confluence will be targeted for Confluence 3.1 and above and will not work on earlier versions of Confluence.

Highlights of SQL for Confluence 4.0

Limit rows processed

A global configuration setting has been added that gives the administrator the ability to limit the number of rows that will be processed by sql macros. When configured, this can prevent excessive resource use by poorly constructed queries that return too many rows.

In addition, a new limit parameter has been added to control the number of rows displayed on an individual sql macro. The sql macro will only process and display rows up to the limit specified. Normally, the value will have to be less than the global configuration setting. Using macro security, the administrator can permit a higher value for the limit parameter to authorized users. This allows the administrator to control exception cases where a higher number of rows is expected.

Log SQL statements

Administrators can optionally log all SQL statements used in sql macros. This option is enabled by adding configuration in the ../WEB-INF/classes/log4j.properties file. In addition, warnings are issued when the default row limit is exceeded.

Use logging when establishing or lowering row limit

Setting or lowering the row limit in an installation may cause a few existing SQL queries to show only the limited number of rows. Use logging to track usage that exceeds the limit. Investigate queries that exceed the default limit for correctness. If correct, use the limit parameter to prevent further warnings.

Example

# SQL statement logging
log4j.appender.sqlplugin=org.apache.log4j.RollingFileAppender
log4j.appender.sqlplugin.File=${catalina.home}/home/logs/sql-plugin.log
log4j.appender.sqlplugin.Threshold=INFO
log4j.appender.sqlplugin.MaxFileSize=20480KB
log4j.appender.sqlplugin.MaxBackupIndex=10
log4j.appender.sqlplugin.layout=com.atlassian.confluence.util.PatternLayoutWithContext
log4j.appender.sqlplugin.layout.ConversionPattern=%d %p %m%n

log4j.logger.org.swift.confluence.sql.SqlMacro.statement=INFO, sqlplugin
log4j.additivity.org.swift.confluence.sql.SqlMacro.statement=false

log4j.logger.org.swift.confluence.sql.SqlQueryMacro.statement=INFO, sqlplugin
log4j.additivity.org.swift.confluence.sql.SqlQueryMacro.statement=false

Additivity

Setting additivity to false prevents sql being logged to your main confluence log.

Macro browser support

Users with Confluence 3.0 and above can use the Confluence macro browser to prompt for sql macros.


i18n support

  • Allow for translation of default parameter settings and macro browser information

Translation help requested

If anyone can contribute new or improved translations, they can be incorporated into the deliverable. Only a few phrases are required for a minimal translation. For examples, unzip the jar and look in the i18n directory.

Other improvements

  • noDataMessage parameter to allow a message to be displayed when the sql does not return any rows.

Resolved issues

T Key Summary Reporter Assignee P Status
Loading...
Refresh