MetacatUI: A client-side web interface for DataONE data repositories
This is a small release that mainly entails improvements to the Cesium map view.
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.
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:
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.
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:
mdqSuiteIds
, mdqSuiteLabels
, mdqAggregatedSuiteIds
, mdqAggregatedSuiteLabels
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.
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!
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.
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.
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 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.
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.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!
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.
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.
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.
bundle install
command before building the documentation site with bundle exec jekyll serve
.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.
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.
moreInfoLink
and downloadLink
are both populated #2170
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.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.
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.
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.
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.
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.
Features added to Cesium during the development of the new Catalog Search View include:
Bugs in the beta version of the new Catalog Search View, fixed in this release, include:
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.
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).
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.This minor release introduces a new feature for the EML Editor and adds a dedicated license file.
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).
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.
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).
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
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).
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)
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.
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.
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
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.
If you are using an older version of Metacat you may need to change this to a bagit format that your Metacat version supports.
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.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).
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.