Metacatui Versions Save

MetacatUI: A client-side web interface for DataONE data repositories

2.29.0

1 week ago

This is a small release that mainly entails improvements to the Cesium map view.

New Features πŸŽ‰

New Cesium map features 🌍

Highlight regions of interest

The new "viewfinder" feature enables highlighting specific regions of interest in Cesium maps. With this feature, areas can be predefined in the map configuration, along with the layers that should be visible when the user navigates to that area. This creates a list of "views" that users can zoom to with a single click! See #2281 for more details.

Adjust imagery saturation

A new configuration option has been added to imagery assets in Cesium maps that enables adjusting the imagery's saturation, either making it more or less vibrant. This feature is especially useful when the imagery is overly bright or saturated, making it difficult to see vector data on top of it. See #2379 for more details.

Before & After:

image ➑ image

Set the base color of the globe

A new feature has been introduced that allows users to change the base color of the globe in the Cesium map. When all layers are hidden, the default bright blue color can now be customized. The color can be set in the map configuration using the globeBaseColor parameter, which accepts hex codes or CSS colors. For more details, see #1904.

Cesium map & portal style updates 🎨

This release introduces several improvements to map and navigation styles. The layer list panel in Cesium maps has been widened to improve the visibility of long layer names, while the styling of the Feature Info panel has been enhanced with a wider modal, adjusted layout, spacing, and new animation when opened. The portal navigation bar styles have also been improved for both light and dark themes, resulting in a cleaner and more intuitive navigation experience. Additionally, various other styling improvements have been made to map components, including tweaks to vector pins, toolbar links, and other elements.

For more background on these changes, see #2342, #2344, #2346, #2358 & #2361.

Before & After:

pdg-portal-before ➑ pdg-portal-after

Misc Improvements

  • The default settings for the Metadata Assessment Suite have been updated. The FAIR suite version has been changed from "0.3.1" to "0.4.0" for the following parameters: mdqSuiteIds, mdqSuiteLabels, mdqAggregatedSuiteIds, mdqAggregatedSuiteLabels
  • Fixed up some existing JSdocs #2366
  • Issued new DOI for MetacatUI 2.29.0 #2367

Bug Fixes πŸ”¨πŸ”§

  • Fixed missing ADC logo from portals #2364

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.28.0...2.29.0

2.28.0

1 month ago

New features :tada:

File hierarchy view πŸ—„οΈ

Some data packages make use of a file system structure to organize and present data files. Until now, MetacatUI was limited to displaying files in a flat structure. With this release, we introduce a new file hierarchy view that allows users to navigate through the organized file system of a data package! This long awaited feature is a step toward providing more comprehensive support for large and complex data packages, and will be especially useful for researchers who have organized their data in a hierarchical manner.

File hierarchy view - shows a data package with multiple nested files under directories

The new file hierarchy view is now visible on data packages that have already made use of the atLocation attribute in their data packages, through tools like our R or Python APIs. Future releases will include the ability to view, create, and edit file hierarchies directly through the online editor!

Cesium Map Enhancements 🌍

This release introduces several enhancements to the Cesium map interface, including a new location search feature and improved data layer search and categorization. These updates are designed to streamline user access to specific geographical areas and improve the overall user experience when working with and exploring the Cesium map.

Maps now include a "viewfinder" feature that allows searching for and navigating to locations using latitude and longitude coordinates, a place name, an address, or a specific area of interest. This new feature makes it easier for users to quickly zoom to specific study areas, communities, or landmarks, and is especially beneficial for researchers who need to quickly view geographical data points in the map.

An example of a search for the location Haliburton, Ontario

To enable this feature on your MetacatUI repository, make sure your have a a valid Google Maps API key configured in your app config that includes access to the Geocoding API and Places API. The feature can be enabled for a given map by setting the showViewfinder option to true in the map configuration. For more information about using the Cesium map, see the Cesium map and Cesium map for portals guides.

Layer search & categorization

Layers in Cesium maps are now more searchable and organized! Users can now search for specific data layers within the Cesium map interface, making it easier to find and access the data they need. In addition, layers can now be grouped into thematic categories, providing users with a more organized and intuitive way to navigate through the available data layers in a Cesium map. These enhancements are designed to improve the overall user experience when exploring maps with many data layers.

A view of a list of map layers categorizes thematically, with the people theme expanded

New map styling

A fresh 'light' theme is now available for portals, which currently apply updated styles to the Cesium map interface. Specifically, the light theme incorporates a new font and color scheme that enhances the visual appeal and readability. Other stylistic changes include refined visuals in the viewfinder and navigation help panels, along with updated styles within the details panel to ensure a consistent and intuitive user experience. A scroll bar has now been added to the Cesium layer list, essential for maps with extensive layers that exceed the window height.

Screenshot 2024-04-15 at 7 00 12β€―PM

Misc improvements

  • Updated PR Guidelines: the CONTRIBUTING document now includes PR code review guidelines #2285
  • Bump express from 4.18.1 to 4.19.2 #2332
  • Bump nokogiri from 1.15.4 to 1.16.2 in /docs #2260

Bug fixes :hammer_and_wrench:

  • Fix the URL method in new data catalog pager #2327
  • Directly navigating to page does not work on the new catalog search #2328
  • Extra objects added to URL pattern when navigating search pages #2325
  • Fix GCMD keyword link in submission form #2284
  • Cesium scale bar covers logged-in profile nav dropdown #2261
  • Fix the NSF award API endpoint #2233
  • Allow entry of -90 & 90 degrees latitude #2227
  • Issue with Coordinate Input Regex Validation in EML Editor #2226
  • Toolbar menu blocks clicking on Cesium Map #2207
  • User menu cut off #1978

Developer notes

  • The testing suite has been upgraded with new packages and tools. Developers are advised to run npm install in the root of the MetacatUI project to update local environments accordingly. Furthermore, a new pre-merge GitHub script has been introduced, which automatically runs tests and checks for JSDoc errors upon PR creation. Developers should address any errors flagged by this script prior to merging.
  • The documentation site now requires Ruby version 3.1 or higher. If running the docs site locally, developers should update their local Ruby installations to ensure compatibility #2306
  • As detailed in the features section, enabling location search in Cesium maps requires a valid Google maps key. Developers should ensure that this key is obtained and configured properly to provide full functionality to users.

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.27.1...2.28.0

2.27.1

4 months ago

Critical patch for compatibility with latest Chrome browser πŸ› οΈ

This patch addresses a critical issue affecting those using the latest version of the Chrome browser (Version 120.0.6099.71). This issue prevented the successful submission of datasets, resulting in error messages and partial dataset submissions.

The error was traced back to a parsing issue with system metadata (sysmeta) XML in the latest Chrome version, and impacts both the current as well as past versions of MetacatUI. The fix involved refactoring the accessRule.serialize() and accessPolicy.serialize() methods, resolving parsing issues with jQuery's replaceWith method.

Thank you to our community members for promptly reporting this issue. Special thanks to dev team member @rushirajnenuji for his quick work in identifying and resolving the issue!

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.27.0...2.27.1.

2.27.0

6 months ago

New Features :tada:

New Cesium Map Tools πŸ—ΊοΈ

Polygon Drawing Tool: This release introduces a tool for drawing arbitrary polygons on the Earth's surface within any Cesium map. Although not yet active, this feature paves the way for more advanced geospatial functionalities: future tools will enable plotting and downloading data subsets based on user-specified regions. For further details, see issue #2180.

Screenshot of a mapping application interface showing a drawn polygon over a geographic area with bodies of water named Merchant Lake and Happy Isle Lake. The polygon has marked vertices with red circles and is superimposed over a satellite-style map. On the top right, there is a latitude and longitude reading (Lat 45.72173 Lon -78.50086) and a scale indicating 500 meters. On the left, a vertical toolbar includes buttons for 'Draw Polygon,' 'Clear Polygon,' and 'Save,' with icons for home, a pencil, and a question mark for additional options or help.

Navigation Help: The Cesium map now includes navigation instructions for new users. Accessible through a question mark icon, the new help panel offers guidance on map movements such as panning, zooming, and rotating. The help panel can also be customized to display tailored help text, like specific feedback instructions for a particular map. Details in issue #2173.

Screenshot of a mapping application with navigation instructions on the left and a satellite image of a region on the right. The navigation panel is labeled 'NAVIGATION INSTRUCTIONS' and shows input methods: 'Mouse' and 'Touch.' Below, instructions are provided for 'Pan view' with left click and drag, 'Zoom view' with right click and drag or mouse wheel scroll, and 'Rotate view' with middle click and drag, or CTRL plus left/right click and drag. On the right side, a vertical toolbar shows icons for navigation, drawing, help, and a highlighted 'HELP' button.

Geographic Coordinate Validation in the Editor ✍️

The EML editor now more thoroughly prevents the entry of invalid geographic coordinates. This means no more bounding boxes with inverted latitude and longitude values or those that erroneously span the international dateline or include the poles. It's a safeguard against common errors that can lead to issues in data interpretation and use. For more information, see issue #2159.

Screenshot of a user interface displaying errors for geographic coordinate inputs. The first error states 'Bounding box crosses the anti-meridian. Please use multiple boxes that meet at the anti-meridian instead.' with northwest coordinates of 0 and 20 and southeast coordinates of 0 and 10 highlighted in red. The second error says 'Coordinates include a pole. Latitudes should be >90 and <90.' with both northwest and southeast coordinates showing 90 and 0 highlighted in red. The third error reads 'North latitude should be greater than South. Please swap the values.' with northwest coordinates of 50 and 0 and southeast coordinates of 60 and 0 highlighted in red.

Misc Improvements

  • Made Cesium Map models, views, & collections more modular (See #2189).
  • Updated gems used to build the documentation website:
    • Nokogiri: 1.13.9 β†’ 1.15.4
    • Github-pages: 214 β†’ 228
    • Minima (theme): 2.0 β†’ 2.5
    • Jekyll-feed (Atom feed generator): 0.6 β†’ 0.15
    • Tzinfo (time zone library): 1.2 β†’ 2.0
    • Activesupport: 6.0.6.1 β†’ 7.1.1
    • Additional dependencies: to their latest compatible versions

Bug Fixes :hammer_and_wrench:

  • Addressed display issues with small bounding boxes on the Google maps on dataset landing pages (See #2198).
  • Fixed a bug where the table-of-contents in portals was misplaced when the section content was short (See #2195).
  • Resolved a display issue with the feature detail panel size in the Cesium map (See #2192).
  • Corrected a bug that prevented an error message from being shown if the server returned an unexpected result on dataset landing pages (See #2144).
  • Fixed a bug where new metadata records were sometimes being automatically populated with taxa information from previous records (relevant to repositories using the Quick Add taxa feature) (See #2196).
  • Enabled KNB users to set their own datasets to private (See #2215).

Developer Notes :wrench:

  • The gem updates for the documentation site may require developers to re-run the bundle install command before building the documentation site with bundle exec jekyll serve.

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.26.0...2.27.0.

2.26.0

9 months ago

New features :tada:

Missing value codes in the attribute editor ✍🏻

Identifying missing values in data is essential for data interpretation reuse. The Ecological Metadata Language (EML) standard provides a way to identify missing values for each attribute in a data file. With this release, MetacatUI's attribute editor enables adding and editing missing value codes and their explanations.

Missing value codes interface

This new interface appears in the modal window when a user clicks on the "Describe" button next to each data file in the data package editor. Recognizing that data can have multiple missing value indicators, the interface allows users to add multiple missing value codes and explanations for each attribute.

For more details, see #612.

Misc. Improvements

  • Show all authors in citation #2152
  • Add "information icon" to "Alternate Identifier" field #2103
  • Link to ERP Page from web editor #2052
  • Make the EML system attribute configurable in app model #441

Bug fixes :hammer_and_wrench:

  • Portal search dropdown filters not working as expected when semantic annotations is one of the query fields #2174
  • Map imagery disappears when navigating back to search page #2172
  • No space between link elements when map layer moreInfoLink and downloadLink are both populated #2170
  • In the catalog search, only limit search results to map area once user has interacted with map #2160
  • Mailing list input field shows placeholder text when not active (DataONE theme) #2157
  • Pagination near footer is not clickable (DataONE theme) #2156
  • Do not capitalize identifier on dataset landing page #2154

Developer notes

New configuration options

  • emlSystem - The text to use for the eml system attribute. The system attribute indicates the data management system within which an identifier is in scope and therefore unique. In previous versions of MetacatUI this was hardcoded to "knb" - this remains remain the default value.

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.25.0...2.26.0

2.25.0

10 months ago

New features :tada:

New Catalog Search View with Cesium 3D Maps :earth_americas:

A re-designed catalog search view with Cesium 3D maps is now available in MetacatUI 2.25.0, enhancing the earlier version that was released as beta in MetacatUI 2.22.0. This new, flexible view replaces the previous Data Catalog View which relied on Google Maps, and makes it easier for repositories to customize their catalog search filters, select map layers, and adjust map display settings.

Screen shot of the new catalog search view with Cesium map

Cesium, being a 3D globe, is capable of accurately representing research data at the poles. The new view also expands the choice of map layers, allowing selections from ESRI, Bing, OpenStreetMap, or any tile server supporting WMS or WMTS.

The same map view shown with three different layers

Using the new Catalog, repositories can now customize the search filters on the left side of the view. Any fields available in the Solr index can be used to create a dropdown, text input, number slider, checkbox, or toggle filter that best suits the data in the repository.

Screenshot of search filters

To allow time for repositories to transition, the previous Data Catalog View with Google Maps will remain as the default view for now. However, the new catalog will be released immediately on the Arctic Data Center.

For more details, see #1520 and #1720.

Google Analytics 4 :bar_chart:

With this update, MetacatUI now supports Google Analytics 4 (#1709) and has replaced the analytics.js library with the gtag.js library. GA4 facilitates the collection of more diverse types of data and offers more sophisticated analysis tools for your data repositories. This transition is required since Google will stop supporting old universal analytics on July 1st. To continue collecting data from Google Analytics after this date, repositories will need to upgrade to this release (2.25.0) and set the googleAnalyticsKey configuration option to a GA4 property.

Changes to how MetacatUI handles analytics also serves as groundwork for eventually supporting other analytics tools in the future, see #2149.

Misc improvements

  • Add metatags to portals for better SEO #2150

Features added to Cesium during the development of the new Catalog Search View include:

  • Support Open Street Map layer in Cesium #2146
  • Allow dynamic color palettes for cesium layers #2125
  • Allow using RGBA values in the Cesium Color Palette #2124
  • Allow configuring outlines in vector data sources in Cesium #2123
  • Optimize GeoHash rendering #2119

Bug fixes :hammer_and_wrench:

  • PubDate search filter not working in old catalog view #2151

Bugs in the beta version of the new Catalog Search View, fixed in this release, include:

  • Handle page and query url consistently in CatalogSearchView #2113
  • CatalogSearchView should navigate back to first page in new search #2112
  • Fix CatalogSearchView display when there are no results #2111
  • Limit drawing GeoHashes to the view extent in the Cesium map #2076
  • Can't scroll to see all the filter options when they spill beyond the height of the window in the new CatalogSearchView #2071
  • Geohash boxes float above the earth's surface in Cesium #2070
  • Fix sizing of Geohash labels in the Cesium map #2066
  • Geohashes in the Cesium map are added on zoom but not removed #2063

Developer notes

Configuring the New Catalog Search View & Cesium

To activate the new Catalog Search View, set the useDeprecatedDataCatalogView configuration option to false in the app model, and set enableCesium to true. For more detailed guidance on configuring the new view, please refer to our guide: https://nceas.github.io/metacatui/guides/catalog-view-config.html.

Configuring Google Analytics 4

On the MetacatUI side, all you need to do to make use of GA4 is to update your repository to this release (2.25.0) and set the googleAnalyticsKey configuration option to a GA4 property. You can create and configure a new property in the Google Analytics platform console. Google will migrate most of your existing settings to the new property for you, and provides a setup assistant to help with the rest. For more information on how to set up a GA4 property, see [UA→GA4] Migration guide for beginners and Add a Google Analytics 4 property (to a site that already has Analytics).

New configuration options

  • description - Use this property to provide a general description of the repository. This description will be used as the default description for the repository's metatags.
  • googleAnalyticsKey - This property should now be set to a GA4 property ID, rather than a universal analytics property ID.

See the Complete Changelog: https://github.com/NCEAS/metacatui/compare/2.24.0...2.25.0

2.24.0

1 year ago

This minor release introduces a new feature for the EML Editor and adds a dedicated license file.

New feature :tada:

"Quick Add" Interface for Taxonomic Coverage :microscope:

Populating the taxonomic classifications fields in the EML Editor is now easier. Repositories can configure a list of commonly used taxa relevant to their domain using the quickAddTaxa property in the AppModel. This list will be used to create one or more dropdowns in the Editor, allowing users to add these taxa to their metadata quickly. (See #2086).

tax-cov

This interface provides the option of adding multiple taxa simultaneously, and lets users manually type in a taxon value when it is not included in the list. The content of the dropdowns can be configured in the quickAddTaxa property in two ways: as a pre-defined list or as a seriesID linked to a JSON file stored within the repository. If a taxonId is included in the config, this will be serialized into the EML.

License File :page_facing_up:

In accordance with standard practice, we've added a standalone license file. While the license was previously indicated in the README, it is now available in a separate, dedicated file. (See #2118).

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.23.0...2.24.0

2.23.0

1 year ago

New features :tada:

MetacatUI has a DOI πŸ“–

MetacatUI's new DOI is doi:10.18739/A25M6282K. The software can be cited as:

Matthew B. Jones, Chris Jones, Lauren Walker, Robyn Thiessen-Bock, Ben Leinfelder, Peter Slaughter, Bryce Mecum, Rushiraj Nenuji, Hesham Elbashandy, Val Hendrix. 2022. MetacatUI: A client-side web interface for DataONE data repositories (version 2.23.0). Arctic Data Center. doi:10.18739/A25M6282K

Improved Citations Display :page_with_curl:

When displaying citations, MetacatUI now uses a standard format that more closely aligns with APA 7 style formatting. The new citation formatting is used throughout MetacatUI, including on dataset landing pages, search result lists, portals, and other areas. (See #777 and #2106).

Screen Shot 2023-03-14 at 17 26 04

On dataset landing pages, the citation in the header has been replaced with a header-style view that is more in line with other online science publications. Previously, only up to five authors were listed in the header. The new view shows at least 20 authors by default, with the option to expand the list to show all authors. The "Copy citation" button has been replaced with a "Cite this dataset" button, which opens a popup with the full citation and includes the same "copy citation" functionality as before. (See #264)

CitationHeaderView

Misc improvements

  • Show the mini-legend in the layer details panel in Cesium #2091
  • Add project search filter option #2044
  • Include a default imagery layer for Cesium #1938
  • Bump activesupport from 6.0.3.6 to 6.0.6.1 in /docs #2087
  • Bump nokogiri from 1.13.6 to 1.13.9 in /docs #2072
  • Bump @actions/core from 1.8.2 to 1.9.1 #2047
  • Update JSDocs to 4.0.0 #2089

Bug fixes :hammer_and_wrench:

  • Metrics displayed in the modal should be in the same order as the the metrics buttons in the dataset landing page #2100
  • Resolves issues with infinite spinners for portal metrics #2088
  • Remove references to the deprecated dataCatalogMap app config option #2075
  • Update theme routers to conditionally use the Cesium map instead of Google map on the data page #2064
  • UserGroupView missing alertTemplate #2062
  • Fix issues with the display of the continuous/gradient legend in the Cesium map #2049
  • Typo in Ethical Research Practices help text #2048
  • portal list fails with 500 service failure #2042
  • Multiple portal metric bugs are persisting #2041
  • Can't set a data object private by the share button #2009

Developer notes

The CitationView and CitationModel have been changed extensively in order to improve the citations display and to eventually support displaying citations in multiple styles. This may cause conflicts for repositories that have customized or extended this view or model. A guide to customizing the CitationView is included with the docs.

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.22.0...2.23.0

2.22.0

1 year ago

New features :tada:

Beta: Google Map search now replaced with Cesium 3D maps

The main data search for years has used Google Maps for visualizing and filtering dataset search results. This has now been replaced with Cesium, a more powerful 3D map visualization.

Note: This feature is in Beta, which means it isn't quite ready for production yet. We suggest you keep using Google Maps for now but look forward to supporting Cesium in the coming months.

By default, Cesium in the data search is disabled until this feature is out of Beta. Use the app configuration useDeprecatedDataCatalogView to enable it.

Screen Shot 2022-07-22 at 3 24 48 PM

Basic support for your custom projects API

If you have a database of research projects that is accessible via a REST API, you can now use the new Project model and ProjectsView to fetch those projects and display them in the UI. This is a skeleton implementation that is meant for MetacatUI owners to extend. Further support for Projects may be added in future versions.

See #1945, Project, ProjectsView

Bug fixes :hammer_and_wrench:

  • Repositories using custom object identifiers were producing invalid EML if there was an annotation in it #2038

Developer notes

New UserGroupView

Managing user groups in the Settings tab of the user profile was previously part of the UserView. This made the view huge and convoluted so it has been refactored out to it's own view, UserGroupView. Group management can now be inserted easily into other views.

Default bagit format is now set to application/bagit-1.0.

If you are using an older version of Metacat you may need to change this to a bagit format that your Metacat version supports.

New configuration options

  • useDeprecatedDataCatalogView - As of 2.22.0, the DataCatalogView is being soft-deprecated and replaced with the new CatalogSearchView. To give MetacatUI operators time to transition to the new CatalogSearchView, this configuration option can be enabled (by setting to true) and will tell MetacatUI to use the legacy link DataCatalogView. It is highly suggested that MetacatUI operators switch to supporting the new CatalogSearchView as soon as possible as the legacy link DataCatalogView will be fully deprecated and removed in the future.
  • defaultSearchFields - The document fields to return when conducting a search. This is the list of fields returned by the main catalog search view.

See the complete changelog: https://github.com/NCEAS/metacatui/compare/2.21.0...2.22.0

2.21.0

1 year ago

New features

Semantic annotation filters in the portal collection builder

semantic annotation filter

Filter datasets in a portal collection by semantic annotation. This new filter type allows researches to use indexed annotations like Measurement Type annotations in their collection query via an easy-to-use ontology tree interface (the same ontology tree interface used in the main search view).

EML Party types and EML Party attributes can now be required in the editor

Specific EML Party types (e.g. PIs, Co-PIs, etc.) can now be required. In addition, specific EML Party fields for each type can be required, such as requiring all Creators and Contacts to provide a full name, email, and ORCID.

This configuration is stored in emlEditorRequiredFields and emlEditorRequiredFields_EMLParty.

Misc improvements

  • Unit and integration tests can now be run and the results parsed server-side. CI tools can now fail builds because of failed Mocha tests. (#1966)
  • Set id, system, and scope attributes on EMLProjects (#2000)
  • Support defining a view rectangle for imagery layers in Cesium (#2021)

Bug fixes

  • Sometimes the abstract was duplicated (#1047, #782)
  • Fix EML validation error: At least one method step is required (#2017)
  • User dropdown menus were cut off (#2010)
  • Cross-origin MetacatUI setups were not displaying image previews (#1982 )