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
Updated by Jing Tao almost 12 years ago
The "Open" command is part of search in morpho. We should still support to "open" local data packages in the morpho if MN.query() method doesn't support the pathquery.
Updated by ben leinfelder almost 12 years ago
now disabling network search when the MN does not support our newer pathquery variant via the MNQuery interface. This also applies to the Open Dialog that issues a network query for docs you 'own' if you are logged in.