Skip to content

v4.8.5

Compare
Choose a tag to compare
@kcondon kcondon released this 17 Jan 22:20
· 18710 commits to master since this release
64cb1ef

This release fixes issues with IP Groups and Guestbook. It improves the Download All behavior and introduces an experimental backup to secondary storage utility. It also supports AWS IAM role and multiple regions. Other changes support future functionality.

  • IP Group access permissions were not activated.
  • Guestbook entry form validation was not working and overwriting prepopulated field values were not being saved.
  • Download All check box now downloads all files, regardless of scroll bar position.
  • An experimental backup to secondary storage utility is provided.
  • A docker container with a standalone Dataverse instance is provided to support automatic integration tests.
  • Support for AWS IAM role for S3 driver and multiple regions.
  • Modular Configure
  • Some infrastucture to support differential privacy.

For the complete list of issues, see the 4.8.5 milestone in Github.

For help with upgrading, installing, or general questions please email support@dataverse.harvard.edu.

Installation:

If this is a new installation, please see our Installation Guide.

Upgrade:

If you are upgrading from v4.x, you must upgrade to each intermediate version before installing this version. When upgrading from the previous version, you will need to do the following:

  1. Undeploy the previous version.
    • /glassfish4/bin/asadmin list-applications
    • /glassfish4/bin/asadmin undeploy dataverse
  2. Stop glassfish and remove the generated directory, start
    • service glassfish stop
    • remove the generated directory: rm -rf /usr/local/glassfish4/glassfish/domains/domain1/generated
    • service glassfish start
  3. Deploy this version.
    • /glassfish4/bin/asadmin deploy dataverse-4.8.5.war
  4. Restart glassfish

If you are upgrading from v3.x, you will need to perform a migration to v4.x since our application was redesigned and the database schema are completely different. This is a significant undertaking. Please contact us (support at dataverse.org) before beginning. Also refer to our migration google group for additional support and information: https://groups.google.com/forum/#!forum/dataverse-migration-wg

IMPORTANT: If you are running TwoRavens with your dataverse:
Make sure the two applications are using the same version of the "pre-processed statistics" R code. Compare the 2 files:
On the TwoRavens side:
.../dataexplore/rook/preprocess/preprocess.R
On the Dataverse side:
.../applications/dataverse-4.8.3/WEB-INF/classes/edu/harvard/iq/dataverse/rserve/scripts/preprocess.R

If they are different, replace the Dataverse copy with the TwoRavens copy (i.e., the TwoRavens version wins!).
And, also, remove all the already-generated pre-processed fragments in your Dataverse file directory, for example:

cd [files directory]
rm -f `find . -name '*.prep'`

If the two copies are the same, you don't need to do any of this.
Please note that this is a temporary measure, we are working on a fix that will make the two applications resolve code version conflicts like this automatically.

TROUBLESHOOTING NOTE:

Potential issue with the PostgreSQL JDBC driver version incompatibility causing the Dataverse timer to malfunction.

Dataverse uses the EJB timer perform scheduled tasks: harvesting from remote servers and keeping the local OAI sets and metadata expor
ts updated. We've discovered that this timer may stop working if the version of the JDBC driver used by Glassfish is no longer in sync
with the version of the PostgreSQL database. The symptoms: if your scheduled harvests are no longer running and there are error messa
ges in the server.log with the following lines in them:

Internal Exception: java.io.StreamCorruptedException: invalid stream header ...
Exception Description: Could not deserialize object from byte array ...

it most likely means that your JDBC driver needs to be upgraded. For example, if you are running the version 9.3 of PostgresQL, make s
ure you have the driver postgresql-9.3-1104.jdbc4.jar in your /glassfish/lib directory. The correct version of the d
river for your version of PostgreSQL can be found at https://jdbc.postgresql.org/download.html. If you have an older driver in glassf
ish/lib, stop Glassfish, remove the old driver and replace it with the new version. We recommend that you remove the entire contents o
f /glassfish/domains/domain1/generated/ before starting Glassfish again.