Recent Releases of aquarium
aquarium - Aquarium version 2.9.0 ("Tech-handoff")
This version includes the following changes:
- Adds ability for manager to assign jobs to technicians, and improves manager interface for working with jobs. Adds filter for input in job creation interface. A user in technician group now sees dashboard of jobs assigned to them as landing page. Non-admin users no longer see the manager tab.
- Shows natural language dates relative to current time.
- Improve error handling for missing protocol code.
- Improve database connection handling in Krill.
- Improves database organization
Users are encouraged to use the docker image published at hub.docker.com as aquariumbio/aquarium:2.9.0
This version requires database migrations
- Ruby
Published by bjkeller about 5 years ago
aquarium - Aquarium version 2.8.1
v2.8.1
This release includes the following changes:
- Krill changes: add technician foot pedal interface (thanks to Abe Miller)
- Add configurable OLA Simple technician page (Abe Miller)
- Change handling of data associations so that only the most recent value of a duplicate key will be displayed. (thanks to Gene Nomicos)
- Change library controller to allow creating library externally with pfish.
- Update entrypoint script to use AWS CloudMap namespace when run on ECS.
- Change object type list to hide internal types.
Contributions from @marikoja , @cashmonger , @Gamemackerel , @gnomicos , and @bjkeller
- Ruby
Published by bjkeller about 5 years ago
aquarium - Aquarium version 2.8.0
This release makes Docker configuration the default.
It is no longer necessary for non-developers to clone this repository, and instead users should be using the Docker image available on Docker hub from https://hub.docker.com/r/aquariumbio/aquarium: - For production deployment, see the deployment instructions at aquarium.bio. - For a local deployment, clone https://github.com/klavinslab/aquarium-local.
Changes: - Rewrite entrypoint script so that provides more capabilities for configuring Aquarium. - Change creation interface for users and groups to make it easier to script adding users. - Parameterize database and application configuration with environment variables. - Change puma configuration so that database.yml can contain ERB. - Flip docker-compose files so that development mode is the default. - Change Dockerfile to use a multi-stage build with a development stage, a production-build stage, and the stage for the production image. - Make changes so that asset precompilation can occur in Docker production-build. Includes removing unnecessary monkey patches, and parameterizing database.yml file. - Consolidated deployment configuration with previous docker configuration, and parameterized configuration using environment variables and a YAML file for instance details. Change S3 configuration to use either S3 or minio based on environment variables. - Change biofab parameter key to "lab_agreement" and move agreement to YAML file. - Refactor models to use predicates instead of chained checks of attributes. - Pull source for aquadoc and anemone into components directory, and add components directory to build. - Krill changes: add technician foot pedal interface, allow show block note, check, and bullet to take array of strings as arguments. - Starting Aquarium in production using Docker will print the license. - Add Sorbet type checking, and simplecov test coverage.
- Ruby
Published by bjkeller over 5 years ago
aquarium - Aquarium Release 2.7.3
- Changes system menu pages to be more consistent. Changes list pagination to be alphabetical.
- Fixes bug in job execution code that prevented debug operation from manager page.
- Fixes a bug preventing import of collection dimensions.
- Switches Aquarium to MIT License.
- Add rake task to identify protocol dependencies.
Update sample search to show all items for a sample.
Update gem and yarn dependencies.
- Ruby
Published by bjkeller almost 6 years ago
aquarium - Aquarium version 2.7.2
- Fixes bug in recent changes to sample search where results were filtered instead of accumulated and inventory would not be displayed.
- Fixes default date for invoices to use current date.
- Fixes error in json queries where includes were not handled correctly.
- Fixes bug in import where parameters were not being imported properly.
- Fixes error that occurred when browser looked for /favicon.ico
- Makes invoice output easier to read by including names and reordering columns.
Improves krill error output.
Update to ruby 2.6.5
Update gem and yarn dependencies.
- Ruby
Published by bjkeller about 6 years ago
aquarium - Fix import crash
Fixes a bug where an empty field type would cause an import to crash.
- Ruby
Published by bjkeller over 6 years ago
aquarium - Invoice rebuild with updates to sample page and testing
- Rebuild the invoices page for improved performance that was affecting UW BIOFAB deployment.
- Redesign sample page to simplify interface to move non-sample controls to other pages.
- Refactor protocol and test execution to eliminate redundant code and improve error handling.
- Ruby
Published by bjkeller over 6 years ago
aquarium - Protocol images and bug fixes for invoices and imports
Changes Docker configuration so that protocol images can be served by the minio s3 service instead of requiring an external image server.
But, mostly, fixes several issues in Aquarium: - invoices now scroll and the page no longer crashes when there are no invoices. - protocol import now properly handles UTF-8 characters, and allows partial types for an operation input/output. - includes English language tags in HTML page templates so that Chrome doesn't treat Aquarium like it is in Somali. - jquery is updated to deal with security issue
- Ruby
Published by bjkeller almost 7 years ago
aquarium - Aquadoc export fix
Fixes a bug in Aquadoc that causes workflow export to fail.
- Ruby
Published by bjkeller almost 7 years ago
aquarium - Rails update and testing improvements
Updates the underlying Rails version to 4.2.11.1 which addresses security issues. If you are upgrading from version 2.4 or earlier, you will need to follow the migration instructions for version 2.5
Also, now imports and exports operation type tests as part of the new publish capability.
- Ruby
Published by bjkeller almost 7 years ago
aquarium - Rails 4 version update to Aquarium 2.5
This release updates the version of Rails underlying Aquarium 2.5 due to security concerns with the version that was being used.
A build of Aquarium version 2.5.1 will no longer work due to an unconstrained configuration dependency. However, you are strongly encouraged to update to this or the latest version of Aquarium.
- Ruby
Published by bjkeller almost 7 years ago
aquarium - Testing interface and security upgrade
This release includes a new testing controller and base class, for use with third party applications that connect to Aquarium via the API. One example such application is the VS Code plugin Nemo.
This release also uses yarn instead of the deprecated bower to install 3rd party javascript code and stylesheets. Yarn is supposed to be more secure. For a manual installation, you should now run "yarn" instead of "bower install". And if you are upgrading, remove "public/components" first.
Docker instructions have not changed.
- Ruby
Published by klavins almost 7 years ago
aquarium - Eliminate ruby docker image issue
Changes the Dockerfile so that it specifies a version of the Alpine Linux OS of the Ruby image used by Aquarium. This prevents a scenario in which a new build could use a version of the OS that is different from the one on which the build was tested. This occasionally resulted in failures for Aquarium users.
If you are having trouble building this version of Aquarium, we suggest you switch to version 2.5.2 or the most recent version.
- Ruby
Published by bjkeller about 7 years ago
aquarium - Import and export workflows
Please use the latest release.
Import and Export: This release includes new features for importing and exporting workflows. Importing is now a more controlled process with its own page. Before importing, you load a .aq file to see what components will be added to your instance of Aquarium. In addition, you can choose how to deal with potential conflicts. Export also has its own page, and allows you to mix and match operation types and workflows from different categories. You can also export to a Github repo, which will create an entire website for your exported workflow that you can use to document and advertise it. Workflows can be shared via the Aquarium webpage.
Documentation moved: The Aquarium documentation is now on the Aquarium webpage, except for the API autogenerated documentation, which is still managed with yard.
Improved Docker Container: A new docker container is included with this release that has a version of S3 running in it, so you no longer need to set up an AWS S3 bucket to get Aquarium up and running (although we still recommend that you use AWS S3 when scaling up your instance to a production environment). Please read the updated Docker installation instructions here under "Getting Started" > "Installation".
Minor changes: - Bugfix: Chrome detection improved. - Increased field value string size to 65535 (see "Migrating" notes below). - Bugfix: New collections rows and columns are recorded upon creation. - Improved template and system template logic
Migrating: If you are upgrading from v2.4.*, you will need to update your gems and migrate your database as follows:
bash
bundle update
rake anemone:setup
rake db:migrate
The anemone line adds a background worker table to the database, and the migration increases the field value string size limit.
- Ruby
Published by klavins about 7 years ago
aquarium - Bugfix: Docker
This version fixes a minor issue with the Docker installation script in which the wrong version of the mysql gem was used.
- Ruby
Published by klavins over 7 years ago
aquarium - Fine tuning
This minor release fixes a few bugs and cleans up the UI.
- Larger space for viewing/designing plans.
- Links to items, collections, and parts to collections are clearer and the popups more informative.
- Templates remain selected when added to a plan.
- Fixed a bug where members could not be added to groups.
- New convenience methods in collection (datamatrixvalues) and field_value (part).
- Fix a bug where setting data for a collection from a matrix (a) duplicated part associations and (b) did not check for duplicate keys in data_associations.
- Fixed a "feature" where the designer would reassign items for inputs if the originally assigned items were deleted.
- Ruby
Published by klavins over 7 years ago
aquarium - Collections improvements, Rails 4.2, Improved Testing Coverage
Rails 4.2: We have upgraded from Rails 3.2 to Rails 4.2, and upgraded almost all associated gems to their latest versions. You will need to update your bundle:
bundle update rails
bundle install
Note that due to the upgrade to Rails 4.2, some updates to your protocol code may be necessary. In particular, Rails 4.2 no longer treats ActiveRecord::Relation objects as mutable arrays. So any mutator methods applied to such code, such as Array.reject! will no longer work. This version of Aquarium makes it easier to find such situations using the new test_all page described below.
Javascript: All javascript that was being imported via gems in the Gemfile has been moved to bower. You will need to update bower as usual:
bower update
Collections: This release includes an improved collections model in which parts of collections are first class Items, instead of sample ids. As a result, parts can have data associations, histories, and anything else an Item has. In addition, there is a spiffy new collection editor so you can build a collection and its associated data before sending it to a workflow. Your database will need to be migrated after you pull these changes using the following commands. Make sure to make a backup of your database before migrating!
rake db:migrate
rake collections:migrate
The first line adds a new join table model called PartAssociation. The second line ports all your existing collections to the new data structure. You may also have to check whether your protocols use any old methods expecting collection.data to have a :matrix entry, as in collection.data["matrix"], which no longer works. Instead, use should be changed to collection.matrix, which will still return a set matrix of sample ids. Also, collection.set(r,c,sample) now explicitly expects sample to either be a sample id or a Sample object. Storing arbitrary information in collection matrices is not allow. Instead use DataAssociations with either the collection or parts of the collection.
Testing: More model testing has been written and can be found in /spec/models. In addition, we have included new front end tests, mainly of the Designer, using Cyprus. These tests are in /ui. Finally, operation types can be tested all on one page at http://your.aquarium.instance/operationtypes/testall.html.
Other: The release includes the following minor changes and bug fixes as well: - Computing validations in the Designer now ignores errored-out operations, so you can extend plans containing them. - Start and stop times are correctly displayed for multi-day operations in activity monitor. The activity monitor is also remembered with a cookie now. - OperationTypes can now have DataAssociations and there is a tab in Developer to manage them. - If you get logged out for some reason, Aquarium is better at informing you that this is the case. - Aquarium now formally disallows SampleTypes with the same name. - When editing an ObjectType, its SampleType reference is no longer always reset to the first sample type. - There are now cute 404 and 505 pages. - You can scroll through an item's history in the item popup.
- Ruby
Published by klavins over 7 years ago
aquarium - Bugfix: Overzealous item deletion in designer
Fixes a dumb problem introduced in v2.305.
- Ruby
Published by klavins over 7 years ago
aquarium - Bugfix: Invalid item choices in designer
This release fixes an issue where in some cases item choices were not deleted after reassigning itemless samples to I/O in the designer.
- Ruby
Published by klavins over 7 years ago
aquarium - Bugfix: Change operation state
Fixes an issue where operation states could not be changed in the planner with some browsers.
- Ruby
Published by klavins over 7 years ago
aquarium - Bugfix: operation state + Layout improvements
This version fixes a bug where saving a plan after saving data associations put operations into the wrong state. It also includes a number of minor layout improvements to the UI.
- Ruby
Published by klavins over 7 years ago
aquarium - Bugfix: Unwanted plan updates
This version fixes a bug where saving a data association associated with a plan having operations whose status is "planning" and then extending it caused the newly added operations to have status "pending" regardless of their position in the plan.
- Ruby
Published by klavins over 7 years ago
aquarium - Bugfix: Large plan loading time
This minor release fixes a bug that caused large plans with completed operations to load very slowly in the designer.
- Ruby
Published by klavins over 7 years ago
aquarium - Docker / Designer Improvements / Dead code removal
- You can get started using Aquarium more quickly now with the Docker installer. See the documentation for how to use it.
- The documentation has been moved around and expanded. See http://klavinslab.org/aquarium for details.
- Performance: Several key queries, especially in the designer backend, have been optimized and should result in faster page loads, particularly big plans.
- Rubocop: Style in Ruby files is now policed.
- The designer should be more functional, allowing users greater control over how they edit their plans.
- You can refer to data associated with operations via http://yourhost/uploads/operation/12345/key or http://yourhost/uploads/item/12345/key. You can put those links in text boxes to decorate your plans with data.
- The manager now has a view that shows a day's activity in graphical form.
- Several bugs have been fixed, mainly in the designer.
- Krill has been updated. In particular, show now returns a (backwards compatible) ShowResponse object with convenience routines for accessing table inputs and so on.
- Migration notes
- Version v.2.3 deletes old tables and old columns from existing tables. Make a backup of your db and then run rake db:migrate.
- You will need to add something like this to your config/initializers/aquarium.rb file
ruby Bioturk::Application.config.krill_hostname = 'localhost'
- Dead code removal: All references to tasks, metacols, oyster, and several other defunct models have been removed.
- Ruby
Published by klavins over 7 years ago
aquarium - Bug fixes
This version fixes several bugs: - Random orange arrows in designer are gone - Extending a plan with new operations is smoother - Fixed a bug where looking up an item's history caused a long delay - Added before_destroy method for operations, so that field values and wires are destroyed too - Fixed bug where the first item in a collection was always selected in the designer
In addition, we added technician statistics
- Ruby
Published by klavins over 7 years ago
aquarium - Plan editing, Javascript tests, Manger convenience, and unique operation types
This version includes many updates to the planner. In particular, it allows users to edit plans even after they have started (or finished) running. Users can, for example, add an operation to a plan, or retry an operation that failed. Users can also add and remove wires.
- The updates to the planner include text boxes, which can contain markdown code.
- Managers can now set the status of an operation to whatever they need it to be. In the Manager view, click on Force next to an operation and choose the desired new status.
- The plan list and plan editor are now separate items on the main task bar.
OperationTypenames are now required to be unique within a category. Before running the migrations, also run the rake taskrake rename_optype_duplicates, which will make a best guess about which of the operations with duplicate names should be renamed and update the table.- The javascript code was refactored to use promises more idiomatically.
- There is a javascript test environment, called shark, now integrated into Aquarium and available in development mode.
- Ruby
Published by klavins over 7 years ago
aquarium - Minor bugfix
Fixes bug in which an operation with a buggy precondition could prevent other operations from updating.
- Ruby
Published by klavins almost 8 years ago
aquarium - Technician Interface Update
This release includes a new, more robust, and functional technician interface written in angular. The new interface is more aware of operations, has better upload management, smoother transitions between slides, and improved layout.
This release also includes a variety of bug fixes, in particular to the invoice pages.
- Ruby
Published by klavins almost 8 years ago
aquarium - Aquarium 2.0, First Release
This new version includes the notion of an operation, with typed inputs and outputs. Operations can be strung together in plans using a graphical editor. An inline IDE for protocols allows new operation types to be defined and the associated protocol written and tested. A new manager page enables managers to schedule and run operations easily.
Note: This version does away with tasks and oyster.
- Ruby
Published by klavins over 8 years ago
aquarium - Functional Cost Model + Sample Tree
This is a mostly bug-free version that includes a cost model and accounting system. It is mainly being tagged because the next set of updates are going to completely rework how sample fields are handled, resulting in rather new (and hopefully better) behavior.
- Ruby
Published by klavins almost 10 years ago
aquarium - Nearly complete
This version of Aquarium is stable and relatively bug free. However, it may not support all the protocols that eventually show up in Aqualib and it does not have any initialization routines. For example, v1.0 will include a method that automatically populates all the sample and object types required for cloning so that the user does not have to do so by hand.
- Ruby
Published by klavins almost 12 years ago