Bug #5800
closedSearch support should degrade gracefully when MN.query is not supported
0%
Description
Morpho currently relies on the new-ish and optional MN.query() method and only understands the "pathquery" engine. Depending on the type (Metacat vs. GMN) and version (pre- vs. post- Metacat 2.0.5) this feature may not be available and the Morpho interface should gracefully indicate that.
Using the listQueryEngines() method, we can determine in a single call if "pathquery" queries are supported (http://mule1.dataone.org/ArchitectureDocs-current/apis/MN_APIs.html#MNQuery.listQueryEngines). I would recommend only using this method rather than trying to use the CN.listNodes() method because there is nothing forcing a MN to update their node capabilities on the CN when they add features to their MN deployment. (In fact, I believe Metacat neglected to advertise the additional MNQuery support now included in v2.0.5 -- I'll enter a bug for that).
When MN.query(pathquery) is not available, the "search network" checkbox should be disabled. This check should be performed whenever the selected MN is changed in the Morpho preferences.
We will continue to support "Open by Id" because that does not rely on the MNQuery interface.
This should be tested against:
-older Metacat (v2.0.3)
-GMN
Related issues