Ticket #8125 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Platform independent paths for ISIS Reflectometry GUI

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Release 3.0
Component: Reflectometry Keywords:
Cc: Blocked By: #8124
Blocking: #8134 Tester: Gesner Passos

Description (last modified by Owen Arnold) (diff)

Rob Dalgleish has pointed out that Max's gui uses hard-coded windows style paths. Rob wants a configuration option to be able to specify a mount etc, and have it portable across platforms.

The config.xml file should be optional in presence, since it will not be shipped with Mantid, because we don't want it to be overwritten automatically on each fresh install. There are other ways around this, but we don't consider it worth over-engineering it at this point.

Attachments

iterdata.zip (219.0 KB) - added by Owen Arnold 7 years ago.

Change History

comment:1 Changed 7 years ago by Owen Arnold

  • Blocking 8134 added

comment:2 Changed 7 years ago by Owen Arnold

  • Description modified (diff)

comment:3 Changed 7 years ago by Owen Arnold

  • Status changed from new to inprogress

refs #8125. class for getting the latest runs.

Max's original gui has windows, hard-coded and commented out code to do this. I've redone this in a separate class, as we may end up replacing it in the future anyway with ICAT.

Changeset: 6a98d532bae87c5c8b93a96099267162a0a2411d

comment:4 Changed 7 years ago by Owen Arnold

refs #8125. Renamed to settings.xml

Changeset: 497880b72bcf0b18b25a29a61aeb805bb5b49b80

comment:5 Changed 7 years ago by Owen Arnold

refs #8125. Hook-up the LatestISISRuns utility.

Have a fall-back in case a settings file is not present, or cannot be read. In these cases we do not want to crash-out.

Changeset: 21c54481159d916aeb625835fb2d1de7fcb961aa

comment:6 Changed 7 years ago by Owen Arnold

refs #8125. Make robust against white space.

I've just tested this out on both Windows7 and OSX and the feature works wit the DataMountPoint. Will still need to log an error if for some reason the settings cannot be imported. Will also need further manual testing.

Changeset: b0fc3c66f09e7b1a5d26001ecadea3cc9b438daa

comment:7 Changed 7 years ago by Owen Arnold

refs #8125. Better error reporting.

Exceptions relating to settings and archive directories are logged. Execution is allowed to continue normally. Better error reporting messages have been provided.

Changeset: 1c470200b749ddbcc6b0f993292a427199270c5e

comment:8 Changed 7 years ago by Owen Arnold

refs #8125. More flexibility for LatestISISRuns.

LatestISISRuns can fetch run information for an instrument across many cycles (disabled by default). It also has a new method to quickly calculate what cycles are available to select runs from. This method will be used as a way of providing more advanced inputs.

Made it possible to use the GUI without mantid plot by disabling the plotting aspects if mantid plot cannot be imported.

Changeset: a00d6c447b37e5fc7a42b3bfe035c4daf0ad40a6

comment:9 Changed 7 years ago by Owen Arnold

refs #8125. Handle cycles for each instrument.

Allow switching between cycles for a single instrument. Display cycles to choose from. Update cycles when instrument is changed. Default to latest cycle and load run names.

Also set it up so that it extracts the run number from the workspaces as part of the transfer process so that only run number rather than workspace names appear in the table.

Changeset: 0fb64938684088332ced5cc75ba7d80eb0f98632

comment:10 Changed 7 years ago by Owen Arnold

refs #8125. Hide and show the cycles widget as appropriate.

Changeset: da71a4be13a040d7cf50055e5ba28c834d455ec4

comment:11 Changed 7 years ago by Owen Arnold

refs #8125. Fix failing test.

Statement moved outside of try-except block

Changeset: 9730b5ea8b63dabcaa9f95fec4e2d967ebbd7b41

comment:12 Changed 7 years ago by Owen Arnold

refs #8125. Fix merge conflicts.

Changeset: 356a191d3ecff84def8172bdeb8be6c962c25468

comment:13 Changed 7 years ago by Owen Arnold

... It should just be necessary to update the wiki page to document these changes. http://www.mantidproject.org/ISIS_Reflectometry_GUI

comment:14 Changed 7 years ago by Owen Arnold

Wiki documentation has been updated.

Changed 7 years ago by Owen Arnold

comment:15 Changed 7 years ago by Owen Arnold

Tester:

You should repeat the tests below both in Linux and on Windows. You must be at ISIS to do this:

1) Follow the tests in ticket #7372. Everything should still work. I've reattached the data for this testing.

  • You should get a log notice in MantidPlot explaining saying "Could not list archive runs", and a further one explaining why. the first time you start up the reflectometry GUI.

2) Set up a settings.xml file according to the instructions here. http://www.mantidproject.org/ISIS_Reflectometry_GUI.

  • Reload the gui. You should get no error notifications above.
  • GUI loading should take slightly longer and the cycles dropdown should become visible. It should set itself to the latest cycle for inter. Inter should be the default intstrument, and the runs for the entire cycle of inter should be listed on the list on the LHS of the GUI.
  • Change the instrument selected and it will list the runs for the cycle of the new instrument.
  • Change the cycle (this will take a few seconds, but should be acceptable as this is a rarely run operation). The runs should be recalculated.
  • Change the cycle again (on the same instrument), this time, it should rapidly repopulate iteself, as it's cached search results for that instrument across all cycles.
  • From the cycle you have just changed to, pick a run number. In MantidPlot, use Load, and pass this runnumber as the Filename. MantidPlot should be able to load this file. Look at the workspace history for the loaded file and you should see that it originated from the DataMountDirectory that you specified in your settings.xml.
  • Go back to the GUI and highlight a filename on the LHS. Hit the => button and it should populate the table run number with the run number corresponding to this workspace.

Note to tester. This GUI is user generated. This GUI still contains a lot of bugs, but I am gradually in the process of ironing them out.

comment:16 Changed 7 years ago by Owen Arnold

  • Status changed from inprogress to verify
  • Resolution set to fixed

comment:17 Changed 7 years ago by Owen Arnold

  • Milestone changed from Backlog to Release 3.0

comment:18 Changed 7 years ago by Nick Draper

  • Component changed from Framework to Reflectometry

comment:19 Changed 7 years ago by Gesner Passos

  • Status changed from verify to verifying
  • Tester set to Gesner Passos

comment:20 Changed 7 years ago by Gesner Passos

I tested in Ubuntu and it works fine. But, I will not be able to wait for it to be built on Windows. I left it building, and If no one takes over of it, I will finish testing on Monday.

comment:21 Changed 7 years ago by Gesner Passos

  • Status changed from verifying to verify
  • Tester Gesner Passos deleted

comment:22 Changed 7 years ago by Gesner Passos

  • Status changed from verify to verifying
  • Tester set to Gesner Passos

comment:23 Changed 7 years ago by Gesner Passos

It works in Windows too.

comment:24 Changed 7 years ago by Gesner Passos

Merge remote-tracking branch 'origin/feature/8125_utilise_config'

Conflicts:

Code/Mantid/scripts/test/SettingsTest.py

re #8125

Changeset: 8b8ae725c05de8952bebbbe3d17d9666e6180550

comment:25 Changed 7 years ago by Gesner Passos

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/8125_utilise_config'

Conflicts:

Code/Mantid/scripts/test/SettingsTest.py

re #8125

Full changeset: 8b8ae725c05de8952bebbbe3d17d9666e6180550

comment:26 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 8970

Note: See TracTickets for help on using tickets.