May 8, 2009
Introduction
Although Fedora 3.2 is a minor release, we hope that you will find its included features and fixes a major boon to your repository installation. With the help of the Fedora community in identifying defects, contributing patches, and providing valuable input in driving the direction of new development, this release is a reflection of the dedication of many hands.
Included within is the long-awaited, web-based administrative client, initial integration with the emerging Akubra storage-abstraction layer, many useful bug fixes, and the experimental release of a Fedora decoupled from the familiar 'fedora' context path.
Take it for a spin, and make sure you keep the feedback coming.
New Features and Enhancements
The following features and enhancements have been included in this release:
- The enhancements below introduce a web-based repository adminstrative client. Although the legacy java-swing client is still included in the release, this represents an initial move towards its deprecation. These enhancements also include updates to the REST API to support the new administrative client, including turning the REST API on by default.
- FCREPO-391: Update the REST API to support the new Administrative Client
- FCREPO-402: Web-Accessible Administrative Client
- FCREPO-412: Provide state and format uri info via REST API
- FCREPO-463: Pull the REST API code into trunk
- FCREPO-101: Akubra Integration
This is the initial integration with the Akubra abstraction of the underlying storage layer. It is available as an optional LLStore plugin. Please see the new guide on Configuring Low Level Storagefor more information.
- FCREPO-116: Derby Replaces Mckoi as Bundled Database
To facilitate quickly standing-up a functional Fedora instance, the installation comes with a bundled database. As of release-3.2, Mckoi has been supplanted by Derby in serving this purpose.
- FCREPO-380: Remove demo objects that depend on UVA servers
Several services required by demo objects have historically been hosted at UVA. Since UVA will no longer be hosting, this enhancement removes the affected demo objects from the Fedora distribution.
- FCREPO-399: Test scripts to support automated functional testing
This infrastructure enhancement lays the foundation for having continous integration testing performed on the source-code on every check-in event; ultimately providing higher confidence in responsive updates by ensuring functional stability.
- FCREPO-400: Attempt to run disseminations even if a "required" datastream is unavailable
This enhancement relaxes the referential integrity enforced between a dsInputSpec and datastreams defined by its binding rules. As all datastreams are not necessarily required for a particular dissemination, with this enhancement the absence of a needed datastream is now postponed until the runtime execution of the DisseminationService.
- FCREPO-469: Add ConfigQ test that runs vs. Quick Install
This enhancement assists new Fedora users in 'kicking the tires' of an out-of-the-box, quick install. Once a quick installation has been run, the ConfigQ test suite should be run to verify the basic integrity of the installation.
- The enhancements below represent refactoring and cleanup in keeping apace with the evolution of the Fedora repository and its supporting dependencies.
- FCREPO-135: Default disseminator policy no longer required
- FCREPO-167: Refactor of BatchModifyParser
- FCREPO-416: Remove explicit GC from ingest process
- FCREPO-418: Switch to commons-fileupload for handling uploads
- FCREPO-419: Standardize on commons-codec for Base64 handling
- FCREPO-484: Update Mulgara to 2.1.1
Bug Fixes
The following bugs have been fixed for this release:
- FCREPO-58: Invalid POLICY datastreams make objects inaccessible
This fix addresses the issue where malformed 'policy' datastreams that are themselves invalid against the schema are ingested with the object. As a result, when the object was to be accessed, schema-validation failure caused by the 'policy' datastream would render the object inaccessible. Now schema validation is performed at ingest to prevent the malformed 'policy' datastream from entering the repository.
- FCREPO-62: Fix soap/axis error detail
Not to get too excited, this bug has not been addressed. This item is closed as a duplicate of the outstanding fcrepo-52.
- FCREPO-86: Authentication error with fedora-find command-line utility
This fix adds username/password parameters to the fedora-find command-line utility.
- FCREPO-172: FieldSearch not releasing connection w/one result
This fix ensures that database connections are released when all results have been returned. This issue was an edge-case where the connection was not releasing when the resultset contained a single entry.
- FCREPO-228: Batch Modify Parser mangles some input XML
This fix ensures any well-formed inline XML, regardless of how namespaces are declared, arrives to Fedora in the same way it was given in the batch modify directives file without changing where namespaces are declared.
- FCREPO-376: Text at end of install process needs update to point to online docs
This fix updates text displayed while running the Fedora installer.
- FCREPO-379: 3.1 Source dist installer target fails
This fix addresses the issue of the build.xml being dependent on the existence of an .svn directory (which may not be present if the source is not downloaded from subversion).
- FCREPO-381: ClassNotFoundException with remote instance of Mulgara
This bug falls out with the upgrade to Mulgara 2.1.1 noted above in fcrepo-484.
- FCREPO-387: ConnectionPool validation tests don't run
This fix exposes the 'validationQuery' configuration element of DBCP through Fedora's ConnectionPool wrapper. With this set, errant 500 errors are now avoided when connections to the database become invalid.
- FCREPO-389: LDAP Filter falsely reports ""deferring to super"" init message as error
This fix removes an innocuous developer debug statement.
- FCREPO-390: REST API - NullPointerException on modifyDatastream
This fix ensures that 'mediaType' is not dereferenced when calling modifyDatastream() if it is not set (as is sometimes the case through the REST API).
- FCREPO-393: Authentication caching intermittently fails
This fix addresses the issue where Fedora connections were being dropped during extended ingests when the EnforceAuthnFilter was in the filter chain. A password that was not being repopulated after the CacheElement's expiration now is.
- FCREPO-395: Migration: Analyzer and Generator ClassNotFoundException
This fix adds necessary dependency jars to migration utilities.
- FCREPO-407: 404 ""Not found"" page never shown - generates an error
This fix corrects an undetected null condition in notfound-404.jsp.
- FCREPO-409: MySQL error on shutdown
This fix was prompted by an error in Tomcat logs indicating an illegal state during JDBC connection cleanup while shutting down a Fedora server using MySQL. Although the error was not consistently reproducible, this update implements a more responsible ConnectionPool closing approach.
- FCREPO-410: REST API reads datastreams into heap
This fix leverages commons-fileupload to handle the processing of large files (tested up to 1GB) with PipedStreams and MultipartDataStream instead of loading the content's entirety onto the heap.
- FCREPO-420: FOXML export fails with base64 inline content
This bug is addressed with a workaround that provides for the correction of base64-encoded, inline content that has been exported with the 'archive' profile.
- FCREPO-448: Oracle DDLConverter: Create non-primary-key indexes
This fix modifies the OracleDDLConverter to correctly interprete the dbspec by creating indexes on specified fields beyond the primary keys.
- FCREPO-458: ArrayIndexOutOfBounds when indexDCFields=false
This fix addresses a logic bug that was triggered during the indexing of modified objects when fedora.fcfg:indexDCFields element was set to 'false'.
- FCREPO-459: Wrong RELS-EXT datastream attributes set with add/purgeRelationship
This fix corrects the behavior of setting the mimeType and datastream version date during RELS-EXT relationship adds/updates.
- FCREPO-460: SwingAdmin shows blank ingest/export dialogs in Linux
This is a minor fix to the rendering of a panel on the java-swing administrative client that previously showed up blank on a Ubuntu8.10/java5 platforms.
- FCREPO-466: Shell scripts don't properly pass through args with spaces
This fix updates the commandline utility scripts to handle multi-element, quoted arguments as well as wildcard (*, ?, etc...) arguments.
- FCREPO-475: Self-signed SSL cert has expired
This fix replaces the expired SSL cert used by Tomcat with a new one.
- FCREPO-482: REST API Search will not return format column
This fix, which was actually resolved by the effort of fcrepo-391,addresses the bug of the 'format' query parameter colliding with the 'format' element of the method response. The resolution retains the use of 'format' as the query parameter for DC values.
- FCREPO-486: References to in-fedora resources don't work properly in alternate app server contexts
This fix was an iteration in the effort to complete the task of supporting alternate webapp context paths mentioned above.
Known Issues
Please see the this link for an up-to-date list of outstanding bugs.
Previous Release Notes
All release notes for Fedora 3.x and 2.x can be found here.
Copyright © 2009 DuraSpace
Copyright © 2008-2009 Fedora Commons, Inc.
Copyright © 2002-2007 The Rector and Visitors of the University of Virginia and Cornell University