Ticket #9112 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Update catalog GUI to support multiple catalogs

Reported by: Jay Rainey Owned by: Jay Rainey
Priority: major Milestone: Release 3.2
Component: Framework Keywords: ICAT
Cc: Blocked By: #9084
Blocking: #7640 Tester: Nick Draper

Description

In order to support multiple catalogs I will need to update the CatalogSearch interface.

  1. Create a drop-down that holds information obtained from getActiveSessions from CatalogManager. (Ideally, show the end-point and catalog name on hover, with the facility in the drop-down. meta-data will need to be added to the data of each drop-down that contains the session).
  2. Update each method in CatalogHelper that will now take a session as a paramter. This allows the search or downloaddatafiles to be executed for a specific catalog (using the related session).
  3. Update the CatalogPublish dialog and algorithm to work with multiple catalogs.

Change History

comment:1 Changed 7 years ago by Jay Rainey

  • Blocked By 9084 added

comment:2 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

comment:3 Changed 7 years ago by Jay Rainey

  • Status changed from assigned to inprogress

Add facility to investigation table. Refs #9112.

Changeset: f11ba24604a81908bf1cf0c998de06df819ee60f

comment:4 Changed 7 years ago by Jay Rainey

Update myData query. Refs #9112.

  • I updated the query to use the verbose language rather than icat specific one.

Changeset: e84b03eee9c1f6d5ace254ea398fa4182f96808f

comment:5 Changed 7 years ago by Jay Rainey

Remove catalog limit. Refs #9112.

Changeset: 92a82c0e3cb07a934773660c2d900d20fb6836f8

comment:6 Changed 7 years ago by Jay Rainey

Convert getActiveSessions to a vector. Refs #9112.

Changeset: 8d564575b5614832c9f5d9fa437aae30377a0aa9

comment:7 Changed 7 years ago by Jay Rainey

Added facility button to search GUI. Refs #9112.

Changeset: a916098953d546be6a29b162068c51a7031af051

comment:8 Changed 7 years ago by Jay Rainey

Allow multi selection. Refs #9112.

Changeset: 5b8bf30deb97fe81319cfe49cc32787db1857f59

comment:9 Changed 7 years ago by Jay Rainey

Display the facility names of catalogs to search through. Refs #9112.

Changeset: fa50a4f499626b1f7d6eebf39f40f26950a4be9a

comment:10 Changed 7 years ago by Jay Rainey

Add method to get selected session from meta-data. Refs #9112.

Changeset: 9f7b2d3d9f098b1712641cfe261a3edacbdca22b

comment:11 Changed 7 years ago by Jay Rainey

Move update and cancel around on GUI. Refs #9112.

Changeset: a77c0bfb40f1a02c43871722feb728d32ea3b6b4

comment:12 Changed 7 years ago by Jay Rainey

Make population of list public. Refs #9112.

  • This allows it to be populated when the button is pressed, so if a user logs in while the search GUI is open then it will work as expected.

Changeset: ff9573024f54f7f743f682b6b89f5cbfed198da4

comment:13 Changed 7 years ago by Jay Rainey

Add openCatalogSelection slot to search GUI. Refs #9112.

Changeset: 760aee50dca0c2f6c19cf6eb1f72ad1abfb8e642

comment:14 Changed 7 years ago by Jay Rainey

Added checkbox connect. Refs #9112.

Changeset: aa51ead36543857deedb3eb506b8774e65b432fb

comment:15 Changed 7 years ago by Jay Rainey

Set facility list as focus. Refs #9112.

Changeset: 0ab262a0122ad5301cad9ce8388e449fc6301461

comment:16 Changed 7 years ago by Jay Rainey

Automatically select facility when logged into catalog. Refs #9112.

Changeset: 58e10f187d2b5033c84a5a7281953fa5a6e3a32c

comment:17 Changed 7 years ago by Jay Rainey

Updated CatalogListInstrument algor to take sessionID. Refs #9112.

Changeset: 4eee3a0251d2971bcba3adc3d27bcce364668a9b

comment:18 Changed 7 years ago by Jay Rainey

Updated search algorithm to take sessionID. Refs #9112.

Changeset: 45e045bad91dedcbbb14e2db6045f6fecce93b1f

comment:19 Changed 7 years ago by Jay Rainey

Simplified instrument algorithm use. Refs #9112.

Changeset: f991b6c4678e89e3d5af33a35b5da92c4b73b540

comment:20 Changed 7 years ago by Jay Rainey

Updated getInvestigationList for sessionIDs. Refs #9112.

Changeset: eddd19ed24dbe9eefde92946666d3a5522f03abb

comment:21 Changed 7 years ago by Jay Rainey

Updated method documentation. Refs #9112.

Changeset: 9c2b4976f0bff2a0b5c3c255df34cc50f32bf950

comment:22 Changed 7 years ago by Jay Rainey

Forgot to pass session to investigation algorithm. Refs #9112.

Changeset: e0635061034a0f53d2230f1f85325237e3e45223

comment:23 Changed 7 years ago by Jay Rainey

Fixed selection of selected catalogs. Refs #9112.

Changeset: 88c045f1e9c7a407d7e53bafdfd8ba92bd34aa1f

comment:24 Changed 7 years ago by Jay Rainey

Add sessionID to investigation table. Refs #9112.

Changeset: b7ee44109f0479f42dc44631a34f2e350fb2100b

comment:25 Changed 7 years ago by Jay Rainey

Use session ID from table in GUI to get datafiles. Refs #9112.

Changeset: dcd3a503a544fe2ea8f8e623def30fa52ca66fc3

comment:26 Changed 7 years ago by Jay Rainey

Forgot to hide sessionID on GUI. Refs #9112.

Changeset: 131b2adc28f808d7ee89c290433be33268f350fa

comment:27 Changed 7 years ago by Jay Rainey

Style update to catalogHelper. Refs #9112.

Changeset: 5450f013054fae40cb554883ac422f79096c3d61

comment:28 Changed 7 years ago by Jay Rainey

Use specific session for external downloading. Refs #9112.

Changeset: 88be4915f49271309fa28b7ce59b2d8f72da35e4

comment:29 Changed 7 years ago by Jay Rainey

Use sessionid of investigation when publishing. Refs #9112.

Changeset: 1de53d79b609d35ce6792e4294db542c02150768

comment:30 Changed 7 years ago by Jay Rainey

Merge remote-tracking branch 'origin/master' into feature/9112_multiple_catalog_support. Refs #9112.

Conflicts:

  • Code/Mantid/MantidQt/CustomDialogs/inc/MantidQtCustomDialogs/CatalogPublishDialog.h
  • Code/Mantid/MantidQt/CustomDialogs/src/CatalogPublishDialog.cpp

Changeset: 90895d647ff5ba6b91f12acc1e4ca34a1c6e657b

comment:31 Changed 7 years ago by Jay Rainey

Move method to match header order. Refs #9112.

Changeset: b9f775724a52a60a20c5aeb96c3cc9c441d851ed

comment:32 Changed 7 years ago by Jay Rainey

Remove temporary measure from publishing. Refs #9112.

Changeset: ebb1a8c874c7eb5add771e54a97006b9d5dcb242

comment:33 Changed 7 years ago by Jay Rainey

Default selection of first element. Refs #9112.

Changeset: ab96a74e9da33a3a1f33d5a20e480e0fc6c5a25b

comment:34 Changed 7 years ago by Jay Rainey

Search through all active catalogs by default. Refs #9112.

Changeset: f735adc9b8918fbacc2340f26b1f9215f1c145e7

comment:35 Changed 7 years ago by Jay Rainey

Add message to catalogSelector dialog. Refs #9112.

Changeset: 80df3e663468587cb85ebc88d197af45cb45d853

comment:36 Changed 7 years ago by Jay Rainey

Update columns in ICAT3. Refs #9112.

  • This allows ICAT3 & ICAT4 catalogs to work together

Changeset: ab6119e1d1dbb3cfc82bcc1038d925e39eae1b64

comment:37 Changed 7 years ago by Jay Rainey

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

To test

Disable archives access

This allows the external downloading functionality to work, and can be disabled by:

  sudo vim /etc/auto.master
  comment out line 24 - `/archive  /etc/auto.archive
  sudo service autofs restart

Verify against one catalog

You should verify that the core catalog algorithms work as expected on one catalog. This can be achieved by using the catalog interface:

  1. Log into a catalog and click Search from the catalog menu.
  2. Perform a search & double click an investigation that is returned.
  3. Select a datafile to download.

To verify the publishing functionality:

  1. Select Publish from the catalog menu. The publishing dialog will be displayed.
  2. Provide a name for the file to be saved as and copy the filename to your clipboard.
  3. Select a valid investigation to publish to (1193002 is valid on the test account) and click Run.

To verify the datafile was published to the archives you will need to find the specific investigation it was saved to. To do this:

  1. Open the search GUI and click Advanced search.
  2. Select LOQ as your instrument
  3. In the Datafile name: field enter the name of the file you copied to the clipboard.
  4. Click Search, and one investigation should be displayed. Click the investigation and the datafiles

Verify against multiple catalog

Once you have verified that the catalog functionality works for one catalog, you should log into the catalog again (using the same credentials). As two of the same catalogs exist you should see double for each result, e.g. when searching or in the instrument dropdown menu.

To verify that the download and publishing functionality works you need to see that each catalog provides and uses a different session id. To do this:

  1. Set DEBUG as the Log level in Mantid.
  2. Search for an investigation (e.g. Select MUSR as instrument and click Search).
  3. Notice that all the investigations are doubled. This is expected as you have logged into the same catalog twice.
  4. Double click an investigation to its datafiles.
  5. Select a datafile to download and click Load.
  6. Note that URL that output contains the session id.

You should then select the duplicate investigation (since you logged into two catalogs that are the same), and perform the same steps. The session id should be different.

Testing different catalogs together

Changes made in comment:35 allow ICat3 and ICat4 catalogs to work together. To test this you should add catalog information to SNS in Facilities.xml. E.g. replace their current catalog information with:

  <catalog name="ICat3Catalog">
    <soapendpoint url="https://facilities01.esc.rl.ac.uk:443/ICATService/ICAT"></soapendpoint>
    <externaldownload url="https://isisicatds.stfc.ac.uk/idsbeta/"></externaldownload>
    <filelocation>
      <prefix regex="\\\\isis\\inst\$\\Instruments\$"></prefix>
      <windows replacement=""></windows>
      <linux replacement="/archive"></linux>
      <mac replacement="/archive"></mac>
    </filelocation>
  </catalog>

This means that if you select Login from the catalog menu and choose SNS from the drop-down then this catalog information will be used. You can then log into ISIS (ICat4Catalog) as usual.

comment:38 Changed 7 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:39 Changed 7 years ago by Nick Draper

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/9112_multiple_catalog_support'

Full changeset: 36d78a7d2629d3662289fb480d9416d084c9364e

comment:40 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9955

Note: See TracTickets for help on using tickets.