- first pass for state change mechanism for multiple samples
- UI enhancements: checkboxes to select samples & selectfield to select specific operation
- removed state change UI for individual samples in the sample_events page
next is selecting library for multiple samples
- changed the notify field in the request table to JSONType to store recipient email address and other config details
- notification of specific sample state changes
- changes made to barcode scan AMQP handler to update sample state to also send email when required
- notification to multiple recipients
- request events history records notifications
- UI enhancements to the edit request page to allow users to change notification configurations
UI enhancements to the request page to show the request type state, user & notification details
- added a new table 'sample_dataset' to store sample datasets & their info when they are transfered from the sequencer
- the datasets transfer page now uses a grid to facilitate bulk renaming
- bulk renaming possible to fix the problem with the way SOLiD generates datasets
- the remote file browser is now independent of a specific sample, the user may select any sample when transferring datasets from the sequencer
A new controller called requests_common now handles all common tasks like create/edit/delete requests & samples. The requests controller has only the grid definition and requests_admin controller has the request_type code and the sequencer data transfer code.
Also fixed a form importer bug in forms.py
'enable_api = True' in config file. You should not enable the API on
production sites as this code is brand new and may contain serious bugs and
security flaws! Implemented:
* Display libraries
* Display library info
* Display library contents
* Display library content info
* Create library folders
* Upload datasets to a library from a server directory or with a path paste.
* Basic example scripts in scripts/api/
Framework changes that were made to support this:
* API Key interface in User Preferences.
* New api_keys database table for storing users' API Keys.
* New API-specific route mapper in webapp.
* API controllers in galaxy.web.api
* Return handling in reused library_common methods.
* expose_api decorator for API controller methods validates key and ensures
valid JSON format.
* UniverseWebTransaction renamed to GalaxyWebTransaction and subclassed for
GalaxyWebUITransaction and GalaxyWebAPITransaction.
Things that need to be done next:
* Documentation!
* Refactor reused code from library_common and other controllers into an
even-more-generic location and format. The main changes are that the Web UI
returns redirects and rendered templates, whereas the API returns various
HTTP status codes and JSON.
* Implement more functionality.
* The request and response format should be considered alpha and are subject to
change. They will be standardized as the API matures.
Hints to get started can be found in scripts/api/README
- added error msg when dataset transfer is started for samples with no library
- fixed typos
- now dataset transfer does not affect sample state
- request completion logic restored.
- Add a data transfer script which fetches datasets from the sequencer
- transfer_datasets.ini for setting up the separate user to login to Galaxy programmatically to add datasets to the data libraries.
- Added a dataset transfer page which includes remote file browser to select files for transfer
Removed library & folder foreign keys from the request table and added them to the sample table. Also the sample table now has a dataset_files column to store the datatsets and the their transfer status.
Add an egg for pexpect which is used in the remote file browser.
The request_type table has a new column datatx_info which stores all the login info for the sequencer machine