2.13 2.0-RC to 2.0 upgrade
2.13.1 Changes since 2.0-RC
This is a list of all changes which happened since the 2.0-RC release (which is a bit more than expected).
- Further work on tanuki wrapper scripts.
- Updated external-include-rules.xml to handle the now-default case of not having "/daisy" in the mount point anymore.
- Some changes to the ActiveMQ configuration to better survive cases where lots of messages get added in a short time.
- ActiveMQ configuration: disabled the use of prepared statement pooling in the database connection pool configuration. This fixes the problem with ActiveMQ using dozens of MySQL connections (which was also the reason for ActiveMQ shutting down automatically). Also removed the extra connection pool config since ActiveMQ never seems to use more than 2 connections now.
- Adjust Document.getVariantKey() behaviour in case document has not yet been saved: simply return null instead of causing an exception, this is consistent with the behaviour of Document.getId().
- Fixing broken error handling in the part-content inclusion code of the publisher: this should insert an error message when the content fails to be included (e.g. because of XML parsing error) but was throwing an exception instead.
- Fix some cases where background work-threads might hang on shutdown and improve logging of this. Interrupt running document tasks on shutdown.
- Fixed two bugs in the backup locker:
- process suspension and resumption should be executed by the same thread, since they are implemented using reentrant locks.
- if unlock is called as part of lock to unlock the processes locked so far in case an error occurs, make sure to only unlock processes which have really been locked.
- Set Dojo locale in layout.xsl
- Avoid some possible deadlocks on MySQL in case of concurrency (one on the locks table and one on the summaries table).
- Added an ehcache configuration file for the jBPM hibernate cache. This avoids the default behaviour, which includes persistent caches, and causes one thread per cache to be started (37 threads). Upgraded to ehcache 1.2.4.
- Added updated Dutch translation.
- Fulltext index:
- fixed some locking / resource management issues (related to opening/closing of the IndexReader).
- upgraded to Lucene 2.1
- Lucene 2.1 allows to delete an index entry through the IndexWriter, seriously improving performance, since before deleting could only be done through an IndexReader, and it was impossible to have both a modifying-reader and an IndexWriter open on the same index at the same time, requiring opening-closing of these all the time.
- Related to the previous item, the index writer is now flushed by a background thread at a configurable interval (default 5 seconds), instead of at each document, further improving the fulltext indexing performance.
- On shutdown, unregister listeners from JMS, to avoid (not really harmful but untidy) errors.
- EmailNotifier: the JMS listener was registered too early, causing errors if messages are getting delivered before all required initialization was done.
- Various bugfixes and cleanup in JmsClientImpl.
- Upgraded to PDFBox 0.7.3. This fixes problems with endless loops on certain PDF files.
- Full text index updater:
- Show the document from which text is being extracted through a JMX attribute. This is useful to see if the textextraction keeps hanging on a document.
- Perform reindex requests in a background thread. This avoids that this JMX call keeps hanging for quite a while on larger repositories. The progress is visible through a JMX attribute. Starting a reindex operation while one is still running is now prohibited.
- When reindexing, make use of JMS transactions to improve performance of pushing out entries to the fulltext job queue (happens now in batches of 500 messages).
- Handle hierarchical fields in text extraction.
- Embedding a query which select an XML value (such as FullTextFragment()) in a document caused an extra empty cell, distorting the table layout.
- repository-server-init now checks the user-specified ActiveMQ database exists.
- Loading include previews in the editor failed when there were lots of includes.
- The Daisy Wiki now uses <wikidata dir>/tmp as temporary directory, avoiding problems caused by automatic cleanup of the tmp directory on some operating systems.
- Create variant screen failed if the document contained images.
- HTML editor: before switching block element type, collapse the selection, if any. This avoids errors of the kind "Abnormal situation: no <p> found."
- Fixed non-working IsLinked() and IsNotLinked() query language constructs.
- Fixed problem with the rendering of the navigation tree on IE6 (special thanks to Helma van der Linden)
- Renamed the "Page actions" menu to simply "Actions" (it are actions related to the current webpage, but the actions apply to the current subject, e.g. a document, so the label "Page" was found confusing)
Previous