Skip to content

Releases: PecanProject/bety

BETYdb 4.8

03 May 17:37
Compare
Choose a tag to compare

Added new site-grouping features. Minor bug fixes and upgrades. Ruby 2.1 or greater is now required.

Changes Pertinent to PEcAn Users

Administrators need to do a database migration.

See "Database Changes" below.

Summary of Changes

New Features

Grouping of Sites

This release of BETY now allows the user to create a grouping of sites. The user can make this grouping publicly accessible or make it private for the user only. The grouping can be used in the BETYdb web interface to quickly get to sites of interest, or in the PEcAn interface to show only those sites the user is interested in.

Upgrade to RSpec 3

The version of RSpec that we use for testing has been upgraded from version 2.14 to version 3.4. This shouldn't affect end users, but developers will now be able to use the latest version of RSpec when writing new tests.

Other Notable Changes

Ruby Versions and Travis

Although Ruby 2.1.5 is the Ruby version "officially" supported by BETYdb, up until recently, BETYdb would run with versions 1.9.3 and 2.0. This is no longer the case.

Since tests will now fail under both Ruby 1.9.3 and 2.0.0, these version have been removed from the set of versions run by Travis (our automated testing service). Travis instead now runs tests under the following Ruby versions: 2.1.5 (the "official" version), 2.1.8, 2.2.4, and 2.3.0.

Although users are strongly encouraged to upgrade Ruby to at least version 2.1, users who still want to run BETYdb under older versions may be able to do so for the time being by making certain changes to their code. If you are a user who wishes to do this, please contact BETYdb support.

Bug Fixes

GitHub issues #386 and #387

An issue arose with bulk uploads when a trait or covariate variable was used that had a maximum value set to +Infinity (GH issue #386). This was because the code would treat such values as being zero, so that no positive value was acceptable (GH issue #387). (A minimum value of -Infinity was also treated as zero, making negative values unacceptable as well.) This has been fixed.

Problems with Travis and Database Migrations

A problem with Travis (an automated test-running service) used to occur when a database migration was committed. If any test code depended on the migration, the test would fail until the file db/production_structure.sql was updated. Even worse, if a test fixture depended on the migration, the test setup would fail and no tests at all would run. Since db/production_structures.sql is updated only upon deployment of new code to www.betydb.org, this meant that Travis tests would fail from the time the migration was first committed to GitHub until the time of deployment.

Now Travis uses the (new) file test_structure.sql. This file should be regenerated and the update should be added to the GitHub repository each time a new migration is added.

Steps Needed for Upgrade

Database Changes (if applicable)

Administrators need to do database migrations!

There is one migration, which adds the sitegroups table and an associated join table.

The database version for this release is 20160412030352.

Gem Installation

Administrators need to run the bundler to update versions of some of the Ruby Gems.

Status of RSpec Tests

All tests continue to pass when run in the default environment and can be run using the command

    bundle exec rspec

As noted above, we are now using RSpec version 3.4.

Complete instructions for setting up the test database and running the RSpec tests are on the Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests

BETYdb 4.7

18 Apr 15:32
Compare
Choose a tag to compare

Upgrade of Rails and Enhancement of Documentation.

The Rails version we use has now been bumped up to version 3.2.22.2. This addresses certain security concerns. API version "v0" has been renamed to version "beta". The apipie Gem has been added, and code has been added to use this Gem to document the API and publish that documentation to <host>/<rails root path>/apipie. Finally, better documentation of the SchemaSpy database documentation feature has been added, and configuration settings may now be placed in the configuration file config/application.yml.

Summary of Changes

New Features

Configuration settings for SchemaSpy integrated with other configuration settings.

Configuration settings for building the SchemaSpy documentation of the BETYdb database schema may now be placed in the configuration file config/application.yml. Use of the configuration file lib/tasks/schemaSpyConfig.rb is deprecated. For more information, look at the comments in the file config/application.yml.template.

Apipie-rails Gem for API documentation

We now are using the apipie-rail gem to do inline documentation of the BETYdb APIs. Documentation is viewable at <host>/<rails root path>/apipie.

Steps Needed for Upgrade

Upgrading is straightforward:

  1. In your command-line terminal, cd to the root of your Rails installation.
  2. Do a git pull to get the latest code from GitHub.
  3. Run bundle install to install new Gems.
  4. Restart the Rails server (touch tmp/restart.txt if you are running under Apache).

Status of RSpec Tests

  • All tests continue to pass when run in the default environment and can be run using the command

    bundle exec rspec
    

Complete details for running the rspec tests are on the updated Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests.

Note that you will likely get deprecation warnings when you run the Rake tasks to set up the test database (or for that matter, any other Rake task).

BETYdb 4.6

30 Mar 22:12
Compare
Choose a tag to compare

DOI

Summary of Changes

New API and Use of Proper Datatypes

This release adds a new versioned API for adding new trait data and for querying most all data. It updates measurement and statistical data to use the proper datatypes and adds and modifies many features to make maintenance of BETYdb easier.

Administrators need to do a database migration.

See "Database Changes" below.

New API

A new API (version v0) has been added for obtaining data in both JSON and XML formats. The new API also supports insertion of new trait data (provided in either JSON or XML format), something not provided by previous APIs. Documentation of this API is forthcoming. (A brief introduction is given in some of the comments to GitHub issues #381 and terraref/computing-pipeline#52.)

New Features

Docker files for application packaging

Docker files have been added.

Travis

A Travis configuration file has been added in order to hook BETYdb into the Travis CI continuous integration service. This service will automatically run all of the non-Javascript based RSpec tests each time a new commit is pushed to GitHub.

New and Modified Rake Tasks

  • A new Rake task bety:db:populate has been added to make it easier for developers to get a new BETYdb instance up and running or to get a fresh copy of the BETYdb database. This is a wrapper for Pecan's load.bety.sh script and replaces the wrapper script update-betydb.sh for most use-cases relevant to the BETYdb developer.
  • db:test:load_structure has been modified to behave correctly when using the postgis adapter. It will now drop the test database if it exists and then recreate it and load the database schema defined by the *_structure.sql file corresponding to the current environment. This makes it easier to set up the test database for testing, even if the other databases have not been set up.
  • A description has been added for the Rake task db:test:clone_structure.
  • The task db:fixtures:load has been disabled for all but the test environment. This will help prevent data loss caused by inadvertently running it in the wrong environment.
  • The db:create task now only creates the database corresponding to the current environment. (When Rails.env was "development", it used to also create the test database. Though perhaps useful, this seemed counterintuitive.)

Bug Fixes

  • Some missing model associations have been added. This should facilitate getting useful information from related tables via an API call.
  • The script script/update-betydb.sh has been updated to make it consistend with the load.bety.sh script from the Pecan repository, for which it serves as a wrapper.
  • Some fixes have been made to the Add-SQL-Geometry Python script (script/buildSQLGeom.py).
  • A bug has been fixed in the header-normalization routine of the Bulk Upload wizard whereby any header (e.g. a trait name) containing the consecutive letters 'se' was getting capitalized. Now only the string 'se' itself is normalized (to 'SE'—Standard Error).

Steps Needed for Upgrade

Database Changes

Administrators need to do database migrations!

The migration ChangeNumericsToFloats changes the datatype of all columns that were previously arbitrary precision numbers of type NUMERIC(16, 4) into double precision floating-point types. The columns in question are those used to represent values of trait, covariate, and yield measurements and the values of associated statistics (and also the parameter columns in the priors table). This helps to make the number of significant digits recordable for a particular measurement independent of the unit used for recording the measurement. Moreover, as the PostgreSQL documentation points out, "arithmetic on numeric values is very slow compared ... to the floating-point types", so using floating-point types represents an improvement if computational features of SQL are to be used.

The database version for this release is 20160303221049.

Gem Installation

Administrators need to run the bundler to install new Ruby Gems related to the new API.

Status of RSpec Tests

  • All tests continue to pass when run in the default environment and can be run using the command

    bundle exec rspec
    
  • Pass/failure status of the latest commits to GitHub are now shown at https://travis-ci.org/PecanProject/bety. Only the non-JavaScript based tests are run by Travis. To check the others, run

    bundle exec rspec -t js
    

Complete details for running the rspec tests are on the updated Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests

BETYdb 4.5

19 Jan 19:56
Compare
Choose a tag to compare

Summary of Changes

This release implements a number of bug fixes and allows site managers to customize contact information for their site(s).

Administrators: Note important upgrade instructions below.

New Features

Customization

Site managers can now customize the contact information—the e-mail address and phone number—that appears in the footer of every page. This e-mail address is also used as an administrative contact e-mail address (additional to those found in the database's users table) for automatically-generated messages.

Bug Fixes

Partial Fix for Issue #332

For deployments where the URLs for the BETYdb site and the PEcAn site are http(s)://[Domain Name]/[bety path] and http(s)://[Domain Name]/pecan respectively, the "Results" links on the "Listing Workflows" pages should now work. (Note that bety path need not necessarily be the literal bety, but the PEcAn path must be pecan.)

Fix for Issue #355

It used to be that adding a new BETYdb user would result in an error if no administrative users (users with page_access_level = 1) had been added to the database because the application would attempt to send a sign-up notification e-mail to an empty list of administrators. The new contact information customization feature now ensures there is always at least one administrative e-mail address in the "To:" list, so this error will no longer occur.

Fix for Issue #362

The "CF Guidelines" link on the "New Variables" page should now work, even for sub-URI deployments. (Prior to this, the link only worked for root-path deployments such as https://www.betydb.org.)

Fix for Issue #373

Non-point sites used to give "NaN" as the altitude of the site because we return the coordinates of the centroid of the geometry for these sites, and the centroid is a 2-dimensional point. We now simply show the altitude as blank.

Partial Fix for Issue #374

Up until now, the BETYdb Web application only supported editing Point geometries. Moreover, updating a sites row via the Web app would silently convert non-Point geometries to Point geometries using the centroid function even if only fields unrelated to the geometry (or no fields at all) were updated!

This fix prevents the Web app from changing the geometry data of non-point sites in order to prevent data loss.

Fix for Issue #377

Existing users can now request changes to their own access levels.

Steps Needed for Upgrade

Custom Configuration

Once you have pulled the new code from GitHub and restarted your Rails server, the site should be up and running. But unless you create the new customization file config/application.yml, the footer of all pages will show bogus contact information in place of what has, up until now, been the hard-coded default (namely, phone number (217) 300-0266 and e-mail address betydb@gmail.com). Even more importantly, unless you have been using 'thisisnotasecret' as the value of REST_AUTH_SITE_KEY in the config initializer file config/initializers/site_keys.rb, none of your users will be able to log in.

To address these issues, you must create an appropriate YAML config file. Here are step-by-step instructions for doing so:

  1. cd to the Rails root directory.

  2. Copy the default configuration file to application.yml:

    cp config/defaults.yml config/application.yml
    

    Do a copy, not a move! You want to keep defaults.yml as is. (For more elaborate set-ups having per-environment configuration values, you may want to copy config/application.yml.template instead. These instructions are for the simplest case.)

  3. Edit the string values for admin_phone and admin_email to the appropriate ones for your site.

  4. Open config/initializers/site_keys.rb and find the value for REST_AUTH_SITE_KEY. If it is anything other than 'thisisnotasecret', copy the value and use it as the value of rest_auth_site_key in application.yml. Otherwise, simply delete (or comment out) the line in application.yml that sets rest_auth_site_key.

  5. You now no longer need the file config/initializers/site_keys.yml, but don't delete it just yet! We want to be sure the site is working first: in case you mis-copied the site key value, we don't want the correct value to be lost forever. Instead, rename it:

    mv config/initializers/site_keys.rb config/initializers/site_keys.rb-disable
    

    Now the application will use and only use the value set in the application.yml file (or the value in defaults.yml if you aren't overriding the default value).

  6. Restart your Rails server. If you are using PhusionPassenger with Apache, you can just do

    touch tmp/restart.txt
    
  7. Go to your site page. You should see your custom contact information in the footer. If you still see the old hard-coded values ((217) 300-0266 and e-mail address betydb@gmail.com), you may not have actually restarted the server.

  8. Log out if you aren't already and then try logging in as any user. If you were able to log in, and you are sure that you actually did restart the server, it is now safe to delete config/initializers/site_keys.rb (which you renamed to config/initializers/site_keys.rb-disable above).

Status of RSpec Tests

  • There are now 246 RSpec tests that don't involve Javascript. These pass consistently, and may be run with the command

    bundle exec rspec -t ~js
    
  • There are 28 RSpec tests that involve Javascript. Most of these pass consistently, but occassionally one of these tests will fail intermittently. (This may be a timing-related issue.) These tests may be run with the command

    bundle exec rspec -t js
    

If one of these tests fails, the output will show the command needed to re-run the failing test. (If you aren't using RVM, you may need to prefix the command shown with bundle exec.) Often, the test will pass on a second try.

(Complete details for running the RSpec tests are on the Wiki pages at https://github.com/PecanProject/bety/wiki/Automated-Tests .)

BETYdb 4.4 now with access to twice as much data

14 Oct 22:14
Compare
Choose a tag to compare

DOI

Summary of Changes

This release implements a number of long-standing requests for changes to database tables, implements some new features, and fixes several bugs.

Administrators need to do a database migration. See "Database Changes" below.

Access to 'unchecked' data through web interface and API

Data are marked as 'unchecked' when they are first entered, and marked 'checked' after they have been independently compared to their source. QAQC is an ongoing effort, but most of the data are valid, so we have decided to make all unchecked data available. Previously, only checked data were available. Data flagged as incorrect are still marked as such and are are only accessible to administrators and data managers.

Unchecked data have previously been available to PEcAn users.

QAQC is a community effort - please report incorrect data as well as any data that you use and compare with an original publication or source of data, or another database / independent review.

New BETYdb chat room on Gitter

Join the chat at https://gitter.im/PecanProject/bety

New Features

New Workflow Attributes

The Workflows model now includes a "notes" attribute and a link to the users table.

Advanced Search Option to View Unchecked Traits and Yields

The Advanced Search page now includes a check-box for optionally including unchecked data in the search results.

Link to New Gitter Chat Page

We're now on Gitter. A link to the Gitter chat page has been added to the footer. Just like the one above).

Option to Log Rake Tasks to STDOUT

The new log rake task can be used to redirect logging of subsequent tasks in the command-line task list to standard output. This is particularly useful when running migrations: By running the migration as

rake log db:migrate

the user can easily see what SQL commands were used to effect the migration.

Steps Needed for Upgrade

Database Changes (if applicable)

Administrators need to do database migrations!

There are three migrations associated with this release:

  1. The first alters the view traits_and_yields_view so that unchecked rows are included.
  2. The second adds new attributes notes and user_id (along with a foreign-key constraint for the latter) to the workflows table.
  3. The third removes the dataformat attribute from the formats table.

The database version for this release is 20151914182146.

Status of RSpec Tests

  • There are now 246 RSpec tests that don't involve Javascript. These pass consistently, and may be run with the command

    bundle exec rspec -t ~js
    
  • There are 28 RSpec tests that involve Javascript. Most of these pass consistently, but occassionally one of these tests will fail intermittently. (This may be a timing-related issue.) These tests may be run with the command

    bundle exec rspec -t js
    

If one of these tests fails, the output will show the command needed to re-run the failing test. Often, the test will pass on a second try.

(Complete details for running the rspec tests are on the Wiki pages at https://github.com/PecanProject/bety/wiki/Automated-Tests .)

Bug Fixes

Fixed Typo in Mangements List

A typo in the management types list prevented fertilizer_other_rate and fungicide from appearing in the selection drop-down for choosing a management type in the New and Edit Management pages. This has been fixed.

Edit Species Displays Errors Properly

A validation error when attempting to edit a species was causing the "We're sorry, but something went wrong" page to be displayed. Now the user is correctly returned to the Edit page with a displayed list of validation errors.

Searching Formats Fixed

Searches on the "Listing Formats" were broken when the mime_type column in the formats table was replaced by a key into the mimetypes table. This has been fixed.

Show Pages for Runs Fixed

The show pages for runs was broken when the start_date and end_date columns were removed from the runs table. This has been fixed.

BETYdb 4.3.1

11 Sep 20:13
Compare
Choose a tag to compare

DOI

This is a bug-fix release fixing a problem whereby inputs couldn't be created or edited if any format whatsoever lacked a mimetype. Also, in some cases, the list of inputs and/or the list of formats couldn't be displayed, and the show page for a format lacking a mimetype could not be displayed.

BETYdb 4.3

09 Sep 20:27
Compare
Choose a tag to compare

DOI

This release implements some long-standing requested database changes, replaces awkward selection boxes used in some forms with autocompletion-enabled fields, and fixes some bugs with cloning of PFTs and generation of Priors images.

The primary motivation for this release was to implement a long-standing request to eliminate some unneeded database tables and columns (and the Rails machinery associated with them), replace the formats.mime_type column with a foreign-key column referencing the mimetypes table, and add some date and entity-related columns to the yields table similar to those that already exist in the traits table.

Along with this, several usability improvements and bug fixes have been implemented.

Changes Pertinent to PEcAn Users

Administrators need to do a database migration.

See "Database Changes" below.

Summary of Changes

New Features

Autocompletion fields

Several of the Web forms for creating new entities and editing existing ones contained very lengthy selection lists for choosing (for example) the variable associated with a trait or the list of priors associated with a pft. These have been replaced with autocompletion fields so that typing characters into the field filters the list of options down to only those options containing that sequence in (one of certain designated columns of) the entity being selected.

Bug Fixes

  • The update to Rails 2 broke the on-the-fly generation of images associated with Priors. This has been fixed.
  • Cloning of PFTs would fail in some cases because we have imposed stricter validation of species objects. (For example, when you create a new species, the scientificname must textually include both the Genus name and the species name.) Many existing species rows fail the validation requirements. For this reason, we have turned off validation of associated species when cloning a PFT.

Steps Needed for Upgrade

Database Changes

Administrators need to do database migrations!

There is one migration in this release. It removes the inputs_variables, location_yields, and counties tables. It removes the start_date and end_date columns from the runs table. It replaces the mime_type column in the formats table with mimetype_id, a foreign key referencing the mimetypes table. And it adds four columns to the yields table: entity_id, date_year, date_month, and date_day.

The database version for this release is 20150904184512.

Status of RSpec Tests

  • All tests non-Javascript based tests pass. These may be run with the command

    bundle exec rspec -t ~js
    
  • Most of the Javascript-based tests pass, but one of them seems to pass only intermittently.

The Javascript-based tests may be run with the command

 bundle exec rspec -t js

The test that sometimes fails begins at line 36 of the file spec/features/management_integration_spec.rb and may be run with the command

 bundle exec rspec ./spec/features/management_integration_spec.rb:36

It seems that the feature this test tests does in fact work, but an issue has been created to note the problem with this test.

Complete details for running the rspec tests are on the updated Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests

BETYdb 4.2.2

30 Jun 22:13
Compare
Choose a tag to compare

DOI

The is a minor release to tie up some loose ends, but it also contains one substantial new feature--a script for inserting new managements from data fed in from a CSV file.

The primary new feature of this release is a new script, script/insert_managements.rb, which turns a CSV file of management data into a file of SQL commands for inserting new managements and associated managements_treatments entries.

In addition, this release contains many refinements to the the bety:dbdocs rake task that produces the database schema documentation viewable within the BETYdb Rails application making it easier to use, and it removes from the Git repository the several files generated by this script. And it contains one minor bug fix.

Changes Pertinent to PEcAn Users (if applicable)

There are no migrations included in this script. Users who want to have a working copy of the database schema documentation, however, will have to generate the schema documentation with the new rake bety:dbdocs task since the (outdated!) files previously used have been removed from the Git repository.

Summary of Changes

New Features

Insert New Managements Script

The new script is called insert_managements.rb. Full instructions and documentation of its use may be had by running the command

bundle exec script/insert_managements --man

from the Rails root directory. (The bundle exec prefix is not necessary if using RVM.)

Refinements to the bety:dbdocs Rake Task

It is now possible to set the java command to use for generating the schema documentation in the task configuration file. If not set, it defaults to "java".

Bug Fixes

  • GH Issue #293: Pre-filled-in species name shouldn't disappear in Cultivar update form when a validation error occurs.

    This is now fixed.

Steps Needed for Upgrade

Database Changes

No database migrations are required.

The database version for this release is (still) 20150625184958.

Gem Installation

Administrators need to run the bundler to install the trollop Gem.

This Gem is required by the new insert_managements.rb script.

Status of RSpec Tests

  • All tests continue to pass when run in the default environment and can be run using the command

    bundle exec rspec
    

Complete details for running the rspec tests are on the updated Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests

BETYdb 4.2.1 Critical update to fix SQL constraints

25 Jun 20:13
Compare
Choose a tag to compare

DOI

This is a critical update to correct SQL functions; it also includes miscellaneous other changes.

The primary motivation for this release is to correct id-getting SQL functions that are being used to implement a distributed foreign-key constraint on the dbfiles table. Without this fix, non-EBI users will be unable to import data. A database migration corrects the problem functions.

Two other migrations are included: The first adds columns to the machines table having to do with data synchronization. The second implements default values on timestamp columns which historically have often been left as NULL.

Also included is a major feature addtion: the ability to generate and update database schema documentation using a rake task that runs SchemaSpy.

Changes Pertinent to PEcAn Users

Administrators need to do a database migration.

See "Database Changes" below.

Summary of Changes

New Features

Rake task to generate database schema documentation

Database schema documentation is viewable from the Rails app by selecting "Schema" in the "Docs" menu. But up until now, this documentation has not been kept up to date. Now, up-to-date documentation can be generated using the "rake bety:dbdocs" task.

Bug Fixes

  • The above-mentioned migration fixes a problem with SQL functions that would prevent users from importing data to their own copies of the BETYdb database (GH issue #327).
  • A long-standing error in the way the traits list page was displayed for users with "Viewer" status has been fixed (GH issue #299).

Steps Needed for Upgrade

Database Changes

Administrators need to do database migrations!

There are three migrations in this release (see descriptions above).

The database version for this release is 20150625184958.

Status of RSpec Tests

  • All tests continue to pass when run in the default environment and can be run using the command

    bundle exec rspec
    

Complete details for running the rspec tests are on the updated Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests

BETYdb 4.2 New Value Constraints

23 Jun 17:48
Compare
Choose a tag to compare

DOI

New value constraints for database tables and validations for corresponding models; new RSpec tests; several bug fixes.

Many new values constraints have been added to ensure database-integrity. Consistency checks have been added to the dbfiles table to ensure the referred-to containers exist. Restrictions on editing variables associated with traits or covariates that violate the range restriction for the variable value have been relaxed. Many bug fixes have been implemented.

Changes Pertinent to PEcAn Users

Administrators need to do a database migration.

See "Database Changes" below.

Summary of Changes

Implemented values constraints, both at the database level and and the Web user-interface (Rails app) level

The addition of value constraints is a major step toward helping to ensure data-integrity. It should no longer be possible, for example, to enter a site with a longitude value of 2000 (which has happened!) or genuses that aren't capitalized. Not only will these constraints help prevent gross errors, they will also help standardize the set of allowable values. When used to constrain values in columns comprising a candiate key, this will make it less likely that duplicate rows for the same entity will occur. To give one example, a uniqueness constraint on species.scientificname will not by itself prevent the occurrence of two species rows that are identical except that the first has scientificname "Abies alba" and the second has scientificname "Abies alba ". Requiring values in this column to be "whitespace-normalized" (no leading or trailing space, no double-spaces) will prevent this sort of duplicate from occurring.

Implemented integrity constraints on references to inputs, models, and posteriors in dbfiles table

A row having container_type = 'Input' must have a value for container_id that matches the id column value of some row in the inputs table. Similarly for container types "Model" and "Posterior".

Allowing "lazier" approach to fixing variable range violations

It used to be a variable could not be edited if any trait or covariate row that referred to the variable had a variable value that violated the range restriction for the variable. One first had to fix all the range violations in the traits and/or covariates rows before the variable could be edited, even if the update only involved, say, changing the notes. Now the trigger that checks for range violations is only run when an attempt is made to change the value of the min or max attribute. Thus all other attributes are now freely editable, regardless of any range violations in associated rows.

Bug Fixes

Some of the fixes include:

  • Corrected text of mis-labelled buttons
  • Fix for issue #282: Can't create two new managements in a row for a given treatment.
  • Eliminated duplicate fields from New Species form
  • Fixed layout of Species and Covariate "Edit" pages (GH #280)
  • Fixed trait-search action used on Covariate "Edit" page
  • Eliminated vestigial obsolete code and routes
  • Restored the change-password checkbox to the edit-user page to make this page clearer and more user-friendly
  • Re-aligned and rearranged fields in species/show page (GH #135)
  • Restored some routes that were eliminated when wildcard routes were eliminated.
  • Corrected title for Machine "Show" page (GH #294)
  • Allow Managers to delete Yield records; also allow Creators to delete Yield records they themselves created (part of Redmine issue #2334)
  • Made treatments on Listing Treatments page sortable
  • Restyled Listing Treatments page to make it more readable, and added delete buttons to rows that user is allowed to delete (part of Redmine issue #2334)
  • Better error message when treatment is missing in bulk upload file (GH #287)
  • Better error message for violation of foreign key constraint (GH #306)
  • Fixed "CF Guidelines" link on Variables "Edit" page (GH #308)
  • Fixed Variable update form so that variable type can be updated (GH #309)
  • Fixed Management "Edit" page so that citation is not inadvertently changed (GH #313)
  • Fixed "map" links on Site listing page that were broken in certain deployment configurations and removed "map" link from "Show" pages (GH #305)
  • On "Edit" pages for traits and yields, preselect the current access level so that it isn't inadvertently changed (GH #302)
  • Fixed display of incorrect QA/QC values on yields listing page (part of GH #303)
  • Fixed bug in data access filter so that Views and Creators can once again see all records that they themselves created
  • Changed criteria for displaying the edit control for QA/QC values on the yields list page (part of GH #303)
  • Re-styled "New File" page (GH #304)
  • Removed "Show" button from "New Site" page (GH #321)
  • Changed "Back" buttons on all "New" pages to say "All Records" like all the edit pages do (GH #322)

Steps Needed for Upgrade

Database Changes

Administrators need to do database migrations!

There are three database migrations included in this release. The first and most extensive of these involves the addition of several new value constraints. The following set of SQL commands may prove helpful in applying this migration, especially if a data synchronization has not been done recently:

update ensembles set notes = '', updated_at = now() at time zone 'utc' where notes is null;
update runs set outprefix = '', updated_at = now() at time zone 'utc' where outprefix is null;
update runs set setting = '', updated_at = now() at time zone 'utc' where setting is null;
update users set state_prov = '', updated_at = now() at time zone 'utc' where state_prov is null;
update users set postal_code = '', updated_at = now() at time zone 'utc' where postal_code is null;
update workflows set params = '', updated_at = now() at time zone 'utc' where params is null;

If further trouble-shooting of migrations is required, the following may be helpful in finding the source of migration problems:

bundle exec rake db:migrate 2>&1 | grep ERROR

(If you run BETYdb in the production environment, and your production database differs from you development database, prefix this command with RAILS_ENV=production.)

The database version for this release is 20150521211114.

Gem Installation

No new Gems need be installed for this release.

Status of RSpec Tests

  • All tests continue to pass when run in the default environment and can be run using the command

    bundle exec rspec
    

Complete details for running the rspec tests are on the updated Wiki page at https://github.com/PecanProject/bety/wiki/Automated-Tests