This page contains the current year's release notes and new features, primarily for Oceans 3.0, as well as any applications created/maintained by the ONC software development group, including mobile Apps and desktop/PC applications. In progress project status may be presented as well. The information below is written in plain language as much as possible. "Major" releases include all completed items at that time (monthly), while "minor" releases are updates to the previous major release with bug fixes and specific features. Detailed release notes are available on internal confluence pages (internal users only).

December 19, 2024

Minor release to deploy the 2025 World Magnetic Model (used to correct compass headings to true headings).

Tickets Released: Oceans 3.0: 24.11.002 (accessible to internal users only). Total: 2.

December 12, 2024

Minor release to allow MATLAB batch processing to run without limit.

Tickets Released: Oceans 3.0: 24.11.001 (accessible to internal users only). Total: 1.

December 5, 2024

Major release.

Maintenance & Testing

  • Add SystemStatePumping to dtstattribute table

  • QAQC needs to get default attribute value when attribute not defined for sensor

  • Add Admin > Device Workflow > Device Workflow Bulk Update into dmas menu
  • Bug fix: Re-direct to Device Action tab of device detail page after editing a Device Action
  • Make resourcetype list in IResourceType.java and ResourceType database table match with each other

  • Default sorting on Name column in tabs on CableManagement page
  • Add DAQ monitoring dashboards in Python ( Latest files archived in the data base for a specific device (with hyperlink) )
  • Maintain and expand automated testing

Infrastructure

  • Feature: Endeavour Earthquake Autolocate is hosted in a private docker registry ready to be deployed on demand 
  • Improvement: new users' passwords passphrases must be 15 characters minimum (as per UVic policy)
  • Improvement: restrict valid dates for annotation entry (1900 to 1 year in the future)
  • Improvement: make it easier to copy-paste dates
  • Bugfix: DeviceServiceSearchTreeNode cache load no longer gets slower and slower
  • Bugfix: don't serialize Vocabulary and SitePosition caches on hosts that don't use serialized caches
  • Bugfix: remove FATAL error logs on startup if a task has an invalid schedule
  • Bugfix: /LastReadingJSON respects access restrictions
  • Bugfix: the archiver won't fill its disk with error logging during Cassandra outages
  • Removal: unused columns of tm_taskschedule (startdate, enddate, repeatcount, scheduletype)
  • Removal: unused indexes ix_servicelog_servicename_datecreated, servicelog_servicename, archivefile_hist_filename, service_log_datecreated_index, email_dateprocessed, siteposition_positiondate
  • Internal changes: support REST URLs with path parameters in the middle of the URL, modernize playlist web services, modularize several Oceans Next base components, refactor forms.

SeaTube

  • Added default and custom layout features in ST Dive Log beta app

  • Added a new app for searching/viewing fixed camera locations

    • location tree
    • location map
    • location detail
  • Added a new app for fixed location cameras playback

    • video player

    • detail info about a fixed camera location

  • Some improvement for the ST Dive Log dashboard

    • noticeable indication in historical mode while annotating live dive

    • Clear or Cancel button in annotation Entry widget depends on create or update.

  • Some  improvement for annotation export

  • A few bug fixes

New Features

  • scalardata service now can returns nulls instead of NaNs with returnOptions=normalizeJson 
  • DataViewer:
    • supports page level date entry which each chart uses (changes to chart date range don't propagate to other charts yet)
    • can hide the widget header with the ability to show it on hover and pin it open
  • Unused widget types removed from Dashboards Add Widget menu
  • Add Licence URL to saved licences
  • Agreement licences now explicitly have the default licence associated with them
  • Latest Hydrophone Player:
    • now shows spectrogram corresponding to latest FLAC, and excludes FFT generated spectrograms
    • should show the spectrogram and audio more quickly

Community Fishers

  • Updated CastPopups to display restriction notification/text in addition to available casts
  • Generated SQL to copy data product format attributions from existing dataproductformat to newly added data product format
  • Created Community Fishers Data Attribution Post Process java task
  • Added parse log files code to determine data attributions
  • Created data attributions from parsed tablet log files
  • Corrected handling casts that span midnight UTC (4pm PTZ)
  • Added test case for casts that spans midnight UTC
  • Fix failing Plotting Utility tests
    Earthquake Dashboard:

  • Now indicate to a user when an IRIS id can't be paired with USGS id
  • Added local storage memorization for earthquake signal calls

Data Products

  • Bug fixes for soundscape metrics: spikes, handle extended gaps, missing deployments
  • Improvements of Endeavour Earthquake Catalogue: hourly runs, duration parameter, deployment process, documentation and automated testing
  • Fix for a date time issue, fix for handling bad hydrophone files

Mini-Projects

  • Add Endeavour Earthquake Catalogue page to the landing page and main menu
  • Removed openDAP from landing page and added a reference to it on the OpenAPI page
  • Small performance improvements to the Endeavour Earthquake Catalogue and added hex bins to the map
  • Allow anonymous access for the Endeavour Earthquake Catalogue page
  • Allow the date formats '%d.%m.%Y', '%d/%m/%Y' in the public api
  • Improvements to the data availability API (not a public API yet)
  • The scalardata API now reports min and max times and flags for resampled data (the json data product already did this)

Instruments

  • Junction box API: secure and signed interface for P-ONE project
  • Sensor load parser improvements: multiple versions, pre-filter, handle ";" and "Not Used"

Tickets Released: Oceans 3.0: 24.11.000 (accessible to internal users only), total: 212. Automated Testing: AT.24.11.000, total: 26.

Bug

  • [DMAS-42217] - Vocabulary and SitePosition caches don't respect global.cache.serialize.roles
  • [DMAS-74065] - Licence URL missing from im_licence
  • [DMAS-79745] - DeviceServiceSearchTreeNode cache load gets gradually slower over time
  • [DMAS-79880] - EQ cataolog shows wrong unit for distance station to epicentre in map
  • [DMAS-80502] - Devices are taking too long to show in the search tree
  • [DMAS-80578] - New inputs for typing in dates in File Managment and AnnotionsV2 are cumbersome and prone to error
  • [DMAS-81341] - Spikes in soundscape metrics band plots
  • [DMAS-81800] - Fix flaky AvailabilityChart.cy.jsx
  • [DMAS-81863] - Storybook build errors create warnings in Oceans Next dev builds
  • [DMAS-82008] - After saving a device action, the page is not redirected to the correct device details page
  • [DMAS-82094] - Export results don't follow the format's file structure
  • [DMAS-82194] - Annotation Entry displays "Cancel" when it should display "Clear"
  • [DMAS-82196] - Layouts are synchronized between live and historical tabs. They should be stored seperately
  • [DMAS-82215] - Fix failing datapreviewmanagement tests
  • [DMAS-82231] - ESlint warnings on main caused by conflicts
  • [DMAS-82238] - NeptuneVelocityServlet inappropriately logs FATAL errors
  • [DMAS-82239] - InternalScheduler logs FATAL errors if a task's schedule is invalid
  • [DMAS-82244] - Fix incorrect date format in linked files
  • [DMAS-82245] - 'getOne' operation on DerivedSensorParserDefinitionService swaps sensorId and parserDefinitionId parameters
  • [DMAS-82253] - Archivers failed to buffer all CQL statements during Cassandra outage
  • [DMAS-82264] - Ingestion CSV exports don't only export default camera annotations
  • [DMAS-82292] - main is broken by incorrect import caused by conflicts
  • [DMAS-82294] - ST maps are not resized properly
  • [DMAS-82302] - Fix ts bug from SizeMe change (DMAS-82188)
  • [DMAS-82312] - LastReadingJSON doesn't respect access restrictions
  • [DMAS-82336] - Fix errors caused by licence code merge (DMAS-82059)
  • [DMAS-82351] - Data Player playline fails to move when synced with audio widget
  • [DMAS-82377] - Casts that span midnight are not being handled correctly
  • [DMAS-82394] - Fix some failed tests in ML CORK parser definition
  • [DMAS-82397] - Attempt to address intermittent "styled-default" vite build error
  • [DMAS-82415] - Oceans Next code coverage results aren't displaying properly in Jenkins
  • [DMAS-82418] - DiveLogDashboard.Historical Mode.Widget Communication.Highlights the correct annotation and seeks video to the timestamp when a map annotation is clicked, possibly flakey
  • [DMAS-82423] - MatlabFilePostProcessor trying to write to read-only AD file location
  • [DMAS-82425] - Fix Failing DataViewerDashboard Cypress Test
  • [DMAS-82431] - not able to download files through File Management page in qa
  • [DMAS-82436] - Cypress not running on windows with vite build
  • [DMAS-82445] - Change import for busted node module
  • [DMAS-82467] - Qaqc needs to get default attribute value when attribute not defined for sensor
  • [DMAS-82477] - PATCH requests all fail in QA
  • [DMAS-82510] - DataPreviewWidget Cypress Test Failing
  • [DMAS-82516] - Fix faulty YUI implementation of playlist services
  • [DMAS-82517] - Unable to delete playlists or clips
  • [DMAS-82518] - The dropdown for existing playlists is not being populated in SeaTube Search
  • [DMAS-82521] - Incorrect snackbar when creating a new playlist from SeaTube Search
  • [DMAS-82527] - Correlator JVM fails to start up correctly on 24.11.000
  • [DMAS-82531] - Can't create a fixed location camera playlist in QA using ST Pro
  • [DMAS-82536] - Error snackbar on stating: "Invalid parameter locationCode. No data found for value false" on Datasearch for Instruments by Category
  • [DMAS-82554] - Unable to save Site Devices without offsets
  • [DMAS-82572] - Fix SiteDeviceMaintenance sending string "undefined" as batchId

User Story

  • [DMAS-51217] - As ONC Software Engineering, I want an online repository of snapshot & dependency jars so that I can reuse precompiled code
  • [DMAS-80471] - As a developer, I would like faster Oceans Next builds
  • [DMAS-81178] - As a data steward, I would like CC BY 4.0 set as the default value when creating a new data agreement
  • [DMAS-81690] - Small Improvements to the Endeavour Earthquake Catalog to prepare for the workshop
  • [DMAS-81760] - As a software developer I would like operational improvements on the endeavour earthquake autolocate project
  • [DMAS-81764] - As a fixed camera logger, I would like to create a public or unlisted annotation
  • [DMAS-81786] - As a ST developer, I would like a new page to view fixed location camera footage
  • [DMAS-81823] - Add Chart Widget to layout
  • [DMAS-81833] - Support one place to enter date range
  • [DMAS-81855] - As a system operator, I want to be able to deploy a dockerized project to QA and production without needing to build it on each docker host
  • [DMAS-81889] - As a ST developer, I would like to add a tree widget to the fixed camera locations page
  • [DMAS-81891] - As a ST developer, I would like to add a map widget to the fixed camera locations page
  • [DMAS-81892] - As a ST developer, I would like to add a details widget to the fixed camera locations page
  • [DMAS-82015] - Create a User Defined Dashboards V2 page
  • [DMAS-82097] - As a SeaTube User, I would like to be able to save and apply different dashboard layouts to the new dive log (II)
  • [DMAS-82304] - As a software developer, I want to remove useless columns in the tm_taskschedule table so I don't need to understand what they're for
  • [DMAS-82329] - As a ST developer, I would like to add a details widget to the fixed camera locations page (I)

Task

  • [DMAS-77945] - Increase Minimum password length in dmas
  • [DMAS-78008] - Update Share* components to typescript, functional components
  • [DMAS-79111] - As a seatube developer, I want playlist web services to be RESTful to simplify maintenance
  • [DMAS-79141] - Extend date format input for API requests
  • [DMAS-80588] - Convert WebRequest to be a namespace import
  • [DMAS-81203] - Provide RDM team with SQL to copy data product format attributions from existing dataproductformat to newly added data product format
  • [DMAS-81205] - Indicate to a user when an IRIS id can't be paired with USGS id
  • [DMAS-81347] - Add service parameter to scalar data web service so data is returned in RFC 8259 standard format
  • [DMAS-81494] - Simulator for Inertial Measurement Unit
  • [DMAS-81699] - Upgrade VideoWidget, VideoWidgetDisplay, VideoWidgetConfig
  • [DMAS-81767] - As a fixed camera logger, I would like to see detailed information about a fixed camera location from the playback page
  • [DMAS-81831] - Ensure that the latest hydrophone player shows the corresponding spectrogram for the audio file it's playing, handling the case of FFT-source data
  • [DMAS-81876] - Refactor: The DiveLogDashboard cypress test file
  • [DMAS-82023] - Switch all page load failures from manual global.open calls to redirect page & update faulty cypress tests against it
  • [DMAS-82047] - As a SeaTube user, I would like something more noticeable to indicate I am viewing historical video for a dive in progress
  • [DMAS-82096] - Write Dashboard level cypress tests for the fixed camera locations dashboard
  • [DMAS-82222] - Widget Tests Upgrade - InteractivePlotWidget
  • [DMAS-82230] - Make it possible to call WebParameters.matchPath from HttpServlet.service in service factories
  • [DMAS-82242] - Drop support for task parameter "all.runs.required"
  • [DMAS-82273] - Add link to docs for DmasRestService
  • [DMAS-82317] - Increase the number of machines used for cypress runs
  • [DMAS-82318] - Look into vite for cypress builds
  • [DMAS-82322] - Run cypress on port 3001 so it can be run in tandem with webpack deploy
  • [DMAS-82334] - As a fixed camera user, I would like to play a single clip
  • [DMAS-82374] - Remove ability to access location search in SeaTube Search
  • [DMAS-82376] - DeviceWorkflowBulkUpdate: Add non-visible selector Row id for increased Accessibility
  • [DMAS-82380] - Send an email *whenever* renovate builds fail
  • [DMAS-82396] - Improve performance of getting latest files from archivefile
  • [DMAS-82427] - Enhance Endeavour Earthquake Catalogue site presence
  • [DMAS-82434] - add DeviceWorkflowBulkUpdate page in dmas menu
  • [DMAS-82448] - As a developer I would like faster dev server start times
  • [DMAS-82454] - Untrack .vscode folder and add it to vscode-ony-helper repo
  • [DMAS-82479] - Remove unused widgets from widget menu and order alphabetically
  • [DMAS-82484] - please make resourcetype enum in IResourceType.java and ResourceType database table match with each other
  • [DMAS-82496] - Please, create SystemStatePumping sensorattributes on new System State sensors
  • [DMAS-82522] - update open api description to include opendap info

Implementation

  • [DMAS-76899] - Update AnnotationSearchPage.cy.tsx to use testing-library
  • [DMAS-80507] - Modernize transactions in user & organization code
  • [DMAS-80508] - Modernize transactions in SearchTreeNodeManagerImpl
  • [DMAS-80990] - Add UserOrganizationService to support CRUD user_org database table
  • [DMAS-81186] - Update CastPopup to display restriction notification/text in addition to available casts
  • [DMAS-81566] - Implement saving and applying custom layouts in SeaTube
  • [DMAS-81567] - Implement update and delete actions on custom layouts
  • [DMAS-81633] - Junction Box API Implementation
  • [DMAS-81639] - Public key upload Backend
  • [DMAS-81640] - Allow assigning devices to a group through user permission.
  • [DMAS-81701] - VideoWidgetDisplay: typescript and functional
  • [DMAS-81702] - VideoWidgetConfig: typescript and functional
  • [DMAS-81797] - Create a new app that renders an empty dashboard for the fixed camera viewer
  • [DMAS-81798] - Create a servlet that will be the home of the new "viewer" page for fixed cameras
  • [DMAS-81811] - Move Card, Collapse, Dialog to base-components
  • [DMAS-81817] - Implement DeviceSyncConfig as a typescript functional component using react-hook-form
  • [DMAS-81825] - Modularize translations
  • [DMAS-81861] - VideoWidget: typescript and functional
  • [DMAS-81879] - Create Community Fishers Data Attribution Post Process task - Java
  • [DMAS-81897] - Implement DeviceSearchParameterTab as a typescript functional component using react-hook-form
  • [DMAS-81965] - Parse log files to determine data attributions
  • [DMAS-81968] - Create a dummy widget to be used for testing header features
  • [DMAS-82007] - allow for resampling the datavailability and default to reporting continuous data intervals
  • [DMAS-82009] - Create a new widget to render the fixed camera location tree
  • [DMAS-82010] - Refactor existing tree code to modern standards for use in the fixed camera locations tree widget
  • [DMAS-82012] - Create a new map widget for use on fixed camera locations page
  • [DMAS-82019] - Update dal layer for licenceurl on Licence domain object
  • [DMAS-82020] - Update service code for licenceurl in LicenceService
  • [DMAS-82021] - Update front end to fetch and edit licenceurl on the licence management page
  • [DMAS-82046] - Implement SiteDeviceSubsetRePostProcess as a typescript functional component using react-hook-form
  • [DMAS-82048] - Create Cypress Tests for ShareDialog, ShareSimple, ShareAdvanced
  • [DMAS-82050] - Share*: typescript and functional
  • [DMAS-82057] - Create a SeaTube Details widget
  • [DMAS-82058] - Add How-To documentation for the details widget
  • [DMAS-82059] - Make minor refactoring changes to update Licence table and add LicenceURL
  • [DMAS-82061] - Create data attributions from parsed tablet log files
  • [DMAS-82101] - Implement QaqcAttributesConfig as a typescript functional component using react-hook-form
  • [DMAS-82182] - Implement DriverScheduleConfig as a typescript functional component using react-hook-form
  • [DMAS-82188] - Move drag scroll & sizeMe to base-components
  • [DMAS-82199] - Implement SiteDeviceMaintenanceRW as a typescript functional component using react-hook-form
  • [DMAS-82203] - Move form, image-list, input-adornment to base-components
  • [DMAS-82204] - Move lightbox to base-components
  • [DMAS-82212] - Change dockerfile to copy any package.json files in subdirectories
  • [DMAS-82216] - Implement pin & overlay functionality to header
  • [DMAS-82226] - InteractivePlotWidgetConfig Test Update
  • [DMAS-82232] - Implement shared config for dashboards
  • [DMAS-82233] - Implement ParserDefinitionMaintenance as a typescript functional component using react-hook-form
  • [DMAS-82241] - Use dashboard config on data viewer for date range
  • [DMAS-82251] - Push Endeavour Earthquake Autolocate docker images to our registry from CI
  • [DMAS-82260] - Earthquake Activity Plot should show hourly when zoomed in enough
  • [DMAS-82262] - use hex bins for the map display
  • [DMAS-82275] - Move parseDmasAPIResponse & postImpl out of WebRequest
  • [DMAS-82276] - Make WebRequest.put no longer a class function
  • [DMAS-82277] - Make WebRequest.post no longer a class function
  • [DMAS-82278] - Make WebRequest.patch no longer a class function
  • [DMAS-82279] - Make WebRequest.get no longer a class function
  • [DMAS-82282] - Make WebRequest no longer an imported class and make Temp the active version
  • [DMAS-82286] - Implement SiteDeviceSubsetMaintenance as a typescript functional component using react-hook-form
  • [DMAS-82296] - Set up a group for making public fixed camera annotations
  • [DMAS-82297] - Update the permissions service to provide info on whether the user can make public fixed camera annotations
  • [DMAS-82298] - Update annotation-saving logic to check for fixed camera annotation publishing permissions
  • [DMAS-82301] - Add playground page, "User Defined Dashboards", using new Dashboard framework
  • [DMAS-82303] - Drop large unused database indexes
  • [DMAS-82305] - Remove references to these columns from backend code
  • [DMAS-82307] - Drop these columns from the database
  • [DMAS-82313] - Make remainder of WebRequest methods named exports
  • [DMAS-82324] - Deprecate RecurringSearchJob task type
  • [DMAS-82340] - Delete Unused TextWidget* Enzyme Tests
  • [DMAS-82343] - ImageWidget* Tests
  • [DMAS-82345] - AudioPlayerWidget* Tests
  • [DMAS-82346] - ChartWidget* Tests
  • [DMAS-82352] - Digital Signature Test Code
  • [DMAS-82353] - Deduplicate React from generator & libraries
  • [DMAS-82355] - Move Popover, Select, Slide, Slider to base-components
  • [DMAS-82356] - Improve eearthquake plot performance when plotting 100k+ earthquakes
  • [DMAS-82357] - Move stepper, Text, ToggleButton, Transition to base-components
  • [DMAS-82361] - Modify jest types to not conflict with cypress
  • [DMAS-82366] - LatestReadingsWidget* Tests
  • [DMAS-82368] - DataPreviewWidget* Tests
  • [DMAS-82378] - Move Box, Checkbox, Chip, ClickAwayListener to base-components
  • [DMAS-82383] - Move buttons to base-components
  • [DMAS-82385] - Add diagnostic logging to DeviceServiceSearchTreeNodeCacheLoader
  • [DMAS-82390] - Create useQuery for using WebRequests get function
  • [DMAS-82412] - Shorten error messages when writing to Cassandra
  • [DMAS-82444] - Run autolocate code hourly instead of daily
  • [DMAS-82465] - DataPlayerWidget* Tests Upgrade
  • [DMAS-82468] - Set fields to exclude from serialization when activating DeviceServiceSearchTreeNodeCacheLoader
  • [DMAS-82470] - Replace null values in organizationagreement table with CC-by-4.0 and make column non-null
  • [DMAS-82471] - Use default value to set licence for organizationagreement when creating a new one
  • [DMAS-82486] - Add duration mode parameter to Endeavour Earthquake Autolocate task
  • [DMAS-82491] - CableManagement: change default sort to be based on Name column

Test

  • [DMAS-81646] - Test edge cases - matlab dies, canceled task, etc
  • [DMAS-82214] - Add Cypress Test for new Chart Widget
  • [DMAS-82381] - Add test case for cast that spans midnight UTC

Bug (ST)

  • [DMAS-80750] - "Not Used" and ";" not working properly
  • [DMAS-80807] - SensorLoad check needs to be able to handle values with pre-filter/formula
  • [DMAS-81542] - Generate timestamp for Min and Max sampleTimes -all webservices
  • [DMAS-81847] - Fix issue where cypress tests from base-components aren't shown when failing
  • [DMAS-82289] - Soundscape metrics plots missing data from previous deployments
  • [DMAS-82290] - Soundscape metrics data product order segmentation cannot handle extended periods of no data
  • [DMAS-82291] - Multiple files downloaded for one week of SPDdata with weekly file breaks
  • [DMAS-82342] - Issue with multiple ParserVersion
  • [DMAS-82429] - Restrict start & end dates for annotation entry inputs
  • [DMAS-82430] - Allow easier copying of date inputs

Investigation

  • [DMAS-82022] - Ensure requirement and design documentation are up-to-date and correct for licenceurl
  • [DMAS-82249] - Figure out how to use Harbor

Documentation

  • [DMAS-82013] - Create a how-to for the fixed camera locations map widget
  • [DMAS-82014] - Create a how-to for the fixed camera locations tree widget
  • [DMAS-82472] - Document requirement changes
  • [DMAS-82487] - Write documentation for Endeavour Earthquake Autolocate task

November 28, 2024

Minor release to fix casts and geospatial area visibility.

Tickets Released: Oceans 3.0: 24.10.004 (accessible to internal users only). Total: 4.

November 15, 2024

Minor release (hotfix, no downtime) to fix issue generating spectrograms from .FFT files.

Tickets Released: Oceans 3.0: 24.10.003 (accessible to internal users only). Total: 2.

November 13, 2024

Minor release (no downtime) to Earthquake Messaging to operational status, fix issue with ferry shorestation cache.

Tickets Released: Oceans 3.0: 24.10.002 (accessible to internal users only). Total: 2.

November 8, 2024

Minor release (hotfix, no downtime) to update map colours on the Endeavour Earthquake Catalogue.

Tickets Released: Oceans 3.0: 24.10.001 (accessible to internal users only). Total: 1.

November 7, 2024

Major release.

Maintenance & Testing

  • Remove Data Player from the "More" menu (to be replaced soon)

  • Make Draggable-Collapsible dialog more Accessible.
  • Bug fixes on nameplate tab of device details page
  • Allow time overlapping for two devices (but not allow identical datefrom) of same devicecategory attached to same searchtreenode
  • Bug fixes in staging topology tool
  • Internal: add to DAQ monitoring dashboard in Python (Scalar data plot with two sensors of different type on separate axis)
  • Selenium tests: create new/update existing, plus bug fixes

SeaTube

  • Support for selecting pre-defined layouts in the dive log
  • Created an ExportStrategy for generic annotation export
  • Added new columns to annotation export for WoRMS specific taxons (Aphia ID, Taxon Rank, Life Science Identifier, Link to WoRMS) 
  • Allow NOAA to delete individual chat log messages (in new dive log) to bring parity between old and new dive log 
  • Standardized the refresh icon across multiple SeaTube pages
  • Removed a few irrelevant columns in the Deck Log’s annotation table UI
  • Refactoring the dashboard framework to better support future projects
  • Fixed attributes re-displaying after deleting on the Button Set Configuration page
  • Fixed not being able to use the same button consecutively in the Button Set widget
  • Fixed unintended syncing of selected button sets between dive / deck log
  • Fixed issue where refreshing the dive log would close the tab instead of refresh

New Features

Landing Page

  • Bug fix - Spelling corrected in Web Services panel

User Defined Dashboards

  • Bug fix - Text Widgets display text that that overflows correctly using a scrollbar

Data Viewer

  • Data Viewer page (removed from menu) now available where Chart Widgets can be added - lots more functionality to come

Infrastructure

  • Bugfix: attempt to recover if database is unavailable when trying to update a task's status.
  • Bugfix: validation in UserAuthenticationService
  • Bugfix: empty duplicate column in TaskManagement overview table
  • Improvement: "Master" and "Slave" on https://data.oceannetworks.ca/DeviceSynchronization renamed to "Lead" and "Follow"
  • Improvement: update new RESTful web services to current standards
  • Removal: several unused web services (BioSonicsAttributeService, DafStatsService, SensorAttributesService)
  • Removal: several unused & unavailable web services (see Tickets in Release for the full list)

API, EEW and Mini-Projects

  • Many small improvements for the Endeavour Earthquake Catalogue
  • Added Endeavour Earthquake Catalogue to the "more" menu
  • Fix for the RinkoAROFTCorretion JEP formula
  • Added filename parameter to archivefile API
  • Update acceleration download job to accept multiple output directories

Community Fishers

  • Updated Oceans3.0 to support different CF station restriction levels
  • Calculate cast buffer from processing attributes
  • Create Community Fishers Data Attribution Post Process task
  • Parse log files to determine data attributions
  • Fixed Instrument node being pruned from Instruments by Category tree on Data Search when it should not be
  • Added CF geospatial map v2 demo link for internal use only

Data Products

  • Update ferry data products to support Island Class ferry routes
  • Soundscape metrics updates: grid lines, titles, process improvements
  • NetCDF time attribute fix
  • Refactoring and fixes for datetime values

Instruments

  • In-progress: Junction Box API for P-ONE project, this includes several enabling security and permissions features

Tickets Released: Oceans 3.0: 24.10.000 (accessible to internal users only), total: 195. Automated Testing: AT.24.10.000, total: 32.

Bug

  • [DMAS-78694] - Instrument node being pruned from Instruments by Category tree on datasearch when it should not be
  • [DMAS-80798] - Attributes re-display after deleting, but are deleted in the database
  • [DMAS-80861] - Anonymous user data searches stuck in pending since ~5 PM July 24th
  • [DMAS-81196] - Fix flaky ManualEntryForm.cy.tsx tests
  • [DMAS-81558] - Annotation's 3-dot action menu goes to top of the annotation list
  • [DMAS-81607] - Can't use same quick button twice in a row
  • [DMAS-81642] - DMAS SeaTube Playlist Export Failure: 08-Oct-2024 19:40:17 UTC, Video Export, SearchHdrId 21609612, UserId 185600
  • [DMAS-81673] - `getNortekProduct()` raises an error if date arguments are not provided
  • [DMAS-81691] - `getobservatoryinfo` includes invalid query
  • [DMAS-81696] - MTC Integration Lab destination sitedevice is not being created upon topology disconnection
  • [DMAS-81717] - Task Status: duplicate column 'Status'
  • [DMAS-81736] - Can't update Manufactured Date in Nameplate tab
  • [DMAS-81742] - Fix Login component's redirect functionality to work with Chrome
  • [DMAS-81743] - Fix issue where nx affected can't stash a non exsistent file
  • [DMAS-81744] - Don't use affected for main branch
  • [DMAS-81751] - Button sets chosen on the dive log display in the button set widget in deck log, and vice versa
  • [DMAS-81803] - UserAuthenticationService can bypass password validation
  • [DMAS-81810] - Automatic merge failure from release to main in ONC Data Products
  • [DMAS-81814] - Check on time units in NetCDF data products
  • [DMAS-81830] - Fix merge conflict from release/24.09.000 to main for DMAS-81824
  • [DMAS-81838] - Refreshing the live dive log page closes the tab instead of refreshing
  • [DMAS-81841] - The edit clip dialog's Save button does not reenable if disabled
  • [DMAS-81859] - NetCDF CODAR files have wrong values in `time_coverage_start` and `time_coverage_end` global attributes
  • [DMAS-81864] - The beta dive log page 500s
  • [DMAS-81893] - QAQC bar no longer showing in QA
  • [DMAS-81940] - Dashboard text widget display issue
  • [DMAS-81942] - Many DataSync logs on ecweb1
  • [DMAS-81969] - When wide, Annotation Entry's Drafts panel doesn't collapse much
  • [DMAS-81970] - Resolve typescript error in image widget
  • [DMAS-81978] - Fix Old Data Popup on LatestReadingsWidgetDisplay
  • [DMAS-82017] - Fix Typescript Error in ImageWidget
  • [DMAS-82056] - EhcacheWrapper class / DataProductFormatSensorBySensorId creating hundreds of thousands of WARNings
  • [DMAS-82063] - For convertion of `gridFileDateFrom` from date string to datenum in `getCODARqcDP()` wrong date format is used
  • [DMAS-82078] - In QA, Zoom to Unsummarized isn't using the correct date range, seems to be using the configured date range
  • [DMAS-82100] - Please correct the RinkoAROFTCorrection JEP formula
  • [DMAS-82190] - checkout failed for release/24.10.000 of oceans-next
  • [DMAS-82205] - Unrecognized function or variable `TIME_OUT` in `getcasts()`
  • [DMAS-82211] - CastDataCorrection fails if device has no sample rate
  • [DMAS-82235] - Search automation tests for getCODARqcDP failing in QA

Epic

  • [DMAS-46988] - As a dev, I would like to see inactive web services get deleted from dmas code

User Story

  • [DMAS-80403] - Reingest annotations from EX1806 to add taxa, based on NOAA's export files
  • [DMAS-81209] - As a SeaTube user, I would like a set of predefined layouts on the new dive log
  • [DMAS-81514] - Create & apply a standard for RESTful web services
  • [DMAS-81757] - As a ST developer, I would like to have a new page for discovering locations with fixed cameras

Task

  • [DMAS-31679] - Improve message when user try to use Download button to download data product before metadata ready
  • [DMAS-46914] - SearchManagerService appears to be inactive and would be deleted
  • [DMAS-46918] - LastXSearchService appears to be inactive and would be deleted
  • [DMAS-46931] - AttributeLookupService appears to be inactive and would be deleted
  • [DMAS-46951] - Check and delete inactive AttributeMaintenanceService
  • [DMAS-47094] - FileLoadService appears to be inactive
  • [DMAS-47229] - internal/DataSearchResultService appears to be inactive and might be deleted
  • [DMAS-47242] - Check SensorAttributeMaintenanceService and delete if unused
  • [DMAS-47249] - XMLDriverCommandRecorderService appears to be inactive and would be deleted
  • [DMAS-47486] - Please check and delete GroupedSensorAttributeMaintenanceService if it is inactive
  • [DMAS-47536] - Rename or delete one of DataProductWebService and DataProductsWebService
  • [DMAS-48184] - DafStatsService is obsolete and no longer used.
  • [DMAS-75763] - Update ferry data products to work with new island class ferry routes
  • [DMAS-79295] - Make backend runnable in VSCode
  • [DMAS-80061] - creat trx for um_userprivilege database table
  • [DMAS-80940] - Delete Project code
  • [DMAS-81266] - Calculate cast buffer from processing attributes
  • [DMAS-81296] - Replace our Base64 util class with the JDK's
  • [DMAS-81357] - Refactor useScalarDataList Hook
  • [DMAS-81371] - Switch scalar data calls to Tanstack useQuery
  • [DMAS-81456] - Add a few columns to SeaTube export
  • [DMAS-81458] - Upgrade LatestReadingsWidgetConfig
  • [DMAS-81461] - Upgrade LatestReadingsWidgetDisplay
  • [DMAS-81464] - Upgrade LatestReadingsWidget
  • [DMAS-81502] - SeaTube search: ingestion format wording and error
  • [DMAS-81507] - Move some tutorials into storybook for front end code
  • [DMAS-81532] - Copy chat log delete related features from old dive log to beta version
  • [DMAS-81536] - Please remove review related columns in annotation table of the Deck Log
  • [DMAS-81537] - Make all refresh button icons consistent across SeaTube apps
  • [DMAS-81554] - Dashboard Framework cleanup
  • [DMAS-81568] - Remove the ability to reload a cache without reloading its dependencies
  • [DMAS-81589] - Create a tutorial on how to use CSS in material ui 5+
  • [DMAS-81591] - Refactor TextWidget Tests
  • [DMAS-81596] - Upgrade ImageWidgetConfig
  • [DMAS-81627] - Remove uses of MUI alert component in DFManagementEditor and SensorMaintenance
  • [DMAS-81628] - Please update how-to document for Annotation List and Chat Log List related to the scroll to center feature
  • [DMAS-81647] - Upgrade ImageWidgetDisplay
  • [DMAS-81650] - Add CF v2 demo link to ONC
  • [DMAS-81651] - Turn off retries in react-query
  • [DMAS-81653] - Upgrade ImageWidget
  • [DMAS-81667] - Upgrade DataPreviewWidgetDisplay
  • [DMAS-81670] - Upgrade DataPreviewWidget
  • [DMAS-81709] - Enable OSGi tests in onc-test
  • [DMAS-81738] - Update DraggableToolbox.tsx with role="dialog"
  • [DMAS-81749] - Refactor the Annotation Drafts list to use the DraggableList component so they can be reordered
  • [DMAS-81756] - As a ST user, I want to see a UTC timestamp in a tooltip when I hover somewhere on the seek bar
  • [DMAS-81778] - Deletion in topology doesn't propagate downstream unlike disconnection operation
  • [DMAS-81783] - Remove unused FilterFieldContainer form component
  • [DMAS-81802] - Create structure for data viewer page
  • [DMAS-81813] - Set heap space limits for running Oceans 3 through Eclipse
  • [DMAS-81837] - Update the acceleration download job to write to multiple file locations
  • [DMAS-81842] - O3.0 should allow overlapping sitedevices of the same devicecategory at the same searchtreenode
  • [DMAS-81845] - remove more > Data Player from dmas menu
  • [DMAS-81862] - Catch exceptions thrown from GroupPrivilegeManager.getUserPrivilegeForResource
  • [DMAS-81868] - add a filename paramter to the archive file public api
  • [DMAS-81938] - Support wildcards in the middle of a REST servlet URL
  • [DMAS-81944] - Use Date Picker instead of Date Time Picker for the dataFrom field in the resource role tab of the device details page when creating a new resource role
  • [DMAS-81966] - Run Jenkins' docker cleanup job nightly and morningly
  • [DMAS-82006] - Add Vlad to QA search failure emails
  • [DMAS-82016] - Delete Repeated Cypress Test Files
  • [DMAS-82208] - Apply non-breaking fixes for known 3rd-party vulnerabilities in Oceans Next

Implementation

  • [DMAS-78942] - Ingest JSON files into QA, DEMO
  • [DMAS-80021] - Manually convert the input file to our standard ingestion format
  • [DMAS-80023] - convert EX1806 CSV files to standard JSON format files
  • [DMAS-80430] - Create an ExportStrategy for generic annotation export
  • [DMAS-80584] - Use nx to run cypress tests & check cypress for TS errors
  • [DMAS-80586] - Pull Accordions into base-components
  • [DMAS-80683] - Demo GeospatialMap v2 to Community Fishers stakeholders
  • [DMAS-80780] - Update Oceans to support different station restriction levels
  • [DMAS-81044] - Create scripts for creating new npm workspaces
  • [DMAS-81174] - Update components to replace placeholder textfields and dropdowns
  • [DMAS-81389] - Create a dropdown menu in the dive log's header bar that allows the user to select a predefined layout
  • [DMAS-81390] - Define and create predefined layouts for the new dive log
  • [DMAS-81432] - Run & Cache jest tests with NX
  • [DMAS-81438] - Convert TextWidget to Typescript
  • [DMAS-81439] - Convert TextWidget to Functional Component
  • [DMAS-81460] - Convert LatestReadingsWidgetConfig to Typescript and Functional
  • [DMAS-81463] - LatestReadingsWidgetDisplay Convert to Typescript and Functional
  • [DMAS-81465] - Create LatestReadingsWidget Cypress Tests
  • [DMAS-81466] - Convert LatestReadingsWidget to Typescript and Functional
  • [DMAS-81505] - Refactor dbQueries subfolder
  • [DMAS-81510] - Add the ingestion csv format option to the SeaTube Search export options
  • [DMAS-81530] - Implement Login as a typescript functional component using react-hook-form
  • [DMAS-81550] - Implement ActionConfig as a typescript functional component using react-hook-form
  • [DMAS-81555] - Remove unused code related to channel listeners
  • [DMAS-81557] - Consolidate the storage of layouts and widgets
  • [DMAS-81560] - Remove withSnackbars in favor of the snackbars hook
  • [DMAS-81561] - Make BroadcastChannels a little more convienent
  • [DMAS-81562] - Improve the config object for the widgets
  • [DMAS-81569] - Implement ExtensionConfig as a typescript functional component using react-hook-form
  • [DMAS-81579] - Implement DataRatingRW as a typescript functional component using react-hook-form
  • [DMAS-81581] - Update the SeaTube annotation export format enum on the backend
  • [DMAS-81597] - Create ImageWidgetConfig Cypress Tests
  • [DMAS-81598] - Convert and Upgrade ImageWidgetConfig
  • [DMAS-81600] - Move Alerts, AppBar, and Avatar to BaseComponents
  • [DMAS-81634] - Implement DeviceActionMaintenanceRW as a typescript functional component using react-hook-form
  • [DMAS-81648] - Create Cypress Tests for ImageWidgetDisplay
  • [DMAS-81649] - Convert ImageWidgetDisplay to Typescript and Functional
  • [DMAS-81655] - Create ImageWidget Cypress Tests
  • [DMAS-81656] - Convert ImageWidget to Typescript and Functional
  • [DMAS-81668] - Write DataPreviewWidgetDisplay Cypress Tests
  • [DMAS-81669] - Convert DataPreviewWidgetDisplay to Typescript and Functional
  • [DMAS-81671] - Cypress Tests for DataPreviewWidget
  • [DMAS-81672] - Convert DataPreviewWidget to Typescript and Functional
  • [DMAS-81680] - Refactor SearchHistoryTable to use react-hook-form
  • [DMAS-81682] - Update readme
  • [DMAS-81684] - Implement DevicePortRW as a typescript functional component using react-hook-form
  • [DMAS-81700] - VideoWidget: combine tests
  • [DMAS-81706] - Create prototype for the data availability api
  • [DMAS-81719] - Implement IpMaintenanceRW as a typescript functional component using react-hook-form
  • [DMAS-81720] - Simplify names of public methods of CacheLoader
  • [DMAS-81731] - Implement CreateQueueDialog as a typescript functional component using react-hook-form
  • [DMAS-81732] - Update RESTful cable services to current standards
  • [DMAS-81733] - Update RESTful synchronizer services to current standards
  • [DMAS-81734] - Update RESTful taxonomy services to current standards
  • [DMAS-81735] - Update RESTful units services to current standards
  • [DMAS-81759] - Implement CreateShorestationDialog as a typescript functional component using react-hook-form
  • [DMAS-81780] - Implement ExtensionDetailConfig as a typescript functional component using react-hook-form
  • [DMAS-81784] - Improve parsePathParameters
  • [DMAS-81787] - Implement ResourceRoleConfig as a typescript functional component using react-hook-form
  • [DMAS-81795] - Create a new app that renders an empty dashboard for the fixed camera location "discovery" page
  • [DMAS-81796] - Create a servlet that will be the home of the new "discovery" page for fixed camera locations
  • [DMAS-81807] - add site detection widget
  • [DMAS-81812] - split the endeavour plot widget into one widget for each plot type
  • [DMAS-81818] - allow all endeavour table columns to be resized and reordered
  • [DMAS-81820] - Move divider, IconButton, Tooltip to base-components
  • [DMAS-81821] - Change cypress config to include findByRole, oncMount and etc.
  • [DMAS-81826] - update endeavour earthquake catalog map so fault lines are continuous rather than points
  • [DMAS-81856] - add the Endeavour Earthquake Catalog to the dmas menu
  • [DMAS-81867] - Add ChartWidgetDisplay to widget
  • [DMAS-81878] - Create Community Fishers Data Attribution Post Process task - SQL
  • [DMAS-81887] - Update RESTful MQLocation & DataPreviewAnnotation services to current standards
  • [DMAS-81888] - Clean up redundant methods of GroupPrivilegeManager
  • [DMAS-81937] - Create a new application for Dive Log in the sy_application table
  • [DMAS-81941] - Catch other exceptions thrown from GroupPrivilegeManager where straightforward
  • [DMAS-81967] - Add gridlines to soundscape metrics plots
  • [DMAS-82018] - Add licenceurl column to im_licence
  • [DMAS-82098] - resize map and plots when the widget is resized
  • [DMAS-82189] - create legend for endeavour earthquake catalog

Bug (ST)

  • [DMAS-81556] - Fix an issue where a different layout renders briefly when unmounting the dashboard
  • [DMAS-81623] - Fix issue when nx affected hits 0 tasks
  • [DMAS-81707] - Fix Spelling Error on Landing Page
  • [DMAS-81745] - Endeavour earthquake autolocate erroring on main due to date formats
  • [DMAS-81877] - Missed matlab date format constant
  • [DMAS-82053] - File location cleanup times were flipped
  • [DMAS-82201] - Extra bullet point in band plot subheader info for non-array hydrophones

Investigation

  • [DMAS-80767] - Do a quick look at the code base to see what needs to the upgraded to handle the request
  • [DMAS-82024] - Investigate candidate repositories

Requirement

  • [DMAS-80114] - Document artifact repository requirements and short-term objectives

Design

  • [DMAS-81388] - Design what selecting a pre-defined layout will look like
  • [DMAS-81974] - UI Design for shared date range config

October 24, 2024

Minor release to fix issues with PVCS (ferries) driver, plus improvements for Task Management, soundscape metrics data products, and CF map.

Tickets Released: Oceans 3.0: 24.09.001 (accessible to internal users only). Total: 12.

October 15, 2024

Major release.

Maintenance & Testing

  • Optionally include the sourcesensorid to the QAQCid in the QAQC exclusion list

  • QAQC region test supports two or more sourcesensorid from inheritance in a parent-piggyback set
  • Email from cancelling reprocess show correct taskid
  • Bug fixes in staging topology tool
  • Add new topology_trx table and move existing records in topology_hist into new topology_trx
  • Add missing devicetypeattribute (so that every deviceattribute has corresponding devicetypeattribute)
  • Add unique constraint (sensorid, attributeid, datefrom) in sensorattribute table
  • Add constraint to not allow duplicate deployments of the same devicecategory attached to same searchtreenode
  • Write DAQ monitoring dashboard in Python (Data Preview gif data product)
  • Python client library: code refactoring
  • Selenium tests: create new/update existing /bug fixes

Infrastructure

  • Feature: completely reinitialize database connection after a failure
  • Improvement: fix SiteDevice/Site/Observatory cache loaders for much better performance and (hopefully) significantly lower peak database load
  • Improvement: cache DataProductFormatSensors to significantly reduce baseline database load
  • Improvement: improve indexes on tm_task to reduce database load and display task history quickly for all  combinations of tasks and statuses
  • Improvement: when no database connections are available, wait longer before timing out
  • Deprecation: task history overview can only be sorted by Date Queued
  • Internal only: many improvements to builds, continuous integration, plus refactoring

SeaTube

  • Finished Map widgets conversion in Dive Log beta version
  • Finished Chat Log widget conversion in Dive Log beta version
  • Finished Sensor Reading widget conversion in Dive Log beta version
  • Finishing SeaTube ingestion format export
  • Working on SeaTube style dashboard cleanup
  • Added a new group for beta users
  • Refactored the timestamp selection communication between widgets
  • Added a link for an annotation which is referring to a user defined taxonomy
  • Some UI improvements & few bug fixes

New Features

Manual QA/QC

  • Ability to zoom to unsummarized 
  • Enable showing a QA/QC bar on a Chart, off by default. Also note showing this bar will be available only when one data source has been selected.
  • Ongoing widget cleanup: Chart, Text

Latest Hydrophone Player

  • Support full location based data selection ensuring the latest Hydrophone device at a location will be used
  • Bug fix: ensure the same date range is used for both spectrograms and audio files

Mini Projects & API

  • Small fixes to device details general tab 
  • Lots of improvements to the device workflow bulk update
  • Remade the Endeavour earthquake catalog page as a dashboard with widgets
  • Scalar data API and json data product now always return the midpoint as the timestamp for resampled data
  • Data preview annotations show up on data search page

Community Fishers

  • Finalize profile animation data product
  • Search failure due to CF device removed from package
  • Small changes to the map: 
    • Make progress bar spin instead of incrementally updating
    • Icon button and Name changes
    • Add a clear button to the Data Product Cart

Data Products

  • Endeavour Earthquake Catalogue (initial release)
  • Soundscape metrics (initial release)
  • MATLAB log level and logging improvements (reduce volume, eliminate empty lines, etc)
  • MATLAB code refactor for dates (carry milliseconds through, make date format consistent) and parameters
  • CODAR netCDF lat/lon attribute fix
  • Font update for logo
  • Search failure for multiple deployment searches on Buoy Profiler

Instruments

  • New driver for P-One Inertial Measurement Unit

Tickets Released: Oceans 3.0: 24.09.000 (accessible to internal users only), total: 190. Automated Testing: AT.24.09.000, total: 18.

Bug

  • [DMAS-80450] - Investigate the QAQC Region test inheritance behaviour in a parent-piggyback set up
  • [DMAS-80935] - SeaTube Annotation Ingestion Format allows a taxonomy without a taxon
  • [DMAS-80936] - Annotation conversion failures are being written to the wrong location
  • [DMAS-81134] - Data Search all available option gets snarled by the new dateTo future check
  • [DMAS-81229] - Email from cancelling a job in a reprocess console does not contain a valid reprocess id
  • [DMAS-81284] - DeviceAttributesService does not return device attributes defined solely in deviceattribute table
  • [DMAS-81334] - Oceans Next Storybook build fails when using multiple workspaces
  • [DMAS-81337] - A few bugs/improvements for the generic annotation conversion process
  • [DMAS-81340] - Jenkins docker agents are low on space in /var/lib/jenkins
  • [DMAS-81397] - index out of bounds exceptions when processing some location.json files
  • [DMAS-81416] - Typescript error related to ManualEntryFormData.ts
  • [DMAS-81417] - Ensure that the audio player and spectrogram viewer are viewing the same source file for latest hydrophone player
  • [DMAS-81451] - Fix bugs and incorrect behaviour in Sensor Reading panel after DMAS-81019
  • [DMAS-81468] - Few bugs related to copy link in beta version of dive log
  • [DMAS-81473] - Seatube video service is polled after the video widget is removed from the dive log beta
  • [DMAS-81482] - why not see record with operation=I in topology_hist table in prod
  • [DMAS-81486] - Historical Data Product Availability job failing
  • [DMAS-81499] - Fix build issues in oceans-next main
  • [DMAS-81500] - Correct CODAR netcdf global attributes for geospatial_lat_units and geospatial_lon_units
  • [DMAS-81526] - DMAS Search Failed Notification: 27-Sep-2024 17:59:10 UTC, Turner Cyclops-7F Fluorometer (S/N 900472), Aligned and Depth-Binned Profile Data (On-Demand), SearchHdrId 21420125, UserId 49940
  • [DMAS-81531] - Oceans Next feature branch builds failing on `git merge-base HEAD origin/main`
  • [DMAS-81539] - DeviceDetails-Nameplate: Missing Manufacturer Error message disappears on clicking Save.
  • [DMAS-81543] - DeviceDetails-Nameplate: Add Nameplate does not work
  • [DMAS-81549] - Observatory cache loads cause heavy database activity
  • [DMAS-81551] - DeviceDetails-Nameplate: Deleted nameplate still present in table
  • [DMAS-81552] - DeviceDetails-General: Modified Date not updated in QA
  • [DMAS-81559] - When recording a video clip I cannot use the spacebar when entering a playlist name or description because it toggles play/pause actions
  • [DMAS-81574] - Fix AnnotationListWidget.cy.tsx flakiness
  • [DMAS-81577] - AnnotationList current annotation is hidden below the end of the list
  • [DMAS-81636] - QaqcResultByPKCacheLoader Key Error
  • [DMAS-81661] - DMAS Search Failed Notification: 08-Oct-2024 22:24:38 UTC, Inshore Profiling System-Profiling Instrument Package, Time Series Scalar Profile Plot and Gridded Data, SearchHdrId 21609689, UserId 2682
  • [DMAS-81686] - Broadcasted message timing can potentially cause latest hydrophone viewer and audio widgets to sync incorrectly
  • [DMAS-81694] - TaskManagement page renders All Tasks history very slowly when statuses Queued, Running, Cancelling are selected
  • [DMAS-81718] - Error-level logs not being logged properly

User Story

  • [DMAS-69554] - As a hydrophone data user, I would like soundscape metrics and analytics data products
  • [DMAS-69867] - As a DAQ team member, I would like to have distinct Date/Time constraint to qaqc attributes
  • [DMAS-79546] - As a scientist, I would like my Endeavour Earthquake Detection code to run operationally
  • [DMAS-80089] - As a dive logger, I want the Chat Log widget migrated to the new dive log page
  • [DMAS-80090] - As a dive logger, I want the Map widget migrated to the new dive log page
  • [DMAS-80260] - As a Data Search user we would like data preview annotations specified in the second data search tab
  • [DMAS-80356] - As a NOAA user, I would like to export annotations in ST standard format
  • [DMAS-80559] - Use archivefiles service over dataProductDelivery for latest hydrophone spectrograms
  • [DMAS-80902] - Clean up task history queries
  • [DMAS-81098] - As a community fishers data user I would like the Community Fishers Station Profile Animation to be finalized
  • [DMAS-81164] - As a user, I would like to see some small improvements on Device Workflow bulk update
  • [DMAS-81312] - As a dive logger, I want the Sensor Readings widget migrated to the new dive log page (I)
  • [DMAS-81476] - As a dive logger, I want the Chat Log widget migrated to the new dive log page (I)
  • [DMAS-81477] - As a dive logger, I want the Map widget migrated to the new dive log page (I)
  • [DMAS-81506] - As a DAQ Specialist, I would like to optionally include the sourcesensorid to the QAQCid in the QAQC Exclusion
  • [DMAS-81610] - As a system operator, I want the system to be more resilient to heavy database activity and connection issues

Task

  • [DMAS-73429] - Upgrade @date-io/moment to v2
  • [DMAS-74764] - Update IndexGenerator in webpack to make changes to assets earlier
  • [DMAS-78027] - Do not truncate milliseconds when getting search details within Matlab
  • [DMAS-78397] - O3 should complain when two devices of the same devicecategory are attached to the same searchtreenode at the same time
  • [DMAS-79029] - update task management overview documentation
  • [DMAS-80127] - Restrict Encrypt.encryptUserPassword to internal use in LDAPImpl
  • [DMAS-80448] - Document a full test procedure for newly-built production diveloggers
  • [DMAS-80568] - Logging improvements for hydrophonepostprocessjob
  • [DMAS-80725] - ST Export format for attributes - separate columns like standard ingest format
  • [DMAS-80758] - Docker cleanup job should verify that enough space has been freed
  • [DMAS-80786] - Upgrade gradle to in wowza-date-time-generator
  • [DMAS-80912] - Remove the total number of files from the paging display in FileManagement
  • [DMAS-80942] - Regenerate mockServiceWorker.js when Renovate upgrades msw
  • [DMAS-80959] - Synchronization errors should track whether the error happens while handling synchronization or while saving data to be synchronized
  • [DMAS-80964] - Add a volume control to the new video player
  • [DMAS-81089] - Improve the performance of reading DataProductFormatSensors
  • [DMAS-81139] - Driver for Inertial Measurement Unit
  • [DMAS-81212] - Upgrade TextWidgetConfig
  • [DMAS-81220] - Ingest sample file into Demo for NOAA to review: EX2306_Dive 04
  • [DMAS-81289] - Upgrade cypress to the latest (13.14.2) to get "just in time compile"
  • [DMAS-81307] - Fix automerge failure from release/24.08.000 to main
  • [DMAS-81343] - Add new ONC font to data products repository
  • [DMAS-81353] - Add example for autocomplete default values for react-hooks
  • [DMAS-81384] - Fix issues with code coverage failing in main
  • [DMAS-81402] - Create repo for Bruno web service testing
  • [DMAS-81404] - Upgrade TextWidgetDisplay
  • [DMAS-81409] - All scalar time series data when averaged/resampled should have the timestamp in the middle of the window
  • [DMAS-81411] - Create a soundscape metrics user and use that for searches/API
  • [DMAS-81412] - Hide the option to subscribe for apple push notifications on the eew subscription page
  • [DMAS-81418] - Fix and implement get by location in data player widget when in latest & audio sync modes
  • [DMAS-81441] - earthquake catalog doesnt handle deleted nrcan and usgs events correctly
  • [DMAS-81443] - Add a git clean to the restore cached modules script
  • [DMAS-81444] - Investigate magnitude 2024-09-15 magnitude 6.5 earthquake
  • [DMAS-81452] - Fix component names in form and add form toggle
  • [DMAS-81453] - Add links on annotations in annotation list for user-defined taxonomies
  • [DMAS-81471] - Allow annotations to be clickable in historical mode, even if they don't have video
  • [DMAS-81472] - Refactor the dive log beta so that current time can be set by other widgets
  • [DMAS-81480] - Don't auto-upgrade @mui packages to v6
  • [DMAS-81481] - Upgrade babel-loader to v9
  • [DMAS-81487] - Don't auto-upgrade react packages to v18.3+
  • [DMAS-81504] - Have every environment's post-refresh scripts insert synchronizer deployments
  • [DMAS-81508] - Allow NOAA beta tester group to use beta version of the new dive log
  • [DMAS-81509] - Check for configuration errors in renovate builds
  • [DMAS-81522] - Make Select All checkbox actually select all table entries in Device Workflow Bulk Update
  • [DMAS-81588] - Update documentation references for SVN repo /devplayground/ONCMatlab
  • [DMAS-81617] - Apply non-breaking fixes for known 3rd-party vulnerabilities in Oceans Next
  • [DMAS-81685] - revert DMAS-81457

Implementation

  • [DMAS-69869] - Add distinct Date/Time constraint to qaqc attributes database tables
  • [DMAS-80326] - Convert Endeavour Earthquake Catalog page to dashboard
  • [DMAS-80550] - Create a widget container for the new Chat Log
  • [DMAS-80551] - Create a Chat Log component
  • [DMAS-80552] - Add features from 3-dot menu to Chat Log widget
  • [DMAS-80553] - Seek to the video position when selecting a chat log entry
  • [DMAS-80583] - Split a small section of BaseComponents into a separate package
  • [DMAS-80587] - Add lerna or NX for linting to the jenkins build script so that we only build & test changed packages
  • [DMAS-80656] - Add several properties to a transaction's internal state
  • [DMAS-80769] - Add code to set the current chart date range based on largest range for unsummarized
  • [DMAS-80824] - Skeleton Code for Cypress Test of GeneralTabPage Component
  • [DMAS-80888] - Get the Endeavour Earthquake Detection code working - linux
  • [DMAS-80933] - Build a docker image of the required environment for the Earthquake catalog code
  • [DMAS-81099] - Create example images of changes requested
  • [DMAS-81107] - Convert the old dive log map widget into a Widget for the new dive log
  • [DMAS-81130] - Setup CI for Earthquake detection docker build and run
  • [DMAS-81143] - Add an index to tm_task that performs well for all history queries
  • [DMAS-81177] - Make progress bar spin instead of incrementally updating
  • [DMAS-81181] - Icon button and Name changes
  • [DMAS-81187] - Add a clear button to the Data Product Cart
  • [DMAS-81201] - delete duplicate sensorattributes with same sensorid, attributeid, datefrom
  • [DMAS-81211] - Update task history queries to sort by datequeued by default
  • [DMAS-81213] - Convert TextWidgetConfig.jsx to typescript
  • [DMAS-81248] - Change empty log lines from info level to debug
  • [DMAS-81249] - Introduce Error log level - Matlab
  • [DMAS-81250] - Handle Matlab logs with error log level - Java
  • [DMAS-81282] - Create cypress tests for existing Device Workflow Bulk Update functionality
  • [DMAS-81319] - Add loading indicator from filter tab to results tab
  • [DMAS-81320] - Add a filter to each dropdown menu
  • [DMAS-81321] - Implement ItemConfig as a typescript functional component
  • [DMAS-81322] - Switch ItemConfig to use react-hook-form instead of Formik
  • [DMAS-81327] - Add QAQC flag option to config
  • [DMAS-81328] - Add QAQC flag bar to time series chart
  • [DMAS-81332] - Replace formik Form with FormDialog
  • [DMAS-81351] - Make Generic annotation conversion produce all creator/modifier information
  • [DMAS-81352] - Update backend calls to return processes, tasks, and phases based on selected process groups
  • [DMAS-81355] - Convert class component to functional component TextWidgetConfig.tsx
  • [DMAS-81362] - Implement NamePlateMaintenanceRW as a typescript functional component
  • [DMAS-81363] - Implement DataPreviewWidgetConfig as a typescript functional component using react-hook-form
  • [DMAS-81365] - Update ChartWidgetConfig to tsx and make functional
  • [DMAS-81375] - Create sink for results of autolocate program
  • [DMAS-81377] - Update job parameters to output to sink
  • [DMAS-81378] - Only output location_***.json files
  • [DMAS-81406] - Create Cypress Tests for TextWidgetDisplay
  • [DMAS-81407] - Convert TextWidgetDisplay to Typescript
  • [DMAS-81408] - Convert to Functional Component
  • [DMAS-81410] - Bind tasks working dir into docker container instead of copying files out of stopped container
  • [DMAS-81414] - Implement NX affected by configuring jenkinsfile to be able to use git within scripts
  • [DMAS-81426] - Finalize external documentation for Community Fishers Profile Animation dataproduct
  • [DMAS-81436] - Monitor active queries in postgres to identify what happens during a connection spike
  • [DMAS-81437] - Create Cypress Tests for TextWidget
  • [DMAS-81454] - Implement DialogForm as a typescript functional component using react-hook-form
  • [DMAS-81459] - LatestReadingsWidgetConfig Cypress Tests
  • [DMAS-81462] - Create LatestReadingsWidgetDisplay Cypress Tests
  • [DMAS-81478] - Implement DFManagementEditor as a typescript functional component using react-hook-form
  • [DMAS-81484] - Change FormDialog to react-hook-form
  • [DMAS-81489] - Legend for QAQC on chart widget
  • [DMAS-81490] - Extract Hibernate's Configuration and SessionFactory to a new class
  • [DMAS-81491] - Create a service to manage access to Hibernate's second-level cache
  • [DMAS-81492] - Attempt to reconnect to the database after a connection failure
  • [DMAS-81501] - Remove references to Hibernate's SessionFactory from outside of core datastorage bundles
  • [DMAS-81503] - Update ChartWidgetConfig to use react hook form
  • [DMAS-81517] - Refactor SubscriptionTable to use react-hook-form
  • [DMAS-81519] - Implement SensorMaintenancePanel as a typescript functional component using react-hook-form
  • [DMAS-81538] - Separate transaction control & monitoring
  • [DMAS-81547] - ChartWidget to tsx
  • [DMAS-81553] - Temporarily downgrade code to Python 3.8 to match version available on task machines
  • [DMAS-81563] - create react widget for data preview annotations
  • [DMAS-81564] - create service for returning data preview annotations
  • [DMAS-81570] - create a SeaTube beta user group
  • [DMAS-81571] - Add backend support similar to Dive Lead group in order to sync a user to all servers
  • [DMAS-81572] - Add the new beta groupId in SeaTube.jsx to allow both ONC logger admin group and beta group to use the beta features
  • [DMAS-81599] - Improve c3p0 configuration
  • [DMAS-81601] - Apply changes appoved by DAQ in example image ticket.
  • [DMAS-81603] - Add file locations for soundscape metrics task
  • [DMAS-81606] - include the sourcesensorid to the QAQCid in the QAQC Exclusion
  • [DMAS-81609] - Merge legend changes into release branch
  • [DMAS-81611] - Copy files out of container
  • [DMAS-81657] - Create virtual environment and install dependencies via Matlab system command if not exist
  • [DMAS-81698] - Change value of QAQC flag 6 to something other than white

Test

  • [DMAS-81255] - Create Cypress tests for TextWidgetConfig

Bug (ST)

  • [DMAS-81349] - Parsing should fail if the number of headers and the number of values in a row are not equal
  • [DMAS-81350] - Parsing doesn't parse the To Be Reviewed flag correctly
  • [DMAS-81370] - Pass date parameters as chars
  • [DMAS-81391] - If a workflow task is null, append should insert rather than writing 'null, blah blah blah'
  • [DMAS-81398] - When going back to the main menu after updating values, previously selected tasks remain selected
  • [DMAS-81419] - Jira issues currently not showing in Results table for DeviceWorkflowBulkUpdate
  • [DMAS-81520] - Renovate fails to upgrade vite

Investigation

  • [DMAS-75890] - List the Maven-hosted libraries used by Oceans 3 along with their status

Documentation

Requirement

October 1, 2024

Minor release for fixes for SeaTube export format and EEW correlator.

Tickets Released: Oceans 3.0: 24.08.003 (accessible to internal users only). Total: 2.

September 23, 2024

Minor release to fix an issue loading topology.

Tickets Released: Oceans 3.0: 24.08.002 (accessible to internal users only). Total: 1.

September 19, 2024

Minor release with a number of fixes and improvements for SeaTube's new dive log user interface based on feedback from the summer maintenance expedition. Also includes performance improvements for database queries and improvements for data availability summation.

Tickets Released: Oceans 3.0: 24.08.001 (accessible to internal users only). Total: 25.

September 10, 2024

Major release.

Maintenance

New Features or Improvements

  • Staging topology tool
  • Device Workflow Bulk Update
  • Cable Management Page (three tabs: cable listing, cable type, and connector type)
  • Write DAQ monitoring dashboard in Python (finished 3/8)
    • Time series scalar data plot from one sensor — line plot with error bar
    • Data Preview png data product –- image
    • Time series scalar data plot with two sensors of the same type — line plot with error bar
  • New and updated automated tests

Bug Fixes

  • Bug fixes in python client library

Infrastructure

  • Fix: Task Management takes forever to display history for some types of tasks (24.07.001)
  • Fix: requests to File Management & data product availability generation cause heavy memory use
    • This fix should improve performance & memory use of all queries for large numbers of ArchiveFiles
  • Fix: Synchronizer Management page doesn't check user privileges
  • Feature: log errors if a web service doesn't close all its transactions

SeaTube

  • Finish live dive support in Dive Log (beta)
  • Finish sensor reading widget in Dive Log (beta)
  • Finish annotation staging feature in annotation entry
  • Finish refactoring annotation export code
  • Finish annotation standard format converter
  • Bug fixes

Dashboards & New Features

Latest Hydrophone Player

  • Reads from archive files (instead of using dataProductDelivery and on-the-fly generation) to get latest five minute spectrogram. This is a large performance improvement.

Manual QAQC Integration

  • Added support for Prev/Next buttons
  • Reduced some vertical whitespace in the chart widget

Bug Fixes

  • Fixed issue with data not loading if trace names edited
  • Fixed issue where dashboard list shows empty pages for non-admin users
  • Fixed issue where obsolete scalardata calls were running instead of being cancelled resulting in poor performance
  • Prevent duplicate scalardata calls from being made for clean data
  • Fixed issue where incorrect colours were used for data selected via device and sensor
  • Fixed issue where devices with multiple sensors with the same property code weren't showing data
  • Refactor to "modernize" Chart Widget code and make it more maintainable

Earthquake Information Messaging System

  • Support SMS notifications (new line added to registration page, SMS is sent from correlator machine, max once per minute)
  • Update Email notification text

Community Fishers

  • CF casts assigned to decommissioned station
  • Create Cypress tests for SiteDeviceMaintenance
  • Make castpopupV2 without the +
    • Change color of download button to "success" once all generations are complete
    • Remove CastPopupList from the CastPopup
    • Newly selected products shouldn't override current products in the cart
    • When multiple downloads are happening at a time, some don't download despite being 'Completed'
    • Add 'select all' option in data product cart
    • Generate and track download data products
    • Fix column title typo in DataProductSelection dialogue

Bug Fixes

  • Search failure: handle non-assigned cast and missing depth
  • Upgrade O3 system banner to not cover tabs
  • Incorrect DataProductCode returned in dataProduct API
  • getTree method in Locations API returns empty instead of 404

User Interface Infrastructure

  • Change jest.config.json to typescript & add a configuration for the build file
  • Come up with a new directory structure for use with npm workspaces
  • Deprecate the old form component and link to the new one
  • Upgrade axios from 1.7.2 to 1.7.7

Data Products

  • Create task "Auto-locate" for Endeavour Earthquake Catalogue detection

Tickets Released: Oceans 3.0: 24.08.000 (accessible to internal users only). Total: 151. Automated Testing: AT.24.08.000 total: 22.

Bug

  • [DMAS-66576] - Chart widget doesn't support choosing a sensor category when there are multiple sensors with the same sensor type
  • [DMAS-73411] - Deleted Site Properties are Sometimes Displayed
  • [DMAS-79290] - All sensor data hidden on NOAA UCH dives where only positional data should be hidden.
  • [DMAS-80410] - Ensure data gap between deployments exists
  • [DMAS-80528] - Fix column title typo in DataProductSelection dialogue
  • [DMAS-80842] - Heap space issues on dctsk05 caused by Historical Data Product Availability Generation Task
  • [DMAS-80849] - Error snackbars are shown after pausing the video for longer time frames in dive log beta
  • [DMAS-80887] - Requests to FileManagement causing heavy memory use on dcweb2
  • [DMAS-80904] - Errors while converting CSV to JSON for annotation ingestion
  • [DMAS-80976] - Non-admin users can see buttons to create and edit synchronizer deployments on /app/synchronizer-management
  • [DMAS-80996] - In a Chart Widget, changing the trace name from default doesn't load data
  • [DMAS-81016] - Upgrade axios from 1.7.2 to 1.7.7
  • [DMAS-81059] - STV3 dashboard layout menu (3 dot) is not visible
  • [DMAS-81066] - Dashboard displays multiple pages with empty tables for certain user permissions
  • [DMAS-81068] - Trace colours aren't correct for data selected by device
  • [DMAS-81074] - Date field in annotation entry (new Dive Log) is not validating correctly
  • [DMAS-81075] - Annotation Entry widget's Taxonomy dropdown scrolling snaps to top because Video Widget is causing rerenders
  • [DMAS-81086] - Ensure outdated scalardata service calls are cancelled when interacting with the Chart Widget
  • [DMAS-81094] - Deck log link broken in Expedition Management
  • [DMAS-81096] - Dive Log (beta) page is blank when there is a video widget without video
  • [DMAS-81097] - Capture Time doesn't work in Dive Log (beta)
  • [DMAS-81103] - warning message when running some tasks
  • [DMAS-81113] - Devices with Restrictions are blocking the download of datasets regardless of Location
  • [DMAS-81124] - Taxonomy dropdown in dive log beta is not highlighting the selected value
  • [DMAS-81125] - Sometimes widgets get stuck behind a green box in the dive log
  • [DMAS-81140] - CF casts assigned to decommissioned station
  • [DMAS-81142] - Remove duplicate scalardata request being sent when data is changed
  • [DMAS-81162] - DMAS Search Failed Notification: 23-Aug-2024 18:31:05 UTC, AML-6 LGR A60008, Community Fishers Station Profile Animation, SearchHdrId 20696729, UserId 42593
  • [DMAS-81172] - main branch of oceans-next build failed with "ERROR: Checkout failed"
  • [DMAS-81173] - Multiple traces with the same type on the same axis get the same edited name
  • [DMAS-81222] - SeaTube Annotation CSV test case failing in QA search automation
  • [DMAS-81224] - Fix flaky ChartWidgetDisplay cypress test
  • [DMAS-81225] - Error pops up adding a deck log annotation at end of NEPDEP expedition
  • [DMAS-81233] - fix issue where a non cast was being detected as cast when editing
  • [DMAS-81236] - Table Refresh icon is missing in the System Console page in QA
  • [DMAS-81239] - Changes for access restrictions don't support DeviceService calls without a location
  • [DMAS-81240] - Profile updates are redirecting to the Kaboom page when contact info is updated to be blank
  • [DMAS-81241] - TaskHistoryBatchService returns tasks even if no statuses are enabled
  • [DMAS-81244] - Select An Area does not enable active date range
  • [DMAS-81256] - OpenAPI /api/dataProducts web service returns incorrect dataProductCode
  • [DMAS-81261] - Locations webservice getTree method returns empty result instead of triggering 404 response
  • [DMAS-81290] - latest code of release/24.08.000 of oceans-next build failed
  • [DMAS-81291] - ISLA location needs to be added
  • [DMAS-81326] - TaskHistoryBatchService operation 5 is failing
  • [DMAS-81333] - build tag 24.08.000 of oceans-next failed
  • [DMAS-81338] - SeaTube JUnit test failing in release
  • [DMAS-81346] - Issue for excludeScalarData param??

User Story

  • [DMAS-67010] - As a ST user, on the new dive log page, I would like to watch the latest archived videos without refreshing during a live dive
  • [DMAS-78282] - As a Data Steward, I would like to see an UI Topology staging tool
  • [DMAS-79799] - As a data specialist, I would love a way to update redundant workflows
  • [DMAS-80088] - As a dive logger, I want the Sensor Readings widget migrated to the new dive log page
  • [DMAS-80169] - Support toggle between raw and clean data
  • [DMAS-80302] - As a Data Steward, I would like to UI pages to do cable metadata management
  • [DMAS-80472] - As an EEW enthusiast, I would like to subscribe to simple earthquake detection notifications
  • [DMAS-80575] - Add prev/next functionality which displays the previous/next resp chunk of data
  • [DMAS-80882] - As a dive logger, I would like the ability to stage annotations so that they are ready to be saved after a little input
  • [DMAS-81015] - As a dive logger, I would like to use the new Dive Log dashboard while annotating in a live dive (II)
  • [DMAS-81119] - As an expedition shore support data steward, I would like an update to the Wiring The Abyss page logic for switching from deck log to dive annotations
  • [DMAS-81159] - As a ST user, on the new dive log page, I would like to watch the latest archived videos without refreshing during a live dive (I)
  • [DMAS-81160] - As a dive logger, I would like the ability to stage annotations so that they are ready to be saved after a little input (I)
  • [DMAS-81161] - As a dive logger, I would like to use the new Dive Log dashboard while annotating in a live dive (III)

Task

  • [DMAS-76269] - Create cypress tests for SiteDeviceMaintenance
  • [DMAS-80400] - Upgrade O3 system banner to not cover tabs
  • [DMAS-80766] - Investigate and fix why data is showing up on NOAA dives when it does not belong
  • [DMAS-80794] - Reduce white space in Chart
  • [DMAS-80795] - Update dive log test plan to include video-related tests
  • [DMAS-80913] - Confirm in demo that ORP sensor data updates are working properly
  • [DMAS-80934] - Remove TooltipIconButton and refactor all components using it to instead use the base component
  • [DMAS-80956] - Deprecate the old form component and link to the new one
  • [DMAS-81005] - Log stack traces of silenced exceptions in SearchTreeServiceHelper
  • [DMAS-81019] - Clean up TimeSeriesChart - remove useEffects where possible, etc
  • [DMAS-81041] - Refactoring TimeSeriesScalarDataChart logic for types and hooks
  • [DMAS-81045] - Ensure primary keys of persisted entities are Serializable
  • [DMAS-81067] - Remove almost-unused method HibernateSession.closeSession
  • [DMAS-81126] - Reduce how often the video player updates it's time information
  • [DMAS-81135] - Rename the "sidebar" in Annotation Entry
  • [DMAS-81136] - Make behaviour consistant with button labels in annotation entry
  • [DMAS-81137] - Save annotation drafts to storage locally so they can be recovered when the page is reloaded
  • [DMAS-81138] - Improvements to the messaging regarding annotations missing video in Annotation List
  • [DMAS-81185] - Replace prev/next buttons with plotly buttons
  • [DMAS-81197] - Improve gaps added between deployments for scalar data service so only, at most, 2 exist between deployments
  • [DMAS-81214] - Investigate to see if identical service calls can be cached using react query
  • [DMAS-81217] - Apply non-breaking fixes for known 3rd-party vulnerabilities in Oceans Next
  • [DMAS-81219] - onship#.datasync.q with #>4 show up on qa datacentre activemq and qaonshore1 activemq
  • [DMAS-81259] - Allow buttons to expand horizontally to fill the button set container if some columns are empty
  • [DMAS-81265] - Investigate annotations with IDs ending in 3

Implementation

  • [DMAS-80306] - Create a tab for cable listing
  • [DMAS-80377] - Remove CastPopupList from the CastPopup
  • [DMAS-80417] - Add control to SeaTube Search page for exporting annotations in our new standard format
  • [DMAS-80475] - Convert darwin core, search tree node, and location/instrument annotation exports to ExportStrategies
  • [DMAS-80638] - Add CableManagement to DmasMenu
  • [DMAS-80664] - Create DeviceWorkflowBulkUpdate Filter Tab
  • [DMAS-80665] - Create DeviceWorkflowBulkUpdate Results Tab
  • [DMAS-80666] - Create DeviceWorkflowBulkUpdate Action Tab
  • [DMAS-80675] - Change color of download button to "success" once all generations are complete
  • [DMAS-80682] - Generate and track download data products
  • [DMAS-80754] - Backend implementation for retrieving Devices using WorkflowBulkUpdate filters
  • [DMAS-80768] - Add code to set the current chart date range based on prev/next button
  • [DMAS-80819] - Cleanup chart widget state passed to ScalarDataChart
  • [DMAS-80821] - Skeleton Code for Cable Details GeneralTabPage
  • [DMAS-80822] - Skeleton Code for Cable Details GeneralTabPanel
  • [DMAS-80823] - Skeleton Code for Cable Details GeneralTabForm
  • [DMAS-80837] - SQL assign permissions for Bulk Update page
  • [DMAS-80879] - Add polling to the webservice to request new video data at a regular interval
  • [DMAS-80880] - Implement the design to visualize which annotations do not have archived video
  • [DMAS-80892] - Update backend update method for DeviceWorkflowBulkUpdate
  • [DMAS-80899] - Add Skeleton Code for User Organization Linking Page and Router
  • [DMAS-80923] - Support EEW SMS notifications
  • [DMAS-80968] - Implement User-Organization Listing Table
  • [DMAS-81004] - Create a sidebar component that displays beside the Annotation Entry form
  • [DMAS-81006] - Fix build errors caused by the missing class DateTimeParseException
  • [DMAS-81012] - Chart Widget Cleanup - Break out device list loading into hook
  • [DMAS-81037] - add approved field in database topology and topology_hist tables
  • [DMAS-81040] - Add staging tool tab in UI and update related Java code
  • [DMAS-81042] - Change jest.config.json to typescript & add a configuration for the build file
  • [DMAS-81043] - Breakout scalar data function into hook
  • [DMAS-81061] - Add typing to chart widget hooks and reducers
  • [DMAS-81073] - Create a skeleton widget for the Sensor Readings widget
  • [DMAS-81077] - Create the table view of the Sensor Readings widget
  • [DMAS-81083] - Update devpgsql1 connection information in hibernate.properties
  • [DMAS-81084] - update CableExtensionService to handle underfined cable/connectorType
  • [DMAS-81091] - Add propertyCode to sensors in scalar data service
  • [DMAS-81092] - Add property Code to device sources
  • [DMAS-81100] - Remove code backing nonexistent task tree nodes
  • [DMAS-81101] - Replace queries for task tree node history with a builder
  • [DMAS-81102] - Call task tree history queries directly from TaskHistoryBatchService
  • [DMAS-81109] - Create the graph view of the Sensor Readings widget
  • [DMAS-81117] - Log an error if a request to a servlet or web service doesn't close all its sessions
  • [DMAS-81121] - Add 'select all' option in data product cart
  • [DMAS-81127] - Create task for earthquake auto locate - SQL
  • [DMAS-81128] - Create task for earthquake auto locate - Matlab
  • [DMAS-81163] - Implement use of archivefile service to fetch latest 5 minute spectrograms
  • [DMAS-81168] - Small changes to the notification message
  • [DMAS-81169] - Implement DeviceWorkflowBulkUpdate servlet, add to web.xml
  • [DMAS-81184] - Replace integer arrays of statuses in TaskStateDAO
  • [DMAS-81267] - add toast when requesting test notification

Bug (ST)

  • [DMAS-80907] - GenericAnnotationParser requires optional fields
  • [DMAS-81038] - Newly selected products shouldn't override current products in the cart
  • [DMAS-81039] - When multiple downloads are happening at a time, some don't download despite being 'Completed'
  • [DMAS-81175] - BulkUpdate service should optionally append comment and jiraIssueId
  • [DMAS-81182] - Make castpopupV2 without the +
  • [DMAS-81188] - Change Cable Listing Name in CableListing form to Cable Name
  • [DMAS-81198] - BulkUpdateService process filter doesn't work
  • [DMAS-81199] - BulkUpdateService phase and task filters don't work
  • [DMAS-81200] - BulkUpdateService device filter doesn't work

Documentation

  • [DMAS-80865] - Create a How-To on Live dive annotating
  • [DMAS-81008] - Add steps to the How-To page for staging annotations
  • [DMAS-81009] - Add an annotation list how-to page

Requirement

  • [DMAS-80668] - Collect requirements for UI topology staging tool

Design

  • [DMAS-80581] - Come up with a new directory structure for use with npm workspaces
  • [DMAS-80932] - design topology staging tool

August 23, 2024

Minor release to fix an issue with SeaTube button sets.

Tickets Released: Oceans 3.0: 24.07.004 (accessible to internal users only). Total: 1.

August 19, 2024

Minor release to fix an issue with SeaTube comment fields.

Tickets Released: Oceans 3.0: 24.07.003 (accessible to internal users only). Total: 2.

August 15, 2024

Minor release with updates to data product availability, data products and the time series chart widget.

Tickets Released: Oceans 3.0: 24.07.002 (accessible to internal users only). Total: 6.

August 12, 2024

Minor release to fix an issue in task management.

Tickets Released: Oceans 3.0: 24.07.001 (accessible to internal users only). Total: 1.

August 12, 2024

Major release.

Internal projects

  • Improvement: PlottingUtility & api/scalardata performance (reading QAQC results) (24.06.001)
  • Improvement: FileManagement performance (for reading the number of files for a given search) (24.06.003)
  • Improvement: TaskManagement performance (loading a page of results)
    old
    new
  • Improvement: Better logging when searches can't be sent to task machines
  • Fix: Changes to a user in a logger group are synchronized to other organizations' ships

Maintenance

New Features or Improvements

  • New column "Comment" on Data Rating tab of Device Details page
  • Ability to edit multipleconnection flag on device port tab of device details page
  • New SensorType page in dmas menu
  • Show column "Exclude QAQC IDs"  on Calibration tab of sensor maintenance page
  • New deviceport creation will be independent with searchable flag of device
  • Column "Engineering List ID" is removed from DeviceStatus, DeviceActionListing and DeviceSearch page
  • Add calibration data to deviceAttributes for RBR Quartz3 BPR zero (461)

Bug Fixes

  • Privilege of clone device feature should limited to admin, DSO, GIS and RDM
  • Searchable flag on general tab of device details page should be editable
  • Manufactured date in nameplate always gets updated to current datetime
  • Need return clean average data in CSV data product even user asks for raw summary
  • Status of File archiver job should not be completed_with_error if some dataproductformatdevice is missed for some files to be archived 
  • Bug fixes in python client library
  • Automated testing improvements, fixes, additions

SeaTube

  • Finish Video Widget for beta version of the dive log
  • Start Live Dive support for beta version of the dive log
  • Refactor the SeaTube annotation export code in order to support standard annotation ingestion format export
  • Some minor improvements in Annotation List widget, Annotation Ingestion, Synchronization etc
  • Many UI bugs caused by React 18 upgrade

Community Fishers

Map

  • Store selection into context
  • Support CF locations in dataProducts discovery service

Community Fishers App

  • Show what data has been sent to ONC server on app

User Interface Infrastructure

  • Create a page with styles component to simplify common padding
  • Update React to version 18.3+
  • Update TypeScript to 18.3
  • Fix Prettier for version 3.3.3
  • Update eslint-plugin-react

Features

  • Update CommunityFishersDevicePackage service and page to include latest DeviceAction
  • Change cast deletion process to soft delete
  • Create new GeospatialSearchv2 page that uses new dialogues
  • Create a searchtreenodegeospatialarea_trx table
  • Remove option to create scalar ERDDAP datasets for RDI ADCP devices
  • Support CF locations within all discovery services (external / openAPI): location, dataProducts, deployments, deviceCategories, properties
  • Update ERDDAP UI regression tests
  • Upgrade Earthquake Dashboard to use new USGS URL's

Bug Fixes

  • Fixed failing GeospatialMap tests
  • Fixed cast detection job erroring in QA
  • Fixed failing tests for data preview management

Data Products

  • Updated logo on all images
  • Fixed Biosonics preview generation
  • Write SQL to remove Scalar RDI ADCP ERDDAP datasets

EEW

  • New email notifications and subscription page (internal only)
  • Fixed issue on earthquake catalog page where filters would sometimes get cached

New Features

DOIs & Batches

  • Fix: issue where a task couldn't be run in a batch even though all preconditions were met
  • Fix: ensure DOI is findable when getting the most recent DOI for a sitedevice

Chart Widget

  • Feature: Support display of raw data
  • Feature: Support data selection using device & sensor
  • Automated testing improvements

Instruments

  • SMOOVE / tempo-mini camera: added zoom and focus commands (focus is stuck in auto-focus mode on the camera)
  • Axis driver updated to allow parsing of laser on/off command
  • Sensor load by attributes parsing feature

Tickets Released: Oceans 3.0: 24.07.000 (accessible to internal users only). Total: 195. Automated Testing: AT.24.07.000 total: 31.

Bug

  • [DMAS-78179] - Laser Driver Functionality has stopped working for SubC devicetype 893
  • [DMAS-79728] - Creating a new deviceport shows a warning when the device field doesn't populate
  • [DMAS-80080] - Repeatedly clicking the checkbox on the current playlist clip behaves oddly
  • [DMAS-80499] - Storybook build errors break Oceans Next deployments
  • [DMAS-80540] - Possibly flaky Cypress test on new dive log page
  • [DMAS-80617] - Failing taxonomy attribute management UI tests
  • [DMAS-80644] - Device Clone button is available to additional/all staff after release
  • [DMAS-80657] - Earthquake Catalog display issues in Chrome
  • [DMAS-80660] - some data searches got stuck in queue status
  • [DMAS-80695] - Fix typescript errors that occur during cypress runs
  • [DMAS-80706] - Synchronization loop in QA
  • [DMAS-80709] - QA: User's groups lost after editing profile
  • [DMAS-80711] - Downloading raw average data returning all NaNs in CSV format
  • [DMAS-80732] - Fix ChartWidgetConfig.cy.tsx cypress tests failing after icon button changes
  • [DMAS-80737] - Renovate builds failing because of a duplicate file
  • [DMAS-80738] - Fix test in main for failing icon buttons on chart widget config
  • [DMAS-80739] - New users can't be synchronized to diveloggers
  • [DMAS-80747] - Share menu is not showing when video is in fullscreen in new dive log
  • [DMAS-80761] - Oceans Next build failing on main
  • [DMAS-80771] - File Archiver task 22 completing with errors due to a NPE on particular files
  • [DMAS-80784] - Poor performance when using broadcast hook to update values often
  • [DMAS-80785] - The daily Data Preview plots for the Biosonics echosounder at Folger Deep have not been producing properly for the past week
  • [DMAS-80788] - All users are being synchronized to the onshore divelogger in QA
  • [DMAS-80790] - main branch of oceans-next build failed
  • [DMAS-80793] - Cast detection job is erroring in QA
  • [DMAS-80802] - when parsing headers from an axios web service response it should be case insentive
  • [DMAS-80815] - Jenkins can't find backend source code for coverage results
  • [DMAS-80834] - Panels without an explicit aria-label are named "[object Object]"
  • [DMAS-80836] - Data rating may be wrong
  • [DMAS-80843] - StatelessTable selectByRowClick prop does not function
  • [DMAS-80856] - When updating a device listing page Oceans 3.0 Accessible gets checked no matter what. This should not happen
  • [DMAS-80859] - Manufactured date in nameplate always gets updated to current datetime when saving
  • [DMAS-80884] - Task id 439 has a bunch of errors (18MB worth) 13 different times today
  • [DMAS-80889] - Query PID pointing to incorrect DOI (registered, not findable)
  • [DMAS-80890] - Can't run task in a batch
  • [DMAS-80911] - Annotation List scrolls to the highlighted annotation when mouse-wheeling up
  • [DMAS-80929] - Unable to power ports on/off at Baynes Sound serial expander can
  • [DMAS-80946] - DOIs no longer found by citationText (used by matlab data products), while CSV/JSON still have DOIs
  • [DMAS-80948] - SeaTube Search expedition is not populated from the url when there is an expedition and a dive
  • [DMAS-80949] - Only services with a content-type of 'application/json' get parsed
  • [DMAS-80950] - STV3 dive log annotation entry Save and Keep Time button isn't keeping the time populated
  • [DMAS-80951] - Fix checkstyle warning in the release branch
  • [DMAS-80957] - Missing parameter taxonomyId snackbar displays when navigating from STV3 dive log to SeaTube Search
  • [DMAS-80958] - Playlist clip edit displays the previously edited info if the field is empty on the clip attempting to be edited
  • [DMAS-80977] - A regular dive logger user encounters various errors
  • [DMAS-80984] - Check for allowed dataProductFormats at a location is inverted
  • [DMAS-80986] - Fix mismatched chart widget screenshot in release branch
  • [DMAS-81001] - Errors from DataProductRunServiceGetMethod in QA
  • [DMAS-81003] - ArchiveFiles service can have ConcurrentModificationException in PROD and QA

User Story

  • [DMAS-66464] - As a Data Specialist, I would like to investigate qaqc multiple inheritances
  • [DMAS-77647] - As a software developer, I want to write and read from the database within a transaction without needing to duplicate manager methods
  • [DMAS-77986] - Generate DOI for specified casts
  • [DMAS-79294] - As a dev, I would like to update existing or add new web services for new Cable Management UI page
  • [DMAS-79310] - As a data steward, I would like to be able to create and edit sensortypes in the UI
  • [DMAS-79619] - Create custom control bar for our video players
  • [DMAS-79844] - Improve performance of LayoutService when retrieving multiple dashboards
  • [DMAS-80481] - As a SeaTube developer, I want to refactor SeaTubeAnnotationExportRunner so that it can be more easily extended to support the generic CSV export format
  • [DMAS-80482] - Add more controls to the video player control bar
  • [DMAS-80555] - As a data steward, I would like to be able to edit multipleconnection flag for deviceport
  • [DMAS-80572] - Use bars to show min/max
  • [DMAS-80593] - Add raw toggle to chart config
  • [DMAS-80595] - Add support for a combination of devices and locations to data availability
  • [DMAS-80672] - As a dive logger, I would like to use the new Dive Log dashboard while annotating in a live dive
  • [DMAS-80724] - Add more controls to the video player control bar (II)
  • [DMAS-80726] - As a SeaTube developer, I want to refactor SeaTubeAnnotationExportRunner so that it can be more easily extended to support the generic CSV export format (II)
  • [DMAS-80814] - As a user of the Community Fishers Device Package Info Page I would like to include latest Device Action info on the cards
  • [DMAS-80867] - Add more controls to the video player control bar (III)

Task

  • [DMAS-79437] - Show more info on Calibration tab on Sensor Maintenance page
  • [DMAS-79818] - Add calibration data to deviceAttributes for RBR Quartz3 BPR zero (461)
  • [DMAS-79925] - Refactor AsyncButton to use MUI5 LoadingButton component
  • [DMAS-79926] - Convert the AnnotationEntryWidget's save button to use LoadingButton
  • [DMAS-79976] - Upgrade Earthquake Dashboard to use new USGS URL's
  • [DMAS-80291] - As a dev, I would like to see some performance improvement for task status table on Task Management page
  • [DMAS-80316] - As a dev, I would like to remove "Engineering List ID" column from DeviceStatus, DeviceActionListing and DeviceSearch pages
  • [DMAS-80319] - Create wrapped components for Switch and RadioGroup
  • [DMAS-80380] - please check whether datefrom of archived flag of sensor works as expected or not in reprocess
  • [DMAS-80399] - Convert WebRequest to ts
  • [DMAS-80421] - As a Data Steward user, I would like to see a column "Comment" in the Data Rating tab in O3.0
  • [DMAS-80469] - Update react to version 18.3+
  • [DMAS-80496] - Investigate providing componentized map layers and use of @arcgis/core as a candidate Leaflet replacement [timebox 2d]
  • [DMAS-80542] - Clean up user-related synchronization code
  • [DMAS-80579] - Provide abort control from useQuery to axios config
  • [DMAS-80596] - Compress archived renovate.log in Jenkins
  • [DMAS-80602] - Clean up unused parts of DeviceListing servlet
  • [DMAS-80649] - Clean up visual diff tools in cypress
  • [DMAS-80700] - Write SQL to remove Scalar RDI ADCP erddap datasets
  • [DMAS-80755] - Clean up DataSyncMessagePublisher unit tests
  • [DMAS-80777] - Add the ability to pause and play video by clicking on the video in new dive log
  • [DMAS-80779] - create a searchtreenodegeospatialarea_trx table
  • [DMAS-80787] - Provide ability to view clean average in when viewing raw data
  • [DMAS-80812] - Delete old code coverage results from Oceans 3
  • [DMAS-80846] - Prevent annotation list items from re-rendering every second when video widget is on screen
  • [DMAS-80885] - fix auto merge from release
  • [DMAS-80894] - Update eslint-plugin-react
  • [DMAS-80895] - Fix prettier for version 3.3.3
  • [DMAS-80898] - Create a page with styles component to simplify common padding
  • [DMAS-80906] - Upgrade oceans-next docker image to use a more recent chrome
  • [DMAS-80909] - Apply non-breaking fixes for known 3rd-party vulnerabilities in Oceans Next
  • [DMAS-80918] - Update data product ONC logos with new font
  • [DMAS-80921] - Disable WARNing message when no searchtreenode is found for a citation
  • [DMAS-80966] - Need update the taxonbuttonsetline_trx_seq to correct values in all prod servers.
  • [DMAS-80972] - Remove 'isEnvironmentProd' guard in Chart Widget to enable new functionality in prod

Implementation

  • [DMAS-76372] - Show what data has been sent to ONC server on app
  • [DMAS-79591] - create a tab to CRUD im_cabletype table
  • [DMAS-79592] - create a tab to CRUD im_connectortype table
  • [DMAS-79909] - Add edit functionality to SensorType page
  • [DMAS-79919] - Add SensorType to dmasMenu
  • [DMAS-80105] - Paging for layout service oceans-next
  • [DMAS-80331] - Implement raw and clean data toggle in the Chart Widget
  • [DMAS-80376] - Create Data Product Cart dialog
  • [DMAS-80379] - Enable zoom/focus and digital still capture (via SMOOVE/json) in camera controls for tempo-mini
  • [DMAS-80396] - Change cast deletion process to soft delete
  • [DMAS-80412] - Create a UTCSeekbar component
  • [DMAS-80413] - Create a Play/Pause Iconbutton component for the ControlPanel
  • [DMAS-80414] - Create new GeospatialSearchv2 page that uses new dialogues
  • [DMAS-80424] - Update datarating tab of devicedetails page to display new Comment field
  • [DMAS-80463] - Create skip forward and backward Iconbutton component for the ControlPanel
  • [DMAS-80464] - Create time labels for the control bar and seek bar
  • [DMAS-80466] - Create Share component for the ControlPanel
  • [DMAS-80467] - Create Record Iconbutton component for the ControlPanel
  • [DMAS-80468] - Create a Settings Iconbutton component for the ControlPanel
  • [DMAS-80474] - Refactor ExportStrategy and SeaTubeAnnotationExporter to be more generic
  • [DMAS-80479] - Create a Quality component for the control panel menu
  • [DMAS-80480] - Create a Take Snapshots component for the control panel menu
  • [DMAS-80487] - Update types to 18.3
  • [DMAS-80491] - Create PiP Iconbutton control for control bar component
  • [DMAS-80522] - Support community fishers locations within location discovery 'get' service
  • [DMAS-80537] - update web service(s) to include new multipleconnection field in deviceport object
  • [DMAS-80538] - update deviceport tab of device details page to add new multipleconnection field
  • [DMAS-80547] - Fix UserManagementServiceHelper.getSyncServerGroup
  • [DMAS-80557] - Use device/sensor data source on chart widget
  • [DMAS-80577] - Update cableExtensionService to send objects of type CableType and ConnectorType instead of just id
  • [DMAS-80597] - Make axios instance non-static
  • [DMAS-80639] - Implement code to display min/max using bars
  • [DMAS-80645] - Make the fullscreen button functional on the control panel
  • [DMAS-80647] - Update data availability chart to accept multiple deviceIds as sources
  • [DMAS-80648] - Support running Eclipse on Java 21
  • [DMAS-80650] - Backend changes for Device Clone privileges
  • [DMAS-80651] - Frontend changes for Device Clone Privileges
  • [DMAS-80652] - SQL changes for Device Clone Privileges
  • [DMAS-80661] - Create DeviceWorkflowBulkUpdate page skeleton
  • [DMAS-80681] - Store selection into context
  • [DMAS-80686] - Support community fishers locations within location discovery 'getTree' service
  • [DMAS-80690] - Make the dive log deep link render the video at the specified timestamp
  • [DMAS-80727] - Create a Playback speed selector component for the control panel menu
  • [DMAS-80728] - create video info related menu button
  • [DMAS-80729] - Remove option to create scalar Erddap datasets for RDI ADCP devices
  • [DMAS-80730] - create a how to for the player
  • [DMAS-80749] - Cleanup CSS for Device Widget Config
  • [DMAS-80756] - Remove re-synchronization override in AddressManager
  • [DMAS-80759] - Support CF locations in device discovery service
  • [DMAS-80781] - Support CF locations in deployments discovery service
  • [DMAS-80796] - Fix automatic merge conflict from release
  • [DMAS-80800] - Support CF locations in Device Category Discovery service
  • [DMAS-80803] - Support CF locations in properties discovery service
  • [DMAS-80804] - Support CF locations in dataProducts discovery service
  • [DMAS-80833] - SQL assign permissions for Cable Management page
  • [DMAS-80835] - SQL assign permissions for Sensor Type page
  • [DMAS-80838] - Need ParsingLocation Attribute in Database
  • [DMAS-80855] - implement statelessTable filter for SensorType table
  • [DMAS-80857] - Update CommunityFishersDevicePackageService to include latest DeviceAction
  • [DMAS-80858] - update Update CommunityFishersDevicePackage page to include latest DeviceAction
  • [DMAS-80862] - Pass a prop to the new dive log to indicate that it is in live mode
  • [DMAS-80863] - Implement live mode functionality for the Annotation List
  • [DMAS-80864] - Add a button to navigate from historical mode to live mode
  • [DMAS-80868] - CLONE - Create a Settings Iconbutton component for the ControlPanel
  • [DMAS-80869] - CLONE - Create a Quality component for the control panel menu
  • [DMAS-80870] - CLONE - Create Share component for the ControlPanel
  • [DMAS-80871] - CLONE - Create a Take Snapshots component for the control panel menu
  • [DMAS-80872] - CLONE - Create Record Iconbutton component for the ControlPanel
  • [DMAS-80873] - CLONE - Create PiP Iconbutton control for control bar component
  • [DMAS-80874] - CLONE - Make the dive log deep link render the video at the specified timestamp
  • [DMAS-80875] - CLONE - Create a Playback speed selector component for the control panel menu
  • [DMAS-80876] - CLONE - create video info related menu button
  • [DMAS-80891] - Remove unused code from Task persistence layer
  • [DMAS-80897] - Create a page for users to manage eew subscriptions And support new Email message format
  • [DMAS-80900] - Drop support for displaying task history overview by taskId
  • [DMAS-80903] - Remove the total number of pages from the task history overview table
  • [DMAS-80910] - Adjust DiveLogServlet to handle parsing and passing down the live prop
  • [DMAS-80914] - Only fetch seamless video files when in historical mode
  • [DMAS-80926] - Improve the query for the number of files
  • [DMAS-80937] - Sort task history by dateQueued
  • [DMAS-80969] - Speed up deployment discovery service

Bug (ST)

  • [DMAS-80712] - ConnectorType cypress tests failing
  • [DMAS-80764] - Compiler error in DataSyncMessagePublisherTest
  • [DMAS-80770] - Recording doesn't work in fullscreen mode
  • [DMAS-80810] - [CableExtension] TypedManager TypedManager:51 - Exception occurred getting the class with null Id
  • [DMAS-80878] - CLONE - Recording doesn't work in fullscreen mode
  • [DMAS-80917] - Unable to convert annotations for unknown reasons
  • [DMAS-80920] - PiP Button not displaying
  • [DMAS-80922] - IndexOutOfBoundsException while converting annotations
  • [DMAS-80943] - Typo in new dive log's live chip
  • [DMAS-80953] - Fix/check issues pointed out by web service automation
  • [DMAS-80983] - Loading a page of results for tasks 421 and 422 takes forever
  • [DMAS-80985] - IllegalArgumentException when a user belongs to an organzation that has a single group take multiple roles

July 30, 2024

Minor release, includes a number of fixes for SeaTube's new deck and dive logs and synchronization, plus fixes for Community Fishers .csv data products, Annotation Search and QAQC.

Tickets Released: Oceans 3.0: 24.06.003 (accessible to internal users only). Total: 15.

July 18, 2024

Minor release, includes improvements for file archiving, QAQC tests, Persistent Identifiers and SeaTube.

Tickets Released: Oceans 3.0: 24.06.002 (accessible to internal users only). Total: 11.

July 11, 2024

Minor release: database performance for sensor metadata, fix topology circular reference

Tickets Released: Oceans 3.0: 24.06.001 (accessible to internal users only). Total: 6.

July 4, 2024

Major release.

Maintenance

New Features or Improvements

  • Removed newsletter subscription from registration page
  • Implement rule for devicetypecode (The devicetypecode should be in all capital letters, numbers and possible underscores or hyphens)
  • Configurable local folder parameter for all hydrophone post-process tasks (improves file archiving speed and reliability)
  • Improve performance of quarter-scalar-data generation
    • Use qaqcresults of one hour instead of a day in calculation
    • Skip other qaqc flag if there is manual qaqc flag
    • Limit number of records to be processed in one instance of quarter-scalar-data-generation
  • Connect mulitple devices in topology to the same device port
  • A pop-up confirmation window when user try to delete a device port
  • General Tab of Device Details page with react
  • Several new trx database tables
  • Python client library updates (ver CLP.2.4.0 https://jira.oceannetworks.ca/projects/DMAS/versions/13769 was released on May 30)

Bug Fixes

  • All region qaqc tests, instead of current region test, are shown on Applied QAQC Tab of Sensor Maintenance page
  • Historical device attribute values and dates should not be editable if the devicetype attributes are read only
  • Topology should not allow device connects to itself (otherwise the qaqccache will get stuck loading)
  • Not or Partially connected" device list on Topology page should include partially connected devices
  • Fix bugs, tests and, fix bugs in QA before they happen in PROD

Internal Projects

  • Fix password synchronization to diveloggers
  • Support load-balancing requests to external API services
  • Remove broken page /DeviceGroup (displays something to do with device workflows, but has been broken since Java 17)
  • Remove unused "page" /UserSelector (displays all 30k users' names & email addresses as a giant list of radio buttons)

SeaTube

  • Dive log rewrite
    • new video player (control buttons should break in upgrades less often)
    • improved approach to passing current/seek-to time between video player and other widgets should have fewer edge cases
  • Bulk annotation ingestion
    • support a standard, generic CSV format for annotation file upload
    • major code quality improvements
  • Annotation export
    • code quality improvements
  • Button set configuration
    • improve performance by tracking a button set's creator (minor improvement in production, major improvement in QA)
  • Playlists
    • a few minor UI improvements (mostly tooltips)
  • General UI
    • update many many buttons to current standards (i18n support!)
    • create a new standard API for creating forms

New Features

  • CIOOS - Community Fishers & CIOOS Pacific
    • More informative UI for errors in Taxonomy Upload (note the service for taxonomy upload uses a new internal service pattern, "internal/*")
    • Can now use a pipeline job as the job to run when a cast is reviewed
    • Cast DOI page now shows correct device and data search links
    • Use 'cast', not  ‘cast’, so text shows up correctly on DataCite
  • Dashboards
    • Improve usability of Chart Widget so it doesn't lock up waiting for the Data Source Tree to load
    • Improve performance for Dashboards Table page for users with many dashboards
    • Fix an issue in the Chart Widget where average data would continue to show even though single point data should show (only happens in QA where average data exists but there's no single point data)
  • Latest Hydrophone Player: Fix React 18 bug where Device selector wasn't showing devices
  • Manual QA/QC Chart Widget improvements: min/max bars, selection by locations, etc (in-progress)
  • New Oceans 3.0 logo with more accessible text

Community Fishers

  • In-progress: new system for assigning data products by deployment
  • Change cast deletion process to soft delete
  • Display message to not logged in users when selecting casts
  • Disable cast lasso button for anonymous users
  • As a data search user I want the capability to not allow some dataproducts on some searchtreenodes
  • Add comment about interpolation method to dataproduct footer
  • Update frontend types to receive list of device objects for CTD and NAV
  • Elapsed time restriction on siteDeviceSubsetMaintenance is not functioning correctly
  • Update database check for overlapping siteDeviceSubsets to exclude deleted siteDeviceSubsets from comparison
  • Place set name and community name on one line and devices on a second line within accordion header
  • Updates for device package page: make the details cards display responsive, add deviceType names and id's, add distinctive tablet card when it's missing from the package, add tooltips
  • Design to allow creating sensor level searches for devices with multiple versions of sensors
  • modify dataproduct record to reflect new dataproductcode and name for CF app log file
  • stopped users from being able to lasso the same station multiple times and add multiple entries of that same station into the lassoselection
  • Ensure that deleting a a SearchTreeNode or a GeospatialArea will always delete the corresponding SearchTreeNodeGeospatialArea record associating the two
  • Alter SearchTreeNodeGeospatialArea set new datefrom column to prevent null values
  • Add activated/deactivated casting station logic to cast assignment job, API, map and data products
  • Support filtering out non reviewed casts based on dataproduct options
  • Support cast processing options in Station Profile Animation
  • Implement core functionality of Community Fishers Profile Animation data product
  • Add documentation for upcoming Community Fishers Profile Animation data product 
  • Remove some data products from Depth sensors

 Bug Fixes

  • prevent double save request from frontend on SearchTreeMaintenanceDetail
  • Support making a sensor level request when product is mapped to only one of both sensor types
  • Prevent Community Fishers Data Preview Searches created without search options
  • Misc typos and other errors found in automated testing

 UI-WG

  • Upgrade React to version 18, including testing updates
  • Refactor Toggles, Table, RadioGroup, high emphasis buttons
  • Fix storybook linting errors for rennovate
  • Buttons updates: fixes and internationalization

Instruments

  • CIB driver and junction box tab, including an updated parser for the CIB and improved JSON parsing
  • Axis camera zombie driver fix
  • Sensor loads in parsers with attributes

Data Products

  • MATLAB client library update: new docs, updates with the API, delete on download support, bug fixes (20+ github tickets)
  • unwrap FFT spectrograms
  • videofileQAQC email parameter fix
  • RDI Cassandra migration complete
  • decimal support in DP options
  • Prevent creating searches that have have dates in the future
  • Java dataProducts show depth in filename for non depth sensor level searches on Community Fishers Devices

Tickets Released: Oceans 3.0: 24.06.000 (accessible to internal users only). Total: 283. Automated Testing: AT.24.06.000 total: 43.

Bug

  • [DMAS-57156] - Chart showing duplicate dates - may be an issue with scalardata
  • [DMAS-76469] - Chart Widget config seems to lock up
  • [DMAS-78442] - Devices not showing in topology under 'Not or Partially Connected' when still partially connected
  • [DMAS-79552] - when clearing a cast, partialCheckboxSelected is not being set to false
  • [DMAS-79553] - users are able to lasso the same station multiple times and add multiple entries of that same station into the lassoselection
  • [DMAS-79938] - Jenkins builds failing intermittently due to uncaught error in Cypress
  • [DMAS-80003] - LDAP info is not synced from web to on-ship
  • [DMAS-80103] - QaqcCache seems to be getting stuck loading
  • [DMAS-80126] - videoFileQAQC job failing after new email address added
  • [DMAS-80141] - Erddap NetCdf file creation timing out
  • [DMAS-80148] - DataPreviewService failing to deepSerialize - QA
  • [DMAS-80171] - Add aria-label to stepper component for easier testing
  • [DMAS-80179] - Anonymous users don't have access to new dive log
  • [DMAS-80193] - Unable to use pipeline job as the job to run when a cast is reviewed
  • [DMAS-80220] - Error occurs on Task machine startup
  • [DMAS-80228] - Jenkins can't checkout Oceans 3 for integration testing deployments
  • [DMAS-80256] - Elapsed time restriction on siteDeviceSubsetMaintenance is not functioning correctly
  • [DMAS-80261] - Some location search query paramters are being applied to the search tree node rather than the device
  • [DMAS-80273] - Support making a sensor level request when product is mapped to only one of both sensor types
  • [DMAS-80290] - Device Discovery API include children parameter not working
  • [DMAS-80295] - Possible to create searches from the DataSearch UI that have have a dateTo in the future
  • [DMAS-80299] - In QA, Device Port can not Create/Edit for some devices
  • [DMAS-80312] - Java dataProducts show depth in filename for non depth sensor level searches on Community Fishers Devices
  • [DMAS-80332] - Capture Time button showing with {{Historical}} in front of its label
  • [DMAS-80334] - Users without write permission for a given dive shouldn't see the Annotation Entry widget in the new Dive/Deck Log app
  • [DMAS-80348] - AXIS Camera driver stops responding to commands, requires JVM restart
  • [DMAS-80351] - Historical device attribute values and dates can be edited, even though the devicetype attributes are read only
  • [DMAS-80361] - Sensor Applied QAQC tab is showing all the region tests ever applied instead of the current region test
  • [DMAS-80384] - Chart Widget displays a plot when no data is available for the time span
  • [DMAS-80386] - Failed to load JunctionboxDeviceCache in dev
  • [DMAS-80388] - Fix failing ESRIDynamicMapLayer cypress test
  • [DMAS-80391] - NullPointerException causes a Kaboooom when calling /internal/synchronizer in production as an anonymous user
  • [DMAS-80394] - Fix failing ChartWidgetConfig cypress tests
  • [DMAS-80418] - DiveLog page thinks there are 2 windows open on load
  • [DMAS-80419] - Fix translation key on SeaTube Search's Export button
  • [DMAS-80440] - Expedition Management expedition list is not being populated after React 18 upgrade
  • [DMAS-80445] - Deleting SearchTreeNodes in SearchTreeMaintenance does not delete searchtreenode record
  • [DMAS-80449] - prevent double save request from frontend on SearchTreeMaintenanceDetail
  • [DMAS-80457] - FFT-source spectrograms wrapping highest values to negative dB
  • [DMAS-80485] - QA Data Preview is giving a error on load
  • [DMAS-80504] - In QA, the Submit button is missing on System Console page
  • [DMAS-80523] - ManualEntryForm Cypress test failing in main
  • [DMAS-80529] - Deck log crashes in QA
  • [DMAS-80531] - Active synchronizer deployments can't be edited
  • [DMAS-80544] - TaxonomyFileUploadService returns 403 in all cases
  • [DMAS-80556] - Add generic to form prop type so that onsubmit can be validated
  • [DMAS-80562] - Data player widget's device selection fails to display any devices in QA
  • [DMAS-80564] - DMAS Software Organization page displays a broken image instead of the bundle dependency graph
  • [DMAS-80574] - Fix linting errors in preview.tsx by providing better default to DenseThemeProvider
  • [DMAS-80592] - Error when attempting to clone device info in Device Details
  • [DMAS-80619] - Fix Owner Filter checkbox toggle
  • [DMAS-80636] - Fix button text typo in PVCSViewPage UI
  • [DMAS-80640] - Running UserReplication UI tests causes a deadlock in Postgres

User Story

  • [DMAS-75305] - As a Dev I would like to update the General Tab of Device Details page to React
  • [DMAS-78213] - As a Community Fishers user I would like a profile animation as a data product
  • [DMAS-78312] - As a data steward, I would like a proper way of connecting multiple devices in topology to the same port
  • [DMAS-78584] - As a dev, I'd like to track a button set's creator via a column rather than an audit table in order to simplify logic and resolve issues
  • [DMAS-78882] - As a NOAA admin, I want to provide annotation files in a standard format so that they can be ingested promptly
  • [DMAS-79233] - DataSearch Map centre default view could shift south
  • [DMAS-79241] - As a ST developer, I would like to create a new video player widget that supports interwidget communication, so that I can use it in new Dive Log and Fixed Camera apps
  • [DMAS-79406] - As a SeaTube developer, I want annotation converter code to be generalized so that we can easily add new converters
  • [DMAS-79421] - As a software developer I want to support and demo the use of log4j2 so that I can improve logging performance
  • [DMAS-79847] - As a user of the Community Fishers Device Package Info Page I would like some improvements/iterations to the page
  • [DMAS-80015] - Battle of Midway - Annotation Ingest
  • [DMAS-80054] - As a dev, I would like to see trx database table for tables used for dataproductmapping
  • [DMAS-80370] - As a data search user I want the capability to not allow some dataproducts on some searchtreenodes
  • [DMAS-80484] - Wrap up generic annotation ingestion

Task

  • [DMAS-73005] - As a Dev, I would like to remove newsletter subscription for dmasuser registration
  • [DMAS-73668] - Upgrade oceans next to React 18
  • [DMAS-76933] - Update WebRequest to use types and create useful types and interfaces for services
  • [DMAS-77620] - As a developer I want to use I18n to cut down on code maintenance for Buttons in React
  • [DMAS-78733] - Community Fishers Data Preview Searches are created without search options
  • [DMAS-79062] - Cleanup once all Erddap RDI ADCP Cassandra datasets have been converted to NetCdf
  • [DMAS-79247] - Rename data product code
  • [DMAS-79540] - Ensure that deleting a a SearchTreeNode or a GeospatialArea will always delete the corresponding SearchTreeNodeGeospatialArea record associating the two
  • [DMAS-79625] - Trim leading and trailing whitespace for Device Type Code
  • [DMAS-79830] - Remove complex data parser and complex archiver code
  • [DMAS-79836] - Add prettier support for jsdocs
  • [DMAS-79846] - Delete search data products in /ftp/pub after API download (re-enable it) but add a pause
  • [DMAS-79887] - Create a UI test plan for the deck log
  • [DMAS-79937] - Add unfiltered total annotations to the payload of seatubeV3/annotations
  • [DMAS-79980] - Clean up antique exception classes
  • [DMAS-79983] - Remove WebParameters.getPathParameter
  • [DMAS-80056] - create trx for derivedsensorparserdefinition database table
  • [DMAS-80093] - Add a popup confirmation window when users are deleting a device port
  • [DMAS-80116] - Fix storybook linting errors for rennovate
  • [DMAS-80117] - Prevent archivefiles / API downloading overload incidents
  • [DMAS-80142] - People running deployments don't need to notify me if a host's config is wrong
  • [DMAS-80145] - Prioritize Oceans Next deployments over other builds
  • [DMAS-80146] - Investigate and gather requirements needed to create a base map component
  • [DMAS-80154] - Upgrade DashboardTable to functional component
  • [DMAS-80159] - Create general column formatters for StatelessTable
  • [DMAS-80161] - Replace uses of ReactDOM.render in tests
  • [DMAS-80198] - Jenkins cleanup jobs should run immediately
  • [DMAS-80200] - Finalize standards for buttons in Oceans Next in storybook
  • [DMAS-80207] - Don't require integration tests to succeed before merging a feature branch
  • [DMAS-80219] - Delete the unused enum SearchStatus
  • [DMAS-80223] - Update Renovate's GitHub access token
  • [DMAS-80231] - Investigate if there are bad outgoing synchronizations caused by a missing ID
  • [DMAS-80235] - AnnotationAttribute and AnnotationLine are missing serializability tests
  • [DMAS-80313] - Refactor CFOverlay
  • [DMAS-80318] - Investigate quarter scalar generation slowdown and backlog May 2024
  • [DMAS-80335] - Add ONC expedition admins to see the Beta button for the new dive log app
  • [DMAS-80347] - Quarter-scalar-generation: limit number of records to be processed so that an instance can't run forever
  • [DMAS-80353] - As a Systems operator, I would like hydrophone post-process tasks to have a configurable output archive directory
  • [DMAS-80398] - Handle errors returned from TaxonFileUploadService
  • [DMAS-80401] - Default access level to implementations of DmasRestService should be NONE
  • [DMAS-80437] - Update Annotation List to use unfilteredTotal from annotations service call
  • [DMAS-80505] - Update ONC logos in Oceans 3.0 with accessible font
  • [DMAS-80516] - Remove artifact "AnotherTSFile.ts"
  • [DMAS-80521] - Use three machines for cypress runs
  • [DMAS-80525] - Add a file archiver instance to better separate raw data from postprocessed files and improve performance
  • [DMAS-80527] - Enable the new hydrophone raw file archiver after the early July release
  • [DMAS-80549] - Remove the Dojo javascript library
  • [DMAS-80561] - Simplify TimeSeriesChart interface
  • [DMAS-80570] - Ensure correctness of props provided to form fields
  • [DMAS-80580] - Apply non-breaking fixes for known 3rd-party vulnerabilities in Oceans Next

Implementation

  • [DMAS-78616] - Implement core functionality of Community Fishers Profile Animation dataproduct - Matlab
  • [DMAS-78867] - Refactor Buttons.jsx (2/3)
  • [DMAS-78868] - Refactor Buttons.jsx (3/3)
  • [DMAS-78869] - Replace uses of Button.jsx with Button.tsx
  • [DMAS-78872] - Rename Buttons.jsx to IconButtons.jsx and delete old Button base component
  • [DMAS-78969] - Update CFOverlay.cy.tsx so that it has 100% code coverage
  • [DMAS-79043] - Upgrade React to version 18 in the Oceans 3.0 repo
  • [DMAS-79044] - Upgrade React to version 18 in the Oceans-next repo
  • [DMAS-79096] - Add new layer to handle deactivated CF casting stations
  • [DMAS-79097] - Add activated/deactivated casting station logic to cast assignment job
  • [DMAS-79185] - Add service calls so that the form can be submitted
  • [DMAS-79202] - Fill in cypress test cases
  • [DMAS-79226] - Update the Capture Time button in the Annotation Entry widget
  • [DMAS-79282] - Highlight the annotation at the current video timestamp in the annotation list
  • [DMAS-79283] - Seek to annotation's timestamp in the video widget when clicking on an annotation
  • [DMAS-79376] - Ignore new transactions while a transaction is in progress
  • [DMAS-79387] - Add a method onCommit to TransactionControl
  • [DMAS-79412] - Refactor the Capstone annotation converter to use the new API
  • [DMAS-79413] - Refactor the CordellBank annotation converter to use the new API
  • [DMAS-79499] - Add activated/deactivated casting station information to API
  • [DMAS-79510] - Alter SearchTreeNodeGeospatialArea set new datefrom column to prevent null values
  • [DMAS-79528] - Send ReinitializeCache messages as on-commit actions.
  • [DMAS-79529] - Send data sync messages as on-commit actions
  • [DMAS-79530] - Update caches in-place using on-commit actions
  • [DMAS-79533] - Send remote cache updates using on-commit actions
  • [DMAS-79589] - create a tab to CRUD im_cableactiontype table
  • [DMAS-79647] - Implement New SensorLoad Design
  • [DMAS-79678] - Handle data links on landing page for subset - ONC
  • [DMAS-79679] - Handle data links on landing page for subset - Oceans Next
  • [DMAS-79696] - Replace commons-logging 1.1.1
  • [DMAS-79700] - Create UI for Endeavour Earthquake Catalog
  • [DMAS-79771] - Implementation for by site magnitude corrections
  • [DMAS-79816] - Change tests using ReactDOM.render to testing-library render
  • [DMAS-79821] - Add columns to taxonbuttonsethdr for creator and date created
  • [DMAS-79822] - Update TaxonButtonSet DAL with new columns
  • [DMAS-79865] - modify dataproduct record to reflect new dataproductcode and name for CF app log file
  • [DMAS-79873] - Standardize SensorType variable names across front end and backend
  • [DMAS-79898] - Create a new taxonbuttonsethdr trx table
  • [DMAS-79899] - Create a new taxonbuttonsetline trx table
  • [DMAS-79900] - Update trigger_fct_taxonbuttonsetline_audit
  • [DMAS-79901] - Backfill taxonbuttonsethdr's createby and createdate columns
  • [DMAS-79903] - Update taxon button set logic that relies on taxonbuttonsethdr_hist
  • [DMAS-79934] - Change the drop down option word from "auto" to "clip default"
  • [DMAS-79941] - Add an info icon with proper tooltip/dialog beside the quality selection option
  • [DMAS-79942] - Change the tooltip content for auto-play toggle in Playback page
  • [DMAS-79946] - Update Backend with New General Tab Changes
  • [DMAS-79956] - Support cast processing options in Station Profile Animation - Matlab
  • [DMAS-79970] - Replace unit test logging configurator with pax-logging-api
  • [DMAS-80018] - Allow data product options that solicit user input to have decimal bounds
  • [DMAS-80043] - Support filtering out non reviewed casts based on dataproduct options - Matlab
  • [DMAS-80044] - Select best cast within 24 hour period - Matlab
  • [DMAS-80106] - Paging for layout service ONC
  • [DMAS-80113] - modify sensorTypeService to send dmasUser instead of just userId
  • [DMAS-80153] - Remove newsletter subscription from DMAS code
  • [DMAS-80167] - Backend service improvements
  • [DMAS-80177] - Clean up WebRequest and merge variants of "get"
  • [DMAS-80178] - Don't include cookies in requests to API services
  • [DMAS-80188] - Revert backend Device Listing to uppercase link
  • [DMAS-80192] - Place set name and community name on one line and devices on a second line within accordion header
  • [DMAS-80194] - Refactor high emphasis buttons
  • [DMAS-80201] - Add tooltips for deviceIds within accordion header
  • [DMAS-80204] - Fix typos
  • [DMAS-80205] - Add distinctive tablet card when it's missing from the package
  • [DMAS-80206] - Fix issues pointed out by search automation.
  • [DMAS-80209] - create servlet for cableManagement webServices
  • [DMAS-80213] - Remove deprecated WebRequest.getCancellable
  • [DMAS-80214] - run the CF station update script again so that it is deployed alongside the code to maintain it
  • [DMAS-80222] - Update CommunityFishersDevicePackageService to include deviceTypeName and deviceTypeId in response
  • [DMAS-80226] - Update path parameters for cableManagement webServices
  • [DMAS-80236] - Enhance DeviceTypeCode Validation and Trimming for Save/Update Operations
  • [DMAS-80239] - Add deviceType names and id's to the detail cards
  • [DMAS-80240] - Make the details cards display responsive
  • [DMAS-80242] - Improvements to endeavour earthquake catalog page
  • [DMAS-80245] - Refactor class/interface names
  • [DMAS-80247] - Create a new domain object for the standard ingestion format
  • [DMAS-80248] - Create a class to parse raw lines into an annotation object
  • [DMAS-80249] - Create a class to convert a parsed annotation into converted annotations
  • [DMAS-80250] - Refactor AnnotationParser's convert method's signature
  • [DMAS-80251] - Create a class to create objects needed for the conversion
  • [DMAS-80252] - Create a class to control/coordinate the conversion process
  • [DMAS-80255] - Change the device category from a dropdown to a textbox in general tab when RO
  • [DMAS-80259] - Modernize SensorType table
  • [DMAS-80267] - Refactor logic to have the file writer write to the failure file
  • [DMAS-80268] - Create a widget container for the new Video Player
  • [DMAS-80269] - Create an OncVideoPlayer component that acts as an api to interface with react-player and jw-player
  • [DMAS-80270] - Rewrite ContinuousVideo into a functional typescript component
  • [DMAS-80283] - Add min/max option to Chart Widget config
  • [DMAS-80284] - Implement display of min/max bars to clean averaged data
  • [DMAS-80287] - Create a DiveVideoPlayer component
  • [DMAS-80296] - Remove siteDeviceId from DOIDatasetTransaction ONC project
  • [DMAS-80300] - Allow actions given to onCommit to throw exceptions
  • [DMAS-80308] - Colour bar title can collide with date on top of profile plot
  • [DMAS-80330] - Remove obsolete code and complete TODOs for RDI Cassandra ERDDAP dataset migration
  • [DMAS-80333] - Add Missing "name" Attributes for RO/RW Text Fields in GeneralTabForm.tsx
  • [DMAS-80336] - Create cablesManagement page skeleton
  • [DMAS-80339] - Add ability to select data source by device/sensor to chart widget config
  • [DMAS-80340] - Don't waste time excluding cookies from API requests
  • [DMAS-80344] - create trx table for dataproduct database table
  • [DMAS-80349] - create trx table for dataproductformat database table
  • [DMAS-80350] - Update frontend types to receive list of device objects for CTD and NAV
  • [DMAS-80354] - Enable junction box controls for the ONC camera interface board
  • [DMAS-80365] - Update Battle of Midway annotation records for resource type column from device to device data.
  • [DMAS-80366] - Add comment about interpolation method to dataproduct footer
  • [DMAS-80369] - Remove dataProduct from Depth sensor - SQL
  • [DMAS-80372] - Disable cast lasso button for anonymous users
  • [DMAS-80373] - Quarter summary should get qaqcResults for smaller chunk instead of a day
  • [DMAS-80374] - Display message to not logged in users when selecting casts
  • [DMAS-80375] - Create Data Product Selection dialog
  • [DMAS-80378] - In Quarter scalar summary, if a quarter has a manual QAQC flag skip the addQuality step
  • [DMAS-80385] - Create new tables and trx
  • [DMAS-80390] - Create DAL for fm_dataProductRule
  • [DMAS-80397] - Filter DataProducts from service responses when they match rules defined in table
  • [DMAS-80402] - Match trace property colors when displaying min/max bars
  • [DMAS-80408] - add 'deleted' column to siteDeviceSubset table
  • [DMAS-80411] - Create a ControlPanel component for the OncVideoPlayer
  • [DMAS-80422] - add Comment column in datarating and datarating_trx tables
  • [DMAS-80423] - update DataRatingService to include new Comment field
  • [DMAS-80435] - Extract logic that gets dataProducts with mapped formats out from DataProductJSON
  • [DMAS-80443] - Add rule to filter Station Profile Animation on Unassigned Cast Data search tree node
  • [DMAS-80456] - Update the SQL queries used within MATLAB for deleted casts
  • [DMAS-80459] - create trx table for dataproductformatdevice database table
  • [DMAS-80460] - create trx table for dataproductformatsensor database table
  • [DMAS-80461] - create trx table for formsectionfield database table
  • [DMAS-80476] - Write exported annotations to files from export strategies
  • [DMAS-80486] - Integrate with dataProductDelivery API
  • [DMAS-80488] - Remove instances of default props for functional components (TextFields, Buttons)
  • [DMAS-80493] - Refactor Toggles, Table, RadioGroup
  • [DMAS-80509] - Modernize transactions in SeaTube code
  • [DMAS-80511] - Modernize transactions in SitePositionManager
  • [DMAS-80514] - Update database check for overlapping siteDeviceSubsets to exclude deleted siteDeviceSubsets from comparison
  • [DMAS-80534] - add multipleconnection field in database deviceport and deviceport_trx tables
  • [DMAS-80539] - update topology to use this new multipleconnection field of deviceport
  • [DMAS-80546] - Rename and rebundle ExpeditionOrganization
  • [DMAS-80598] - Hide "add device data source" button from production but leave it in qa and dev
  • [DMAS-80599] - Hide "show min/max" toggle in production but leave it showing in qa and dev

Test

  • [DMAS-78765] - Add search automation test cases for new CF animation profile plot - SQL
  • [DMAS-79913] - Create Junit tests for AnnotationReaders, AnnotationParsers and AnnotationFileWriter

Bug (ST)

  • [DMAS-79739] - ‘cast’ shows up as ?cast? on Fabrica
  • [DMAS-79954] - ConnectorTypeService does not correctly throw errors
  • [DMAS-80124] - Add roles and labels to the panels in the attribute management page
  • [DMAS-80186] - In QA, links to Device Details page are broken
  • [DMAS-80189] - Revert frontend Device Listing to uppercase link
  • [DMAS-80191] - In QA Device General tab is empty until a click
  • [DMAS-80230] - in QA, some device page general tab broken when ippgroupid is null
  • [DMAS-80253] - Device General tab can not redirect after Cloning Device
  • [DMAS-80338] - Render error on Dashboards
  • [DMAS-80362] - Cable management services don't check authentication or authorization
  • [DMAS-80404] - Annotation considered invalid if it has attribute columns, no attribute values, and no taxon
  • [DMAS-80436] - DeviceListing page in QA is broken with react 18
  • [DMAS-80444] - ConnectorTypeAssembler does not translate modifyBy from type to state
  • [DMAS-80451] - Sensor Tab of Device Details page is empty in QA with react 18
  • [DMAS-80452] - UnitOfMeasure Service denies access and uses outdated DmasRestService formatting

Investigation

  • [DMAS-79535] - Make subtasks to simplify existing code using transactions
  • [DMAS-79953] - Investigation into the use of react-hook-form

Documentation

  • [DMAS-78613] - Document new dataproduct in public wiki
  • [DMAS-78614] - Document new data product options in public wiki
  • [DMAS-80395] - update related confluence for this feature
  • [DMAS-80478] - Write documentation for new DataProductRule feature

Requirement

  • [DMAS-78608] - Requirements for profile animation dataproduct

Design

  • [DMAS-80238] - Design to allow creating sensor level searches for devices with multiple versions of sensors
  • [DMAS-80371] - Design to not show data product on searchTreeNode
  • [DMAS-80453] - Document the standard annotation ingestion format

June 3, 2024

Minor release, includes high priorities for cruise support: reset button for UMN gas-tight sampler, add SMOOVE camera devicetype to camera controls, fix for quarantine system, quarter scalar summary generation fixes.

Tickets Released: Oceans 3.0: 24.04.003 (accessible to internal users only). Total: 6.

May 17, 2024

Minor release (no down time) to fix IP address entry issue.

Tickets Released: Oceans 3.0: 24.04.002 (accessible to internal users only). Total: 1.

May 16, 2024

Minor release, includes: fixes for PVCS (ferry) driver, BPR residual calculations, Earthquake catalogue sorting, Data Player syncing, Community Fishers: cast overlaps, refined fuel sensor support, millisecond support in MUI5, SeaTube: fixes in annotations, taxons and configurations 

Tickets Released: Oceans 3.0: 24.04.001 (accessible to internal users only). Total: 19.

May 7, 2024

Major release.

Maintenance

New Features or Improvements

  • Removed unused getDapInstruments service

  • Remove aria-label attribute for Submit button in SupportRequestForm

  • Improve performance of DeviceAttributeService
  • Re-order Column display on DriverSchedule page
  • Create JVMDevice_Trx database history table
  • Device workflow admin page will be redirected to a new process group when it is created

  • Do not ftp transfer file with zero file-size
  • Python client library updates

Bug Fixes

  • Clicking on the data availability chart to change the search time range skips data product restriction update (bug on front-end only, back-end check prevents access)
  • Permissions on User Management page are disappearing after being saved

  • SCUv2 port at Baynes Sound failure to send alarm on failure

  • DatasetAttributeService error message "Could not get french translation of "fixed" from database" 
  • fix bug in XML parser for SBE19plus

SeaTube

  • Building new Dive Log dashboard for this coming ONC expedition.
  • Finished 10+ on-ship server support
  • MUI 5 upgrade
  • Many minor UI improvements and bug fixes

Internal projects

  • support for MUI 5 upgrade, process and testing improvements

New Features

CIOOS

  • Bug fix: Cast DOIs correct site device subset is passed to cast DOI Job
  • In progress: Add simple update support for taxonomy CSV, we have a few more days so may get this into the release

Latest Hydrophone Player

  • Test version now available for internal feedback

MUI Upgrade

  • Lots of fixes to changed code and tests
  • The only change that should be noticeable here is that instead of having two fields to enter a date and time there is one combined field. Note that the previous time entry field supported milliseconds and the new combined date/time field does not. Milliseconds added in the next minor release.

Earthquake and API Features

  • scalarData service now supports raw min/max downsampled data (raw averaging has never been supported, use clean average instead.)
  • Improve the earthquake catalogue page to handle different browser tab sizes

Community Fishers

  • Add download button for pre-generated csv data to cast popup first card
  • Create service call for csv file
  • update sensorcode table to use modifyby and modifydate
  • update sensorcode table schema to use modifyby and modifydate - SQL & Java
  • Added community fishers device package info to dmas menu
  • Created UI that displays information about deployed device packages
  • Added station centre to service call that matlab makes to get siteDeviceSubset metadata - Java
  • Turned off RDI Complex Archiver
  • Added additional data product options to station profile animation - SQL
  • Added UI test automation user to the rate limited search exemption list
  • Added xChange sensor type to xchange sensor table
  • Fixed help popper appearing in the wrong place
  • Removed "--fix" from linting for builds
  • Added labels to dropdowns in Add Clause
  • Fixed <CardGrid /> not rendering everything at the same time and has shadow issues due to placeholder cards
  • Extracted renderDataLayer to it's own Component
  • Refactored Buttons.jsx to use translated Buttons instead (first third)

Instruments

  • Station specific permissions to enable locations-specific driver control (useful for instrument testing)
  • Camera interface board driver
  • Driver support for ASL acoustic scintillation devices (CORAS)

Tickets Released: Oceans 3.0: 24.04.000 (accessible to internal users only). Total: 163. Automated Testing: AT.24.04.000 total: 53.

Bug

  • [DMAS-78308] - Clicking on the data availability chart to change the search time range skips data product restriction update
  • [DMAS-78480] - UserManagement restrictions and permissions bug - permissions are disappearing after being saved
  • [DMAS-79550] - Tons DataSyncFileBackupService ERRORs since turning off and packing up the ONSHIP diveloggers
  • [DMAS-79638] - Errors after delete a dive in Expedition Management page
  • [DMAS-79639] - Device/Device Data annotations should not be synchronized everywhere
  • [DMAS-79690] - The earthquake catalog page doesnt handle different browser tab sizes very well
  • [DMAS-79725] - Synchronization errors caused by StaleStateExceptions on qaonshore1
  • [DMAS-79732] - Updates to user attributes (eg middle initial) aren't synchronized
  • [DMAS-79769] - Could not get french translation of "fixed" from database
  • [DMAS-79774] - Null pathInfo handled incorrectly
  • [DMAS-79775] - SynchronizerManagementService's POST method gets an NPE with a null path info
  • [DMAS-79776] - SynchronizerManagementService's PATCH method should produce a 404 if no deployment is found to patch
  • [DMAS-79777] - Oceans Next version info is being duplicated in the system console
  • [DMAS-79813] - Fix failing test in sitedevicemaintenanceV2 for label element change
  • [DMAS-79814] - StandardsTable isn't working in material ui 5
  • [DMAS-79833] - Card grid uses mui 4
  • [DMAS-79840] - Fix failing test in OpenAPITest
  • [DMAS-79848] - Search Automation resulting in search failures
  • [DMAS-79850] - I don't think Oceans 3 deployments are properly parallelized
  • [DMAS-79856] - Fix time pickers and time field in QA caused by MUI V5
  • [DMAS-79885] - SCUv2 port at Baynes Sound did not alarm that it had failed
  • [DMAS-79889] - file size of oceans-next.jar in 24.03.002 is very different from the oceans-next.jar in 24.03.001
  • [DMAS-79912] - oceans-next deployment failed in qa -- ./build-webpack : no such file or directory
  • [DMAS-79917] - Cannot save site device subset in QA
  • [DMAS-79922] - Some web services are very slow in QA
  • [DMAS-79930] - JSON table macros no longer works on confluence pages using API URLs
  • [DMAS-79944] - AnnotationHdrManager's SynchronizationLogger is null
  • [DMAS-79967] - Date filter in GeospatialMap is not working as expected in QA
  • [DMAS-79973] - zero-sized .txt hydrophone files on Dec 22
  • [DMAS-79990] - EEW message processing broken in QA on release branch
  • [DMAS-80019] - Bug in the tests for SBE19plus parser
  • [DMAS-80029] - I can't remove a user from ONC Observatory Administrators in DEV and QA
  • [DMAS-80041] - Imported taxons can not be deleted from the UI
  • [DMAS-80046] - QA User Management can not delete user from IPP group
  • [DMAS-80050] - Delete button is enabled when creating a new device port
  • [DMAS-80079] - Deck log page doesn't load for anonymous users
  • [DMAS-80084] - EarthquakeMapWidget has flakey cypress test - "Enables and disables map layers"
  • [DMAS-80092] - Taxon common names don't allow for more than 1 common name
  • [DMAS-80097] - tx_taxon_trx doesn't contain all of the values of tx_taxon
  • [DMAS-80107] - Error when trying to save TaxonButtonSetConfig
  • [DMAS-80109] - Can not add new IP or edit existing IP in QA
  • [DMAS-80120] - Cannot update device attribute Date From for device type 64

User Story

  • [DMAS-73505] - As a software developer, I want to modularize QAQC persistence (and some other bits)
  • [DMAS-77586] - As a data steward, I would like taxon attributes to be preserved when editing an annotation in a deck log, so that if I use the wrong taxon I don't have to reenter data
  • [DMAS-78921] - As a ST developer, I would like to have an easy way to see all the synchronization errors in all ST related servers
  • [DMAS-79087] - As a developer, I would like to refactor the Deck Log's Annotation Entry widget to work for dive logging in the new Dive-Log app
  • [DMAS-79088] - As a dive logger, I would like to have an Annotation List in the new Dive Log app
  • [DMAS-79293] - As a dev, I would like to udpate existing database tables or create new tables for new cable metadata UI page
  • [DMAS-79402] - Generate a new DOI when a cast is reviewed
  • [DMAS-79468] - As a community fishers program member, I would like a UI that displays information about deployed device packages
  • [DMAS-79602] - Playing an Audio Widget "plays" the associated spectrogram in the Data Viewer
  • [DMAS-79613] - As a community fishers map user I would like to download .csv data files from the community Fishers Map
  • [DMAS-79762] - As a data steward, I would like the Driver Schedule to display the schedule year, month, and day next to the schedule hour, minute, and second
  • [DMAS-79779] - As a ST developer, I would like to have all the synchronization related error messages to be written in a separated file, so that other system can collect it easily. 
  • [DMAS-79894] - Add ManualEntry to Dive Log dashboard

Task

  • [DMAS-74587] - As a data steward, I would like to be able to delete device ports in the UI
  • [DMAS-77241] - Deprecate or fix getDapInstruments service
  • [DMAS-77487] - Add lint support for jsdocs
  • [DMAS-79190] - As a front end developer, I want Cypress tests to run in multiple threads so I can get feedback more quickly
  • [DMAS-79242] - Remove ServicesContext.tsx and refactor affected service classes
  • [DMAS-79305] - As a data steward, I would like to be redirected to a new process group when I create it
  • [DMAS-79427] - Investigate how to improve height calculation for annotation in an annotation list
  • [DMAS-79534] - Remove --fix from linting for builds
  • [DMAS-79601] - Provide a recommended format for annotation data to be ingested into SeaTube
  • [DMAS-79622] - Create some standards for Buttons in storybook documentation
  • [DMAS-79635] - create trx for jvmdevice database table
  • [DMAS-79648] - Have DataSyncMessagePublisherImpl connect to subjects on initialization rather than on send
  • [DMAS-79657] - Replace the "bin" icon for removing/hiding a widget in Deck/Dive Log
  • [DMAS-79713] - <CardGrid /> doesn't render everything at the same time and has shadow issues due to placeholder cards
  • [DMAS-79753] - Add UI test automation user to the rate limited search exemption list
  • [DMAS-79785] - Investigate method of mocking api services in storybook8 [timebox: 2days]
  • [DMAS-79786] - As a an external API webservices user i would like scalarData services "raw" to return downsampled data
  • [DMAS-79794] - Clear future-dated quartersummaryrequest entries for CF devices
  • [DMAS-79801] - Upgrade Checkstyle to 10.15.0
  • [DMAS-79807] - Fix automatic merge failure between release/24.03.000 and main
  • [DMAS-79823] - Oceans 3 CI builds should fail if _any_ bndrun file is not resolved
  • [DMAS-79829] - Turn off RDI Complex Archiver
  • [DMAS-79868] - update sensorcode table to use modifyby and modifydate
  • [DMAS-79876] - Update File Management page for MUI 5
  • [DMAS-79877] - Remove aria-label attribute for Submit button in SupportRequestForm
  • [DMAS-79878] - fix auto merge failure
  • [DMAS-79891] - Support modern JS language features in YUI code
  • [DMAS-79935] - Fix automatic merge failure
  • [DMAS-79997] - Update log4j.properties in QA and Prod to use the correct folder to store the log files
  • [DMAS-80037] - Add community fishers device package info to dmas menu

Implementation

  • [DMAS-78529] - Enable the Add an Attribute button even when no taxonomy is defined
  • [DMAS-78530] - If a user clicks Save for an annotation with attributes but no taxon, display a warning that attributes won't be saved
  • [DMAS-78531] - Don't remove attributes when removing a taxon
  • [DMAS-78532] - Update default attributes that the user hasn't modified when adding, removing, or replacing a taxon
  • [DMAS-78814] - Move FinalQaqcFlagHelper to the QAQC persistence bundle
  • [DMAS-78817] - Driver for Camera Interface Board
  • [DMAS-78866] - Refactor Buttons.jsx to use translated Buttons instead (first third)
  • [DMAS-78904] - Extract renderDataLayer to it's own Component
  • [DMAS-79227] - Add organization-specific attribute-handling logic in the deck log Annotation Entry widget
  • [DMAS-79239] - Replace the log.error in those synchronizable managers and their consumers with SynchronizationLogger.error
  • [DMAS-79284] - Add a toggle to the SeaTube Configuration page to control annotations with null attribute values
  • [DMAS-79341] - Create a Widget to display annotations in a list
  • [DMAS-79343] - Add annotation display options to configure what information is displayed in an annotation list item
  • [DMAS-79381] - Ignore attempts to close a session while a transaction is in progress
  • [DMAS-79462] - Create an API for retrieving and filtering endeavor earthquake events
  • [DMAS-79508] - Extract the common behavior within the converters to common services in the shared api/provider bundles.
  • [DMAS-79581] - create a new web service with CRUD operations for im_connectortype database table
  • [DMAS-79582] - update cableextension service for new columns in im_cableextension database table
  • [DMAS-79686] - Add download button for pre-generated csv data to cast popup first card
  • [DMAS-79691] - Update MaximumFrequencyLogger to use log4j2
  • [DMAS-79693] - Upgrade uses of slf4j to log4j2
  • [DMAS-79697] - Demo/test use of log4j2
  • [DMAS-79704] - Add page to oceans 3
  • [DMAS-79710] - Add xChange sensor type to xchange sensor table
  • [DMAS-79715] - Create service call for csv file
  • [DMAS-79720] - Implement CSV Upload updating
  • [DMAS-79766] - Extract EventDetectionService to an OSGi bundle
  • [DMAS-79783] - Add labels to dropdowns in Add Clause
  • [DMAS-79788] - Extract JBAlarmService to an OSGi bundle
  • [DMAS-79789] - Extract SnmpTrapSender to an OSGi bundle
  • [DMAS-79869] - update sensorcode table schema to use modifyby and modifydate - SQL
  • [DMAS-79870] - update sensorcode to use modifyby and modifydate - Java
  • [DMAS-79881] - Clean up custom styling in Buttons.tsx
  • [DMAS-79895] - Add AnnotationEntry widget to the new Dive Log dashboard
  • [DMAS-79897] - Create a layout file for the default layout on page load
  • [DMAS-79906] - Remove synchronization of messages from SynchronizerLogger.java; just log the error
  • [DMAS-79907] - Add the new appender for SynchronizerLogger.java in core.system.logger.impl's resources/log4j.properties as well as the same in qamon and ncdeploy
  • [DMAS-79916] - Create UnitOfMeasure Service with GET
  • [DMAS-79933] - (Don't) use MaximumFrequencyLogger in JBAlarmService's AlarmNotifier
  • [DMAS-79936] - Modify driver to send 'exit' command when stopping.
  • [DMAS-79939] - Add station centre to service call that matlab makes to get siteDeviceSubset metadata - Java
  • [DMAS-79940] - Add additional data product options to station profile animation - SQL
  • [DMAS-79977] - add searchtreenodeid column to eec_endeavoureventsite
  • [DMAS-80013] - Do not provide no binning dataproduct option - SQL
  • [DMAS-80065] - Disable cypress-split

Test

  • [DMAS-79633] - Write ST Configuration Cypress tests
  • [DMAS-79888] - Create Cypress test plan for the AnnotationList component

Bug (ST)

  • [DMAS-79717] - Fix issue where date filters don't show in annotation search url
  • [DMAS-79748] - Job run on cast review does not use correct subset id
  • [DMAS-79795] - Dashboard style issues
  • [DMAS-79811] - Trying to delete the year in DateTimePicker causes errors
  • [DMAS-79825] - Styling on playlist discovery page 'play' icons needs fixing
  • [DMAS-79826] - Changing quality on playlist playback crashes the page
  • [DMAS-79828] - Clicking share in the playback page displays the share buttons incorrectly
  • [DMAS-79851] - CSV searches are getting "Stuck"
  • [DMAS-79861] - Unable to select existing playlists to add clips to from the Dive Log
  • [DMAS-79863] - DataSearchService polling is not canceled when a download is canceled on playlist playback
  • [DMAS-79864] - Looks like theming isn't quite working in some spots
  • [DMAS-79872] - Synchronizer Management save loading indicator stays when dialog closed and reopened
  • [DMAS-79874] - Taxon Resource error snackbar shown when trying to edit a row
  • [DMAS-79911] - Device Action Page - Performed Date
  • [DMAS-79921] - Device Detail - Procurement tab incorrectly showing date
  • [DMAS-79923] - Qaqc Auto Test Details DateTime picker only showing Date
  • [DMAS-79927] - Device Data Rating creation form saves current time
  • [DMAS-79929] - Adding or editing a sitedevice also does not save the correct dateFrom
  • [DMAS-79931] - Date/Time missing from device resourceRole
  • [DMAS-79932] - Equinox failed to activate SnmpTrapSender on QA2 hosts
  • [DMAS-79947] - function trigger_fct_im_cableactiontype_audit_to_trx() does not work
  • [DMAS-79958] - Dates not saved correctly for create IP form
  • [DMAS-79962] - Datetime not save correctly in add sensor calibration form
  • [DMAS-79963] - Datetime not save correctly in add sensor-level data rating form
  • [DMAS-79969] - MUI 5 Error: Fix QAQC Details Page
  • [DMAS-79982] - Dive Log app crashed after giving input in taxon field
  • [DMAS-80007] - Fix help popper appearing in the wrong place
  • [DMAS-80020] - Widget date/times are shown in local time and saved in UTC
  • [DMAS-80095] - Fix comma filtering
  • [DMAS-80096] - Expand charatcer limit of common name in the database

Requirement

  • [DMAS-79576] - clarify requirement and design new database tables

April 18, 2024

Minor release for EEW adjustment for spikey geodetic data, Data Search add to cart issue, and new cables page fixes.

Tickets Released: Oceans 3.0: 24.03.002 (accessible to internal users only). Total: 4.

April 11, 2024

Minor release to fix driver schedules, formfield in OpenAPI, revamp the Prince Rupert webpage, archiving issue with Kongsberg rotary sonars and more.

Tickets Released: Oceans 3.0: 24.03.001 (accessible to internal users only). Total: 8.

April 4, 2024

Major release

Maintenance

New Features or Improvements

  • Created database tables and web services for new cable management tool
  • Improve performance of DeviceCategoryService
  • Ability to delete deviceportid through UI
  • Ability to create new parser definition through UI
  • Add Modified Date and Modified By of mobile/fixed site position on Site page
  • Add tooltips for data product selection table on Data Search page
  • Change default zoom level to display all deployed nodes on Data Search page
  • Change minimum zoom level on Data Search page
  • Sort Instruments by JVM on Device Console page
  • Add ability to sort columns of data product attributions on Network Console
  • Python client library updates, new process for Python development and continuous integration and automated testing (internal feature)
  • Many new / updated / fixed automated tests


Bug Fixes

  • Broken "Contact Us" links
  • Fix broken QAQC inheritance 
  • System Console sometimes displays the wrong Oceans Next version

SeaTube

  • Finishing 10+ on-ship server support
  • Support timecode testing and fixes
  • MUI 5 upgrade (in progress)
  • Refactoring buttons in Ocean-Next
  • Minor improvements and bug fixes

ExperiMINTED

  • Fix issue with Batch Dropdown closing immediately in Firefox

CIOOS & CIOOS / Community Fishers

  • Propagate translation changes to all machines so jobs get the latest data
  • Cast DOIs:
    • create via a job triggered by cast review, optional and turned off by default
    • DOI added to site device maintenance page

Latest Hydrophone Player (in-progress)

  • Supports selecting latest file in config (not supported in display yet)

Community Fishers

  • Add .csv option to CF map historical casts and lasso table
  • station overlap/decommissioning
    • Ensure 1:1 relation between search tree and geospatial areas
    • Add datefrom, dateto, and comment columns to manage CF stations
  • Cast checkboxes improved
  • New device package information page (not yet in the menus)
  • Add xChange sensortype and sensor information
  • Add SiteDeviceSubsetName into Aligned And Depth Binned data product files headers
  • Fixed: downloads from the front of the castpopup card are not being added to the downloaded casts list
  • Parser fix for AML-6 (only an issue for testing)
  • MUI 5 upgrades: buttons, translation, storybook updated to version 8, etc. (in progress)
  • Upgrade O3 System Banner

Data Products

  • MATLAB client library (will be separate release)
  • Testing and fixes for NetCdf generation/regeneration for ERDDAP (RDI ADCPs only so far)

EEW & Endeavour Catalogue

  • EEW investigations and minor fixes, including limiting acceleration data download job to 30 days at a time
  • Support new PNSN devicetype
  • Endeavour Earthquake catalogue: create ingestion job, email notifications and database schema (in-progress)

Instruments

  • Bug fix for Nortek Current Profiler driver that was resulting in memory overflow - caused by a particular configuration edge case
  • New permissions for driver start/stop. Uses a new stations specifier to limit permissions to certain locations for specified groups. Enables staff to more easily test instruments.

Tickets Released: Oceans 3.0: 24.03.000 (accessible to internal users only). Total: 131. Automated Testing: AT.24.03.000 total: 34.

Usability

  • [DMAS-52136] - layout menu closes after single selection

Bug

  • [DMAS-75905] - Fix inconsistencies in widget titles and Add Widget dropdown titles
  • [DMAS-77269] - Batch Dropdown in Oceans 3 menu closes almost immediately in Firefox
  • [DMAS-78929] - Playlist playback page crashes with a large playlist ID and a clip ID
  • [DMAS-79350] - ToggleAllCasts value in CFOverlay is not properly updated depending on state of checkboxes
  • [DMAS-79371] - Oceans Next deployment reports the wrong version
  • [DMAS-79378] - Error highlighting does not work on the Taxon autocomplete in Deck Log
  • [DMAS-79422] - SeaTube Search playlist snackbar needs a way to stay open until explicitly dismissed
  • [DMAS-79458] - Synchronizer management page Date From field can get prematurely disabled
  • [DMAS-79477] - Parser Test for AML-6 LGR is mixing up multiple temperature sensors
  • [DMAS-79479] - Try to fix CastPopup cypress test failures
  • [DMAS-79537] - Search fails if its quickly cancelled then restarted
  • [DMAS-79554] - downloads from the front of the castpopup card are not being added to the downloadedcasts list
  • [DMAS-79563] - DataProductRequest api service not handling default values for dmaskeyvalue FormFields correctly
  • [DMAS-79618] - Fix tsconfig warnings
  • [DMAS-79623] - citation returns null in some of the external web services in QA
  • [DMAS-79629] - 'Data Product Upload - batch' task erroring
  • [DMAS-79665] - Removing and adding the Annotation Entry widget crashes the Deck Log page
  • [DMAS-79668] - Fix post-refresh scripts for non-prod environments' synchronizer tables
  • [DMAS-79675] - QAQC reprocessing doesn't handle inheritance as it should
  • [DMAS-79681] - Storybook failing after upgrade to v8
  • [DMAS-79699] - Oceans 3 main branch fails to start in QA
  • [DMAS-79718] - Storybook deployment fails on new Jenkins agents
  • [DMAS-79729] - Dataset Landing Page test failing due to label

User Story

  • [DMAS-76357] - As a software developer, I want to migrate the Taxonomy page to Oceans Next in order to simplify maintenance
  • [DMAS-76402] - As a system admin, I want to manage which datasync queues receive messages so that I don't have to do too much manual clean up
  • [DMAS-77861] - As a community fishers program member, I would like a service that gets information about deployed device packages
  • [DMAS-78606] - As a ST Search/Playlist user, I would like see detailed error messages if there is a error while I am creating a playlist using ST Search so that I can report the error and take actions.
  • [DMAS-78726] - As an Erddap Operator I would like improvements to the minimally implemented ErddapNetCdfPostProcessor
  • [DMAS-79086] - As a ST user, I would like a modernized dive log page built in the same way as the deck log
  • [DMAS-79403] - Display cast DOIs on the Site Device Subset Maintenance page
  • [DMAS-79414] - As a SeaTube developer, I want ship-shore synchronization to use the modern MQ service framework
  • [DMAS-79467] - As a dev, I'd like to make synchronizer deployments require a dateTo

Task

  • [DMAS-74035] - Improve the performance of DeviceCategoryService
  • [DMAS-74587] - As a data steward, I would like to be able to delete device ports in the UI
  • [DMAS-78023] - As a data steward, I would like the site page modified date to include changes made to the site's position
  • [DMAS-78425] - AS a Data Steward I would like to be able to filter attributions in Network Console based on Role or DateFrom
  • [DMAS-78702] - Addition of ORP Sensor for NOAA: add to ST display
  • [DMAS-78720] - Refactor PlaylistService's permission handling
  • [DMAS-78855] - Add SiteDeviceSubsetName into Aligned And Depth Binned data files header
  • [DMAS-78981] - Make sy_translation cache consistent for task cache
  • [DMAS-79364] - Integrate cast selectedCastsSelectedBox with selectedStations
  • [DMAS-79375] - Replace FileLocation.fullpath with FileLocation.getFile where possible
  • [DMAS-79377] - Setup continuous integration for Python data products code
  • [DMAS-79380] - Support new PNSN deviceType 947
  • [DMAS-79424] - Support creating a parser definition from a devices parser definition tab
  • [DMAS-79452] - Device Console sort INstrumentes by JVM
  • [DMAS-79466] - As a sysadmin, I'd like the Synchronizer Management table to support sorting and grouping columns so that it's easier to find data
  • [DMAS-79509] - Clean up dependency pseudo-cycles around usermanagement and infrastructure
  • [DMAS-79518] - Add post-refresh scripts for non-prod environments' synchronizer tables
  • [DMAS-79536] - Update new dive log route to match oceans3 url
  • [DMAS-79538] - Investigate the 2024-03-06 missed earthquake
  • [DMAS-79565] - Send emails when entries are added to the earthquake catalog page
  • [DMAS-79597] - Create a test plan for ST Configuration
  • [DMAS-79603] - Add titles to organization logo images
  • [DMAS-79610] - Upgrade O3 System Banner
  • [DMAS-79651] - Upgrade storybook to version 8
  • [DMAS-79687] - limit continual acceleration download job to a max of the past 30 days.
  • [DMAS-79709] - Only Create metadata for PNSN devices in the EEW event definition

Implementation

  • [DMAS-76983] - Update backend for General Tab Maintenance
  • [DMAS-77695] - Expand Data Search data product selection table tool-tips
  • [DMAS-78452] - Add .csv option to CF map historical casts and lasso table
  • [DMAS-78615] - Create and map new dataproduct to Community Fishers devices - SQL
  • [DMAS-78844] - Update PlaylistService and PlaylistLineService to successfully create/update a playlist when an annotation is missing video and include broken clips in the result playlist
  • [DMAS-78901] - Synchronize to only certain destinations according to the message being synchronized
  • [DMAS-79026] - Generate DataCite XML for casts - Database
  • [DMAS-79053] - Implement webservice for device workflow bulk update
  • [DMAS-79085] - Add a button in SeaTubeV3 that links to the "new" dive log
  • [DMAS-79095] - Add datefrom, dateto, and comment columns to manage CF stations
  • [DMAS-79163] - Extract generic system command API to new OSGi bundles
  • [DMAS-79182] - Re-implement Buttons.jsx Cancel
  • [DMAS-79183] - Re-implement Buttons.jsx Delete
  • [DMAS-79186] - Re-implement Buttons.jsx Create
  • [DMAS-79187] - Re-implement Buttons.jsx Clear
  • [DMAS-79225] - Add a Save & Keep Time button to the deck log Annotation Entry widget
  • [DMAS-79235] - Create a class for passing remote log messages
  • [DMAS-79238] - Create a class to handle the remote error message synchronization
  • [DMAS-79244] - Create servlet for new dive log
  • [DMAS-79366] - Reformat code to prepare for services
  • [DMAS-79369] - Create a TransactionControl class & service
  • [DMAS-79396] - Generate DataCite XML for casts - ONC
  • [DMAS-79405] - Add message to snackbars when created/updated playlist has clips with missing video
  • [DMAS-79411] - Implement the public API for annotation conversion
  • [DMAS-79415] - Send datasync messages using DataSyncMessagePublisher
  • [DMAS-79416] - Refactor DataSyncServiceActivator to implement MessageListener, not DmasServiceActivator
  • [DMAS-79459] - Add xChange sensor information
  • [DMAS-79461] - create scheduled job for endeavor event data ingestion
  • [DMAS-79464] - Show DOI on site device subset management page
  • [DMAS-79471] - Add completed time & size to the search
  • [DMAS-79483] - Set dateto on cu_synchronizerdeployment not null
  • [DMAS-79484] - Update oceans3 logic to not allow null dateto for synchronizer deployments
  • [DMAS-79485] - Update oceans-next to not allow null dateTo for synchronizer deployments
  • [DMAS-79517] - Change DOI Retrieval to use resourceid, resourcetypeid
  • [DMAS-79523] - Move selectedStations into a context
  • [DMAS-79525] - Ensure 1:1:1 relationship between searchtreenode:searchtreenodegeospatialarea:geospatialarea
  • [DMAS-79541] - Add SiteDeviceSubsetName into Aligned And Depth Binned data files header - Java
  • [DMAS-79542] - Add SiteDeviceSubsetName into Aligned And Depth Binned data files header - Matlab
  • [DMAS-79551] - new methods in SensorTypeService to support create and update sensortype
  • [DMAS-79572] - Rebundle Token persistence code
  • [DMAS-79573] - Rebundle Station persistence code
  • [DMAS-79574] - Rebundle GeospatialArea persistence code
  • [DMAS-79584] - create im_cableactiontype table and its trx table
  • [DMAS-79585] - create im_cableaction table and its trx table
  • [DMAS-79586] - create im_cabletype table and its trx table
  • [DMAS-79587] - create im_connectortype table and its trx table
  • [DMAS-79588] - add several new columns in im_cableextension table
  • [DMAS-79595] - Add global property to specify task to run on cast review
  • [DMAS-79596] - Run task from global propery when cast reviewed
  • [DMAS-79606] - Create page for Community Fishers Device Package Info Page
  • [DMAS-79611] - Implement latest hydrophone config option in Data Player Widget
  • [DMAS-79614] - Remove Site Device from DOI Dataset
  • [DMAS-79615] - Pregenerate .csv data files for newest cast at a location
  • [DMAS-79617] - Make Sitedeviceid column nullable
  • [DMAS-79620] - update cableextension hibernate file to change name to comment
  • [DMAS-79621] - Add accordions to the Community Fishers Info page
  • [DMAS-79634] - Implement the methods in SynchronizationLogger created by DMAS-79238
  • [DMAS-79636] - Implement type-specific synchronization strategies
  • [DMAS-79649] - Make siteDeviceId column nullable in trx table
  • [DMAS-79653] - Add prop for translationOptions to be passed into Buttons
  • [DMAS-79688] - Add cards with device information to accordions
  • [DMAS-79695] - Clean up minor logging dependencies
  • [DMAS-79706] - Add the log4j2 API jar to our build environment
  • [DMAS-79708] - Add sensor type to XChange sensor information for use in front end
  • [DMAS-79734] - change the min zoom level to 0

Test

  • [DMAS-79205] - Testing NetCdf generation/regeneration for erddap
  • [DMAS-79318] - Create webservice automation tests
  • [DMAS-79641] - Unit test for Sensor Load feature

Bug (ST)

  • [DMAS-79571] - jest tests don't setup i18n correctly
  • [DMAS-79741] - Creating a new DOI for a subset does not set related identifiers

Design

  • [DMAS-79556] - Create UI mockup
  • [DMAS-79600] - Create a method for running regression tests on doi datasets

March 25, 2024

Minor release to fix synchronization issues (SeaTube), plus task, EEW and minor fixes.

Tickets Released: Oceans 3.0: 24.02.002 (accessible to internal users only). Total: 9.

March 10, 2024

Minor release for Nortek driver issue (driver machines only, no downtime).

Tickets Released: Oceans 3.0: 24.02.001 (accessible to internal users only). Total: 1.

March 5, 2024

Major release

Maintenance

New Features or Improvements

  • Add Modified By and Modified Date on Device Workflow Admin page
  • Database improvements: improve a number of constraints on field lengths, remove a few deprecated tables, update a few _hist tables to _trx tables for better auditing.
  • Remove deprecated code: CANARIE Registry, adcpdata API
  • Quarter-scalar-data-generation-cassandra limit number of records to be processed each time
  • Update date format for QAQC reprocess and QAQC deletion jobs
  • Change property value from sensortypename to sensortypecode in Data Search URL

Bug Fixes

  • CSV/JSON data products header should report metadata file name with .xml not .pdf
  • User Management: "Select All" doesn't select all data products
  • Plotting Utility: Quarter scalar data includes data outside of deployment when it should not
  • Updates and bug fixes in automated testing

Community Fishers

  • Feature of the month! See: https://community.oceannetworks.ca/posts/oceans-30-software-updates-for-february
    → Added button to download all cast from a station
  • Reworked selected download check boxes on Cast Selection pop-up
  • Added support for Rinko-FT devices in the Community Fishers Pipeline and Data Products
  • Initial implementation backend & webservice to get CommunityFishersDevicePackage info
    • added xChange sensor information
    • added last verification date, last calibration date per device
    • moved CommunityFishersDevicePackage to device bundle

Community Fishers - APP

  • The Community Fishers App version CF.3.2.10 has been released with a summary found here: https://jira.oceannetworks.ca/projects/DMAS/versions/13379
  • Or alternatively, a brief rundown:
    • automated tracking of android tablet version
    • removed auto update notification
    • added new help menus/manuals
    • integrated Wi-Fi and Bluetooth connection more closely with Android
    • fixed loading from archived log/ctd data creating an unclose-able menu
    • various performance improvements under the hood

Acoustic Instruments Data Viewer

  • added a reference URL to custom taxons (front-end)
  • Fixed: Data Search for all available data doesn't return all the data (high-priority bug)

Data Products

  • Two very minor bug fixes and automated testing improvements.

Infrastructure

  • Restricted/testing environments only allow a subset of users to log in (secondary security to VPN/firewalls)
  • Remove abandoned "Camera Shut Down" application and "Complex Data Viewer" (v1 & v2) pages
  • Abort a deployment & shut down if Oceans 3 tries & fails to connect to its database
  • Modernize code behind Taxonomy Management page

Dashboards

  • Data Source Selector Widget now shows sources in a table
  • Location Selector now uses public API/locations service (much faster)
  • Fix: Audio player now goes to the correct location to play FLAC files
  • Fix: Data Player Widget can now be used anonymously 

CIOOS Pacific

  • Add tab to Agreements to edit and view local context labels

ExperiMINTED

  • Remove incorrect ERROR logging in the DOI registration job (378)
  • Link available from Data Search page to go to Search History page 
  • When running a batch an email can be sent under various conditions

Earthquake Early Warning, API and Tasks

  • Now continually sending acceleration data to IRIS on some high bandwidth land sites
  • Add message to API when requesting restricted data
  • Improved response descriptions on the open API page
  • Add better messaging when a default value is used on dataProductDelivery API
  • Wrap text on browser telnet console page
  • Simplify logic for running tasks and don't send tasks over the scheduler topic

SeaTube

  • Finished most phase 1 features in supporting 10+ on-ship servers
  • In-progress: DateTimePicker for MUI 5 updates, annotation ingestion parser, refactoring DiveLog to use the same framework as the DeckLog
  • Minor improvements and bug fixes

Instruments

  • Subc MK5/6 driver zoom function updated
    • Device does not report current zoom location.  Driver now generates the current zoom location by counting the number of zooms in from the maximum zoom out.
    • Add new sensor attributes for the total number of zoom positions and largest zoom step size, accounting for differences in model years.
  • In-progress: Camera Interface Board driver

Tickets Released: Oceans 3.0: 24.02.000 (accessible to internal users only). Total: 168. Automated Testing: AT.24.02.000 total: 8.

Bug

  • [DMAS-32067] - Large amount of text in some fields prevents account from being created and gives an unhelpful error message
  • [DMAS-67313] - Since 2021-12-01, The datasync queues are receiving thousands of messages
  • [DMAS-74241] - Save button is displayed on some pages for anonymous users
  • [DMAS-75460] - CSV/JSON products metadata file name in header should say .xml not .pdf
  • [DMAS-78229] - Data Search for all available data doesn't return all the data
  • [DMAS-78337] - Task DOI-Registration-job-deviceTypes (378) is failing every run
  • [DMAS-78715] - Pamguard configuration file uploader not working
  • [DMAS-78902] - Pamguard sub-tasks status not updated with parent batch
  • [DMAS-78958] - Disable the save button in the AddCollectionDialog on playlist discovery when fields are not filled in
  • [DMAS-78962] - Add missing task type entry for pamguard batch
  • [DMAS-79058] - In playlist playback page, the play speed control will go back to normal speed after a clip is done even the display is the same
  • [DMAS-79112] - Playlists with missing clips display the text "clip-thumbnail" as the clip thumbnail
  • [DMAS-79124] - Search failure in state of ocean plot in QA for negative values
  • [DMAS-79165] - Enable strict null checking for Task Management
  • [DMAS-79172] - Community Fisher pipeline error when editing end time
  • [DMAS-79197] - dmas-ldap-export.sh writes comments to ldif export
  • [DMAS-79212] - User Management: "Select All" doesn't select all data products
  • [DMAS-79217] - Error loading some older earthquake detail pages
  • [DMAS-79220] - The Running Tide Camera zoom is not responding to sea script
  • [DMAS-79228] - organizationagreementdevice has null deviceid
  • [DMAS-79252] - Audio Player not playing FLAC file
  • [DMAS-79265] - A taxon or taxonomy with no children displays as having a child in the tree widget
  • [DMAS-79267] - Fix the spelling of the Synchronizer Management page URL
  • [DMAS-79279] - Data Player Widget fails to make service calls to fetch spectrogram data
  • [DMAS-79286] - The thumbnail image is not display well for fixed location camera in playlist
  • [DMAS-79289] - Error initializing archive file manager in QA
  • [DMAS-79296] - OrganizationService not working
  • [DMAS-79299] - Quarter scalar data includes data outside of deployment when it should not
  • [DMAS-79304] - In QA calibration formulas cannot be saved anymore since the "Save" button was removed
  • [DMAS-79306] - Unable to see deployments if there is a deployment with a null dateTo value
  • [DMAS-79312] - ArchiveFileManager getByDevice results in NPE
  • [DMAS-79313] - Can's sync anything in QA
  • [DMAS-79326] - Changing a taxon's common name fails with an org.hibernate.SessionException: Session is closed
  • [DMAS-79389] - Data Player Widget makes repeated webservice calls when accessed anonymously
  • [DMAS-79394] - Applied QAQC tab on device details page does not work as expected in QA
  • [DMAS-79395] - Fix misuse of getmatlabjobdatabytaskid function in castdatacorrectionpostprocessjob
  • [DMAS-79409] - UVic task machines must not listen to the datasync queue
  • [DMAS-79419] - Fix QA bug of Save Button not appearing on some pages
  • [DMAS-79426] - fix archive file api not filtering restriction warning messages correctly in QA
  • [DMAS-79435] - Race condition in Expedition Management landing page
  • [DMAS-79441] - Unable to save or edit an annotation
  • [DMAS-79443] - Can't sync message in QA due to ClassNotFoundException
  • [DMAS-79447] - NullPointerException when saving synchronzer deployment with null dateTo
  • [DMAS-79449] - API /scalardata/device returns incorrect actualSamples when rowLimit is set
  • [DMAS-79451] - Quarter scalar job never terminates in QA
  • [DMAS-79456] - Updating a synchronizer deployment doesn't update modifyby or modifydate
  • [DMAS-79457] - Synchronizer management page crashes when toggling Start Now while editing a deployment
  • [DMAS-79473] - Erroneous ISO19115 xml metadata for Camera System in QA search automation
  • [DMAS-79474] - QA machines fail to *restart* due to ClassNotFoundException
  • [DMAS-79482] - Issue for Save button on SiteDeviceSubsetMaintenance
  • [DMAS-79489] - hostname not set correctly when task queued for not uvic shorestation in QA
  • [DMAS-79498] - .gz files don't appear in Data Search .zip download
  • [DMAS-79515] - Cannot cancel a running task

User Story

  • [DMAS-76402] - As a system admin, I want to manage which datasync queues receive messages so that I don't have to do too much manual clean up
  • [DMAS-77348] - Link to Search History Page from Data Search to improve accessibility of page
  • [DMAS-77692] - As a Community Fishers users, I want to download all casts from one station on Community Fishers Map without having to go to Data Search
  • [DMAS-77978] - As a batch management user I would like to have batch tasks automatically run in sequence
  • [DMAS-78339] - As a dev, I would like to see consistent date format on UI pages
  • [DMAS-78482] - As a system admin, I want to see whether synchronizers are deployed so I know which message queues need to be managed
  • [DMAS-78483] - As a system admin, I want to create synchronizer deployments so I don't need to manage their queues myself
  • [DMAS-78484] - As a system admin, I want to edit synchronizer deployments so I can end deployments
  • [DMAS-78575] - As an API user, I'd like better messaging when I hit restricted data
  • [DMAS-78797] - As a user, I would like to see Modified Date and Modified By info on Device Workflow Admin page
  • [DMAS-79057] - Ensure all ST-related synchronized tables use ModGenerator
  • [DMAS-79224] - Clean up activation and bundling of DataSyncServiceActivator
  • [DMAS-79429] - Define Storybook usage and standards

Task

  • [DMAS-35284] - Quarter-scalar-generation: limit number of records to be processed each time
  • [DMAS-67742] - Change property value from sensortype name to sensortype code on url of data search
  • [DMAS-73214] - Deprecate CANARIE registry endpoints and supporting code
  • [DMAS-74080] - Remove DataProductFormatAttribution table
  • [DMAS-77454] - change cruiselivestream_hist_seq to cruiselivestream_trx_seq
  • [DMAS-77899] - Convert organizationagreement varchar columns to text to allow any length
  • [DMAS-77990] - Prototype a script to export a subset of users from one LDAP instance to another
  • [DMAS-78603] - Add unit tests for getmatlabgetjobdatabytaskid
  • [DMAS-78975] - Clean up unused and uneeded parts of NeptuneVelocityServlet
  • [DMAS-79094] - Support parsing path params in DmasRestService
  • [DMAS-79144] - Update Required Date Format in QAQC Results Deletion and Reprocess Jobs
  • [DMAS-79149] - Delete unused CSD application
  • [DMAS-79191] - Move task email sending into a single place
  • [DMAS-79194] - Clarify what networking tools a user needs to run npm run deploy:oceans3
  • [DMAS-79208] - OpenAPI - update description fields for all the different services
  • [DMAS-79210] - Simplify renovate build process
  • [DMAS-79215] - organizationagreement has hist and trx tables
  • [DMAS-79221] - Remove deprecated adcpdata service
  • [DMAS-79232] - Support using TypedBaseDAO.saveOrUpdateList on types with non-zero unsaved PK values
  • [DMAS-79254] - Update label id for dropdowns on the DeviceActions page for testing purpose
  • [DMAS-79270] - Support Rinko-FT devices in the Community Fishers Pipeline and Data Products
  • [DMAS-79278] - If Hibernate fails to connect to the DB during a deployment with --watch, shut down affected servers so they don't spam the logs
  • [DMAS-79301] - Remove the abandoned ComplexDataViewer page
  • [DMAS-79308] - Support hiding some columns from the table of deployed synchronizers on the Synchronizer Management page
  • [DMAS-79309] - simplify logic for when a task can be ran and bypass scheduler topic
  • [DMAS-79348] - Update recurring search user info to align with current use
  • [DMAS-79352] - Add the Synchronizer Management app to Ocean3 menu
  • [DMAS-79357] - Remove the ChartContainer react component
  • [DMAS-79368] - wrap text on telnet console page
  • [DMAS-79397] - Update earthquake catalog page with correct detection area lat lon
  • [DMAS-79398] - Set user permissions for the Synchronizer Management page
  • [DMAS-79400] - Add synchronizer id to the synchronizer deployment UI
  • [DMAS-79420] - Update directory where EEW mseed files get downloaded to

Implementation

  • [DMAS-76355] - Generate IDs for synchronizable objects using a server's synchronizerId
  • [DMAS-76898] - Write skeleton code for device details GeneralTabPage
  • [DMAS-78159] - Write the Cypress skeleton code for the GeneralTabForm component
  • [DMAS-78270] - Replace the original Taxonomy page with the new one
  • [DMAS-78320] - Save changes to taxons and taxonomies
  • [DMAS-78327] - Get a list of active & future synchronizer deployments from the backend
  • [DMAS-78328] - Display a table of active and upcoming synchronizer deployments
  • [DMAS-78329] - Extend the create dialog to support editing a synchronizer deployment
  • [DMAS-78331] - Save a new synchronizer deployment in the backend
  • [DMAS-78332] - Save new synchronizer deployments on clicking Save in the create dialog
  • [DMAS-78333] - Add a Create Deployment button to the synchronizer management page's table widget
  • [DMAS-78340] - update date format for modified date or modify date on Actions, DeviceType, DeviceCategory, Organizations pages
  • [DMAS-78342] - update date format for modify date or modfied date on Device Sync and DataPreviewManagement pages
  • [DMAS-78344] - update date format for modified date or modify date on qaqc auto test finder and auto test details pages
  • [DMAS-78437] - Display a form on clicking the Create Deployment button
  • [DMAS-78438] - Add validation to the Create Deployment dialog
  • [DMAS-78485] - Update a synchronizer deployment in the backend
  • [DMAS-78486] - Update an existing deployment on clicking Save in the edit dialog
  • [DMAS-78637] - Implement users receiving optional emails when batch pauses or completes - ONC
  • [DMAS-78638] - Clean up the paths of the new taxonomy page in Oceans Next
  • [DMAS-78794] - Update "Playlist Created" snackbar to link to the playlist
  • [DMAS-78813] - Extract QAQC persistence code to OSGi bundles
  • [DMAS-78865] - Re-implement Buttons.jsx Save
  • [DMAS-78894] - Create tab for network console for local context project and service for getting project id
  • [DMAS-78895] - Create front end based off design for displaying local context project
  • [DMAS-78906] - Create a table view for displaying data sources
  • [DMAS-78948] - Return an error when TaxonomyMatrixAttributeService can't update or delete a taxon
  • [DMAS-78964] - Add a reference URL to custom taxons (frontend)
  • [DMAS-78978] - Return an IResourceName from NeptuneVelocityServlet.getResourceId
  • [DMAS-78983] - Have synchronizers connect to all synchronizers' datasync queues for publication
  • [DMAS-78987] - Create a management service for the synchronizer management UI
  • [DMAS-79004] - Convert Create*, Add* Buttons to use new format
  • [DMAS-79034] - Use locations/tree public service to get tree
  • [DMAS-79071] - add Modified Date and Modified By to Process
  • [DMAS-79072] - Update mapping files to use ModGenerator
  • [DMAS-79073] - Remove now-unused sequences and defaults using them
  • [DMAS-79074] - Implement users receiving optional emails when batch pauses or completes - Oceans Next
  • [DMAS-79079] - populate data product availability tables for live data when archive file entries are created
  • [DMAS-79083] - Return a list of synchronizers from the backend when /internal/synchronizer is called
  • [DMAS-79093] - Update useSnackbars hook to accept and use the `actions` prop
  • [DMAS-79098] - Create synchronizers for task servers and rename existing prod synchronizers to match hostnames
  • [DMAS-79147] - Support a messageType field distinct from the messageClass
  • [DMAS-79179] - Write the skeleton code for GeneralTabPanel
  • [DMAS-79180] - Write skeleton code for GeneralTabForm
  • [DMAS-79184] - Hook up the buttons in GeneralTabForm so they work
  • [DMAS-79229] - Create a service call to return all MQ locations
  • [DMAS-79243] - Create a new DiveLogDashboard component
  • [DMAS-79250] - add Modified Date and Modified By to Phase
  • [DMAS-79263] - Rebundle DataSyncServiceActivator
  • [DMAS-79264] - Clean up DataSyncServiceActivator activation
  • [DMAS-79266] - add Modified Date and Modified By to Task Editor
  • [DMAS-79271] - Rebundle enums in IFileLocationConfig
  • [DMAS-79272] - Remove dependency of extension.synchronization.api on core.usermanagement.api
  • [DMAS-79288] - Return Files from FileLocation
  • [DMAS-79300] - Implement skeleton webservice to get device package info
  • [DMAS-79319] - Implement ability to get all Community Fishers Device Packages
  • [DMAS-79325] - Move CommunityFishersDevicePackage to device bundle
  • [DMAS-79401] - Create wrapper on Community Fishers device packages with extra info for info page
  • [DMAS-79408] - Create an API for annotation converters
  • [DMAS-79428] - add message when a default value is used in the data search api
  • [DMAS-79431] - Create styleguide for buttons
  • [DMAS-79434] - Configure backend to allow for CORS preflight OPTIONS call and PATCH permissions
  • [DMAS-79436] - Replace logging jars with pax-logging-api
  • [DMAS-79439] - add modify info to deviceprocessgroup table
  • [DMAS-79448] - Add last verification date, last calibration date per device

Test

  • [DMAS-78302] - Update UI tests to work with the new taxonomy page

Bug (ST)

  • [DMAS-79303] - Response from /internal/synchronizers/deployments is missing a deployment's organization & user
  • [DMAS-79311] - RDI ADCP Wave devices are getting a datasets.xml section for Codar device types

Requirement

  • [DMAS-78518] - Gather requirements for Community and device package UI

February 15, 2024

Minor release for CF AML-6 CTD parser and logging issue.

Tickets Released: Oceans 3.0: 24.01.002 (accessible to internal users only). Total: 2.

February 12, 2024

Major release, covering December thru January.

Maintenance

New Features or Improvements

  • Standardized data format for Modified By and Modified Date Oceans 3.0 pages
  • Python API library documentation update
  • Update web services to add Modified By and Modified Date for device workflow admin page
  • Allow to close enlarged images on Search Hydrophone Data page
  • Add new data source filter "Restrict data source selection to map-view" on Data Search page. Off by default to prevent tree-trimming.
  • Add another order by (modifydate desc) for deviceattributes or sensorattributes on Device Details display
  • Draggable dialog box on Device Category page
  • Allow colons in the field label of fornfield entries
  • Remove groundfault alarm setting for mini JunctionBox with 400 volt ports
  • Lots of new or updated or fixed automated tests

Bug Fixes

  • Fix ticket creation which was broken by Jira upgrade

Internal projects

  • Java 17 upgrade project is officially complete
  • Various small deployment improvements: better logging, reduce errors, improve validator warnings
  • Support refactoring ship-shore-synchronizing managers into OSGi-services mid-season
  • Drop support for IE9

Dashboards (in support of Acoustic Data Viewer)

  • DEV/QA only data selector widget beta

CIOOS

  • Use correct version of DOI link now that CKAN supports it
  • Local Contexts - in progress - support association of Local Contexts project ID with Organization Agreement, display labels associated with project
  • Fixed issue with CKAN harvest jobs not finishing

ExperiMINTED/Task Management

  • Remove pagination for Batch Tasks - all top-level batch tasks now show on one page to make sequencing simpler
  • Batches now support auto-run 
  • We now support a pipeline job which will run the specified set of jobs sequentially
  • Bug fix: running DOI registration jobs metadataOnly updates DataCite correctly again 

EEW

  • Fixed a bug where site detections could show up multiple times if they didn't have a p-wave or s-wave attached on the earthquake detail page.

API

  • Removed userId parameter from ScalarDataAPIService (not the public API service) to improve security.
  • Support default data product options in the data product delivery service. Also ignore any incorrect options a user provides. Response contains the corrected URL.
  • Remove scalar data get by station API
  • Have user input persist on the OpenAPI  page if they enter it while logged out and then log in to try their query.
  • Add deviceCode filter to the OpenAPI  deployment service page. The API already supported it but it wasnt listed on the OpenAPI page.
  • Improve performance of the get location and get location tree services
  • Update all public API services to support an appToken (for dashboards)
  • Update the citation response from delivery API services to include fields for the DOI, landing page link, and query pid in addition to the citation string.
  • Added filters to the location tree service so it has all the same ones as the get location service.

Data Products

  • Bug fixes: Nortek data for rest of day is missing after a configuration change (in some cases), slow/stuck RDI reading with gappy data
  • Better plot titles for supporting global data
  • ERDDAPnetCDFpostProcessor ready: added features for automatic dataset switch over as we populate, handling of re-postprocessing, chunking for reliability, filters by device and time for live and re-postprocessing, edge cases

SeaTube

  • Finished Playlist update project phase 1
  • In-progress: supporting 10+ onship servers
  • Some minor improvements
  • A few bugs fixed

Community Fishers

  • Fixed multiple lasso tool bugs
  • Fixed CF duration limit accidentally applied to all siteDeviceSubset types
  • Fixed CF App Wi-Fi Regression Test patch for CF.3.2.10
  • Added DeviceTypeAttribute to track android SDK version for devicetype 267
  • Dropped the ErddapDatasetAttribute and ErddapDatasetAttribute_hist table
  • Converted CFOverlay to a functional typescript component
  • Refactored Cast Selection popup out of CFOverlay
  • Added mapId to the context so it isn't passed around everywhere
  • Fixed lasso tool on CF map contains undefined reference to assignedCastData
  • Added I18n to cut down on code maintenance for Buttons in React

Tickets Released: Oceans 3.0: 24.01.000, 24.01.001 (accessible to internal users only). Total: 254. Automated Testing: AT.24.01.000 total: 44.

Bug

  • [DMAS-78840] - The mat-format data products for the AZFP Echosounder (55036) at DDL have unexpected units in the profileData
  • [DMAS-79231] - Tasks that cannot be executed due to singleton constraint result in a NPE
  • [DMAS-74752] - Order device attributes by datefrom desc, modifydate desc on device details/additional attributes page
  • [DMAS-77991] - Description collapse text displays for all playlists in Firefox
  • [DMAS-78330] - Synchronization managers can't be referenced
  • [DMAS-78418] - I can't modify or delete button sets I create
  • [DMAS-78592] - Data Search filter misbehaves when changing between tree types with active filters
  • [DMAS-78594] - Links to DOI Dataset Landing Pages broken for all CKANs
  • [DMAS-78621] - Can't set Junction Box alarm values for BPS miniJB028
  • [DMAS-78699] - Fix tests failing due to update of esri-leaflet to v3.0.12
  • [DMAS-78721] - Lassoing irregular shapes causes duplicate cast lasso items
  • [DMAS-78738] - Titles in matlab plots don't know about South
  • [DMAS-78753] - Fix VideoTest.testShareVideo
  • [DMAS-78762] - Data access restriction doesn't work in ST dive log
  • [DMAS-78763] - Unnecessary error messages while reordering my video clips
  • [DMAS-78769] - Playlist Playback page crashes when a playlist has no clips
  • [DMAS-78771] - SeaTube Chat Log widget's minimum height depends on the window height
  • [DMAS-78782] - CastPopup occasionally fails tests when ran locally.
  • [DMAS-78783] - Downloading clips from a playlist while not logged in displays an error "Network error"
  • [DMAS-78795] - main branch of Oceans Next not building on Windows
  • [DMAS-78805] - Position and show/hide issues on the video control bar of Playlist Playback page.
  • [DMAS-78822] - Bathymetry page is failed to load.
  • [DMAS-78835] - Metadata change task and DOI registration task are assigned 0 sequence numbers
  • [DMAS-78845] - SiteDevice Subset upcast/downcast changes have globally affected all subset types
  • [DMAS-78857] - Deployments sometimes fail with `tail: invalid number of lines '+Binary'`
  • [DMAS-78873] - Fix failing storybook build
  • [DMAS-78885] - Oceans Next isn't reporting jest test results
  • [DMAS-78888] - Oceans 3 fails to restart in QA2
  • [DMAS-78912] - Some pages don't load from the start:oceans3 script
  • [DMAS-78917] - There are expeditions/dives missing in on-shore dive logger
  • [DMAS-78931] - CKAN of dataset record is not available even though devices have been added through ERDDAP, CKAN jobs
  • [DMAS-78946] - Bug in the parser for Nortek Aquadopp Profiler 2MHz, specifically at Folger Pinnacle on 2024-Jan-06
  • [DMAS-78955] - lasso button is being duplicated on the geospatial page
  • [DMAS-78963] - Error when editing existing playlists
  • [DMAS-78968] - Adding a collection does not close the "Create Collection" dialog
  • [DMAS-78985] - lasso tool on CF map contains undefined reference to assignedCastData
  • [DMAS-78994] - Fix failing test case in TaxonomyDetailWidget.cy.tsx
  • [DMAS-79003] - Null Pointer Exception When Logging in on Dev
  • [DMAS-79027] - Clip deletion failing due to missing playlistHdrId
  • [DMAS-79032] - Investigate QAQC Reprocess (job ID 359) failure for taskId 36661223
  • [DMAS-79045] - Geospatial map lasso tool removes selected casts when performing new lasso
  • [DMAS-79049] - Device Workflow Admin Phase Filter not showing up in QA
  • [DMAS-79065] - Selecting casts with lasso after choosing 'Select all casts' doesn't revert button to 'select all casts'
  • [DMAS-79084] - In QA, I can't update the datatype of a taxonomy attribute, or add options to it
  • [DMAS-79090] - Device Workflow Admin Process Filter not showing up in QA
  • [DMAS-79092] - DOI title mismatch between datacite and ONC database
  • [DMAS-79106] - Accessing ComplexDataPlayer as an anonymous user will crash the browser
  • [DMAS-79109] - Device Workflow Admin page can not add/delete phase
  • [DMAS-79110] - Pressure data for RDI ADCP 150 kHz (SN 8580) for SOG East is incorrect in MAT and RDI data prdocuts
  • [DMAS-79121] - Cannot generate dataProducts for historical casts at a station via the Community Fishers Map
  • [DMAS-79125] - Error occurring in Batch Management when deselecting a batch
  • [DMAS-79134] - Earthquake Detail Page site detection table is showing duplicate sites
  • [DMAS-79142] - error when trying an open api query when logged out
  • [DMAS-79146] - Applying filters or enabling drifter/cf sampling stations on QA DataSearch causes device tree to reload collapsed
  • [DMAS-79170] - modifyDate and modifyBy is null for a new Process, Phase or phasephasetask
  • [DMAS-79200] - imagenex-837-postprocess-job generate *.837 files with zero filesize in qa with release/24.01.000
  • [DMAS-79207] - The XML configuration files for the AZFP Echosounder (55036) at DDL are incorrect after 2023-11-24 22:06
  • [DMAS-79219] - piggyback device connect multiple ports to different port of parent device in topology is broken

Epic

  • [DMAS-74103] - As a software developer, I want to upgrade our tools to use Java 17 so that we can make use of the latest features and ongoing support

User Story

  • [DMAS-73635] - As a ST developer, I would like to support more than 10 onship servers
  • [DMAS-75300] - As a software developer, I want to upgrade dev dependencies to match the versions used in the new Equinox
  • [DMAS-77737] - As a software developer, I would like more constraints on database updates and deletes in the QA and DEV databases
  • [DMAS-78371] - As a software developer, I want synchronizer database tables to use a module prefix
  • [DMAS-78447] - As a dev, I would like to have modifydate and modifyby coumns and trx table for device workflow related database tables
  • [DMAS-78474] - As a user, I would like to see consistent names for fields Modified Date and Modified By
  • [DMAS-78481] - As a software developer, I want a synchronizer management skeleton page for me to build on
  • [DMAS-78494] - As a scientist using SeaTube, I want to be able to lock a playlist against editing so that links from published papers can't be broken
  • [DMAS-78552] - As a software developer, I want to drop support for testing old branches with Java 8 in order to simplify maintenance and test processes
  • [DMAS-78684] - As a ST user, I want to be able to create, edit, and delete playlist group from the group panel
  • [DMAS-78708] - As a SeaTube user, I want video snapshots to use a more appropriate quality
  • [DMAS-78933] - Add stories for map buttons, menus, sizeables sliders
  • [DMAS-78939] - Add storybooks for steppers

Task

  • [DMAS-37728] - remove navdata configproperties in database
  • [DMAS-46729] - Jan Schluter would like a "restrict to visible area" tickbox instead of automatic filtering in data search
  • [DMAS-47205] - ServerManagementService appears to be inactive
  • [DMAS-67409] - As a data partner, I would like to see ScalarDataAPIService validate its user's identity so that data access restrictions can be enforced
  • [DMAS-73306] - As a user, I would like to see an alert when future dates are used in QAQC Results Deletion Job
  • [DMAS-74927] - As an app developer, it would be useful to have quick access to the android version of a tablet used in CF
  • [DMAS-75613] - As a dev, I would like to see dialog box on device category dragable
  • [DMAS-76872] - Always proxy through qamon/ncdeploy when deploying from Jenkins
  • [DMAS-76942] - Add job.failed.email.recipients job parameter for QAQC reprocessing job
  • [DMAS-76961] - Make each of the data product options in the Dataset Landing Page for query PID options table links to the wiki
  • [DMAS-77026] - Improve email content for the support request
  • [DMAS-77818] - Print any errors thrown when installing OSGi bundles in QA/prod
  • [DMAS-77950] - Remove the page header bar on the playlist playback page
  • [DMAS-78013] - Lazily load Playlist apps when running Oceans Next in playground mode
  • [DMAS-78301] - Replace loading spinners on Thumbnails with a Skeleton component
  • [DMAS-78338] - Populate the synchronizer database tables
  • [DMAS-78356] - Adjust styling in PlaylistList to add space between thumbnail and text
  • [DMAS-78357] - Redirect the SeaTubeV3 Playlist playback route to the new Playlist Playback page
  • [DMAS-78411] - Make DataSyncServiceActivator agnostic to whether a synchronizable manager is an OSGi service or not
  • [DMAS-78528] - Refactor AsyncAutocomplete to use cancellable service calls and create storybook
  • [DMAS-78585] - Design where playlist lock/unlock buttons and icons will go, how it will affect the playback page
  • [DMAS-78639] - Allow colons in the field label of formfield entries.
  • [DMAS-78692] - Search Hydrophone Data page does not allow to close zoomed images
  • [DMAS-78711] - As a user, I would like to see consistent display for Modified By on dmas UI pages
  • [DMAS-78732] - Update the playlist discovery page's Modified column if a playlist's clips are modified
  • [DMAS-78739] - Update Dockerfile to use Node v20
  • [DMAS-78796] - As a dev, I would like to include modifyby and modifydate in the web services for device workflows
  • [DMAS-78804] - Inconsistent date formats in notification emails
  • [DMAS-78824] - Add story with docs for AvailabilityChart
  • [DMAS-78827] - Add stories for Filters and DragScroll
  • [DMAS-78837] - scalardata get by station failing to return data
  • [DMAS-78842] - The Jenkins storybook build should email the senior developers on failure
  • [DMAS-78846] - Switch configuration to avoid needing to import React in every single file
  • [DMAS-78853] - Unassigned casts inside station perimeter
  • [DMAS-78854] - On the openapi page if a user fills out a service query while not logged in the form should keep the values after login
  • [DMAS-78880] - OpenApi deployment page is missing the deviceCode filter
  • [DMAS-78886] - Configure logging for OSGi tests
  • [DMAS-78887] - Equinox validation should fail with a better message if gemini.service exists but /usr/local/gemini doesn't
  • [DMAS-78908] - improve the performance of the get location tree public api call
  • [DMAS-78909] - Update code coverage reports for Oceans Next
  • [DMAS-78910] - Update code coverage reports for Oceans 3
  • [DMAS-78913] - need able to deploy oceans-next code to qadivelogger4.onc.uvic.ca through Jenkins
  • [DMAS-78925] - Run DigitalFishers UI tests in Renovate builds
  • [DMAS-78940] - Add appToken support to external services not supporting it yet
  • [DMAS-78943] - Implement TaxonAsyncAutocomplete into Dive and Deck Log
  • [DMAS-78959] - Add new field auto-requeue to tm_tasktype
  • [DMAS-78960] - Update openAPI page and documentation for resample periods
  • [DMAS-78979] - CKAN harvester won't stop
  • [DMAS-78989] - Don't attempt to use Matlab if matlab as a service is turned off (Dev)
  • [DMAS-79006] - Remove pagination for the first level of batch tasks
  • [DMAS-79017] - Improve task original date query
  • [DMAS-79021] - Update dependency react-virtualized-auto-sizer to v1.0.21
  • [DMAS-79031] - Remove sequenceNumber from DAO objects
  • [DMAS-79060] - Sort the AppMenu in Oceans Next
  • [DMAS-79089] - Remove the current playlist from the list of Copy To Playlist options on Playlist Playback page
  • [DMAS-79091] - Update tests for the ModifiedBy value on UI page
  • [DMAS-79105] - update post refresh scripts with new task type column
  • [DMAS-79201] - As a data steward, I would like the sensortype description field to be longer, to make state-type sensor values clearer
  • [DMAS-79234] - Add logging to JMSExceptionHandler and GenericJMSConnection
  • [DMAS-79257] - Correct checkstyle issues in GenericJMSConnection

Implementation

  • [DMAS-77504] - Implement Data Source Selection Widget
  • [DMAS-77738] - Add where clause constraint to all database table updates and deletes
  • [DMAS-77993] - Convert CFOverlay to a functional typescript component
  • [DMAS-78032] - Make FormFieldService available anonymously
  • [DMAS-78218] - Drop JDK options from Integration Testing build scripts
  • [DMAS-78259] - Refactor Cast Selection Poppup out of CFOverlay
  • [DMAS-78288] - Display read-only metadata when selecting a taxonomy or taxon
  • [DMAS-78291] - Display a form with taxons' default attributes
  • [DMAS-78293] - Delete a taxon or taxonomy when clicking Delete Taxonomy or Delete Taxon
  • [DMAS-78294] - Add a taxonomy when clicking Add User Defined Taxonomy
  • [DMAS-78296] - Add a taxon when clicking Add Taxon
  • [DMAS-78321] - Autosave changes to default attributes
  • [DMAS-78325] - Make a servlet for the synchronizer management UI
  • [DMAS-78326] - Make a React page for synchronizer management
  • [DMAS-78372] - Create new prefixed synchronizer tables
  • [DMAS-78373] - Update hibernate mapping files to use prefixed synchronizer tables
  • [DMAS-78374] - Remove unprefixed synchronizer database tables
  • [DMAS-78436] - Make a base web service supporting multi-verb REST services
  • [DMAS-78448] - Add modifydate and modifyby columns in phase, phasephasetask, phasetype, process, processgroup, processphase and processtype tables
  • [DMAS-78449] - creat trx for phase, phasephasetask, phasetask, phasetype, process, processgroup, processphase and processtype database tables
  • [DMAS-78466] - Drop ErddapDatasetAttribute table
  • [DMAS-78495] - Add a lock button to the playlist details header bar on the playback page
  • [DMAS-78496] - Add columns "locked" and "lockreason" to playlist_hdr
  • [DMAS-78497] - Add persistence and web service code for "locked" and "lockreason"
  • [DMAS-78498] - Lock a playlist when a user confirms their click on the lock button
  • [DMAS-78499] - When a playlist is locked, display an unlock button in the playlist details header instead of a lock button
  • [DMAS-78500] - If a playlist is locked, display it as read-only on playlist discovery
  • [DMAS-78501] - If a playlist is locked, display it as read-only on playlist playback
  • [DMAS-78502] - If a playlist is locked, reject edits to it in web services
  • [DMAS-78545] - Drop support for deploying Oceans Next to Gemini
  • [DMAS-78547] - Update Modified Date/Modified By field names for React pages created by other groups
  • [DMAS-78566] - Add UI indicator and controls for automatic batch task execution
  • [DMAS-78568] - Implement batch task auto-queueing
  • [DMAS-78583] - Disable locked playlists in selection dropdowns for adding clips in Oceans Next
  • [DMAS-78598] - Update dataproduct discovery service to show default values, request service to use default values, and open api page to display defaults in description text
  • [DMAS-78626] - Add a reference URL to custom taxons (backend)
  • [DMAS-78664] - Add a method to PlaylistService to update a group name
  • [DMAS-78665] - Create a new Expedition Admin - ONC group
  • [DMAS-78671] - Update ExpeditionOrganization.java to use the new group
  • [DMAS-78674] - Update SeaTube.jsx to use the new group
  • [DMAS-78675] - Create a Dialog for creating a playlist group
  • [DMAS-78676] - Create a dialog for editing a playlist group name
  • [DMAS-78678] - Create a dialog for deleting a playlist group
  • [DMAS-78679] - Disable the add group button if there aren't any ungrouped playlists
  • [DMAS-78713] - Add translations with a button base component
  • [DMAS-78716] - Enable authentication when running UI tests in QA2
  • [DMAS-78722] - Implement date chunking when searching for days to create NetCDF files in ErddapNetCdfPostProcessor
  • [DMAS-78723] - When generating NetCDF for Erddap always produce a NetCDF file even when sourceFile does not have sufficient data
  • [DMAS-78724] - Implement filtering options for ErddapNetCDFPostProcessor
  • [DMAS-78774] - update column names to Modified Date and Modified By on Network Console page
  • [DMAS-78793] - Refactor Create/Update Playlist buttons in SeaTube Search to be disabled/have loading indicators
  • [DMAS-78806] - Hide locked playlists in selection dropdowns for adding clips in SeaTube Pro
  • [DMAS-78811] - Extract StudyArea persistence code to OSGi bundles
  • [DMAS-78812] - Extract data acquisition metrics to OSGi bundles
  • [DMAS-78818] - Check if a taxon's originTaxonomy is editable in the default attributes form
  • [DMAS-78820] - Add mapId to the context so it isn't passed around everywhere
  • [DMAS-78823] - Update Modified Date/Modified By field names for Device Details, Site Device and Dive page
  • [DMAS-78825] - Add a Properties table for imported taxonomies and their taxons
  • [DMAS-78828] - Replace Jetty with Tomcat in dev
  • [DMAS-78829] - Run dev on the root context path
  • [DMAS-78830] - Remove the distinction between dev and prod bndrun files
  • [DMAS-78833] - Update VideoSnapshotService to use the appropriate quality source for snapshots
  • [DMAS-78834] - Set the video quality to use for playlist thumbnails
  • [DMAS-78841] - Remove several unused dependencies
  • [DMAS-78847] - Derive the location of Oceans Next automatically
  • [DMAS-78849] - Only allow open tasks to swap sequence numbers
  • [DMAS-78851] - have the running status chip on task management be green
  • [DMAS-78852] - Change "Group" to "Collection" for current playlist group components
  • [DMAS-78856] - Set the video quality to use for dive log snapshots
  • [DMAS-78864] - Extract labels from Buttons.jsx and organize them into translations.json (en)
  • [DMAS-78871] - Default the locking service code to use the previous lock values if none are passed
  • [DMAS-78875] - Implement basic task pipelines
  • [DMAS-78889] - Remove unnecessary notes about .ssh/known_hosts in Oceans Next deployment Jenkinsfile
  • [DMAS-78892] - Add projectid column to organizationagreement table
  • [DMAS-78893] - Create dal layer for organization agreement local context project id column
  • [DMAS-78896] - Increase mod count
  • [DMAS-78907] - Refactor TaxonForm.tsx into different components for editing and adding
  • [DMAS-78911] - Update global.baseurl in dev
  • [DMAS-78915] - Update Modified Date/Modified By field names for Expedition Maintenance, Sensor Maintenance - Additional Attributes Tab, SeaScript Editor
  • [DMAS-78924] - Deprecate the old Button.jsx file and add a warning comment to the top of Buttons.jsx
  • [DMAS-78935] - Refactor GenericSystemCommandActivator as an OSGi whiteboard
  • [DMAS-78944] - Convert High and MediumEmphasisSubmitButton to use new format
  • [DMAS-78945] - Convert DeleteButtonRed to new format
  • [DMAS-78954] - Convert ImageUploadButton, ChooseFileButton, MediumEmphasisChooseFileButton to new format
  • [DMAS-78965] - Convert Generic*, FloatRight* Buttons to use new format
  • [DMAS-78973] - add default values for modifyby and modifydate in device workflow related tables
  • [DMAS-78976] - General cleanup of unused features of NeptuneVelocityServlet
  • [DMAS-78984] - Make use of taskOutput in ErddapNetCdfPostProcessor
  • [DMAS-78993] - Compare creation date of NetCDF file to source file during job run
  • [DMAS-79009] - Create batchable task that deletes files from Erddap NetCdf file store - SQL
  • [DMAS-79010] - Create batchable task that deletes files from Erddap NetCdf file store - Java
  • [DMAS-79016] - Refactor the ToolbarButtons used in Buttons.jsx
  • [DMAS-79018] - Update public api citation response
  • [DMAS-79019] - Improve batch task pagination
  • [DMAS-79020] - Handle source archivefiles that span multiple days
  • [DMAS-79037] - remove sequencenumber from ONC DAO objects
  • [DMAS-79039] - Create RDI ADCP Cassandra to NetCdf changeover job - Java
  • [DMAS-79040] - Create RDI ADCP Cassandra to NetCdf changeover job - SQL
  • [DMAS-79046] - Add DeviceTypeAttribute to track android SDK version for devicetype 267
  • [DMAS-79050] - Implement API location tree filters
  • [DMAS-79051] - Add column to tasktype
  • [DMAS-79055] - Add ADCP Wave device type to ERDDAP RDI ADCP NetCDF Generation Job
  • [DMAS-79061] - add Modified Date and Modified By to Process Group
  • [DMAS-79068] - Batch Task pagination service changes
  • [DMAS-79069] - Use new /netcdf_data volume to store NetCdf files for use with Erddap
  • [DMAS-79077] - Use a timeout when generating NetCdf files for Erddap
  • [DMAS-79080] - Allow multiple blacklist/whitelist dateranges to be specified for one device
  • [DMAS-79199] - Sometimes NetCdf files can be generated each time the job runs when they should not be

Test

  • [DMAS-76365] - Update the synchronizing test plan to properly document where messages should be sent
  • [DMAS-78918] - Need test group-user synchronization for the new group in QA

Bug (ST)

  • [DMAS-78622] - Deleting a taxon doesn't work if it has been imported
  • [DMAS-78870] - Add padding that Button.jsx adds to reduce visual changes when refactoring
  • [DMAS-78966] - Support an argument on the --jdk option for Oceans 3 deployments
  • [DMAS-78992] - Error colored buttons don't style correctly when disabled
  • [DMAS-79012] - Fix Batch Task Pagination ONC
  • [DMAS-79013] - Fix Batch Task Pagination Oceans next
  • [DMAS-79076] - Investigate NetCdf generation getting stuck/slow in Matlab
  • [DMAS-79195] - phasetask_trx table phasetaskreferences nullable

Investigation

  • [DMAS-38792] - Investigate why SensorReadingCache entries expire after 60s

Documentation

  • [DMAS-78525] - Update external wiki documentation with new scalar data service parameter

Requirement

  • [DMAS-78801] - Create requirements for Local Context-Data Agreement association

Design

  • [DMAS-78936] - Document the design for the stages leading to being able to use generic command messages on the system console

January 16, 2024

Minor release to fix bugs in SubC camera control and scalarData service, plus update connection pool limits.

Tickets Released: Oceans 3.0: 23.11.003 (accessible to internal users only). Total: 3.

January 10, 2024

Minor release to update acoustic scintillation driver (no downtime)

Tickets Released: Oceans 3.0: 23.11.002 (accessible to internal users only). Total: 1.