Closed mbjones closed 6 years ago
Original Redmine Comment Author Name: Jing Tao (Jing Tao) Original Date: 2013-01-31T23:29:15Z
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.
Original Redmine Comment Author Name: ben leinfelder (ben leinfelder) Original Date: 2013-02-01T23:39:43Z
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.
Original Redmine Comment Author Name: Redmine Admin (Redmine Admin) Original Date: 2013-03-27T21:31:42Z
Original Bugzilla ID was 5800
Author Name: ben leinfelder (ben leinfelder) Original Redmine Issue: 5800, https://projects.ecoinformatics.org/ecoinfo/issues/5800 Original Date: 2013-01-23 Original Assignee: ben leinfelder
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