ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

Dataweb: Generate IBEX pages #1382

Closed KathrynBaker closed 8 years ago

KathrynBaker commented 8 years ago

A web service needs to pull in the various pages of blocks and run information from the instrument, as well as the config details, and build an appropriate page showing the current values

This should be possible in any language available, but given the use of JSON and XML, and that the majority of the work is string manipulation, this would be best developed as server side javascript.

The page:

The URL for the current config will be the one created in #1380 The name host has been used in the references below, this will work with localhost on a local machine, but it will need to specify an IBEX instrument name in the final service. To reset the archive engine for the blocks: http://host:4813/reset To reset the archive engine for the run infomration: http://host:4812/reset The INST page is: http://host:4812/group?name=INST The BLOCKS page is: http://host:4813/group?name=BLOCKS The DATAWEB page is: http://host:4813/group?name=DATAWEB The details for the hidden PV should be available from #1373

The run information is as follows:

Field Source Record Name/PV Display as
RUNSTATE $(P)DAE:RUNSTATE_STR Run Status
RUNNUMBER $(P)DAE:RUNNUMBER Run Number
RBNUMBER $(P)DAE:_RBNUMBER RB Number
SURNAME $(P)DAE:_USERNAME User(s)
TITLE $(P)DAE:TITLE Title
HIDE_TITLE ????
STARTTIME $(P)DAE:STARTTIME Start Time
RUNDURATION $(P)DAE:RUNDURATION Total Run Time
RUNDURATION_PD $(P)DAE:RUNDURATION_PD Period Run Time
GOODFRAMES $(P)DAE:GOODFRAMES Good Frames (Total)
GOODFRAMES_PD $(P)DAE:GOODFRAMES_PD Good Frames (Period)
RAWFRAMES $(P)DAE:RAWFRAMES Raw Frames (Total)
RAWFRAMES_PD $(P)DAE:RAWFRAMES_PD Raw Frames (Period)
PERIOD $(P)DAE:PERIOD Current Period
NUMPERIODS $(P)DAE:NUMPERIODS Number Of Periods
PERIODSEQ $(P)DAE:PERIODSEQ Period Sequence
BEAMCURRENT $(P)DAE:BEAMCURRENT Beam Current
TOTALUAMPS $(P)DAE:TOTALUAMPS Total Uamps
COUNTRATE $(P)DAE:COUNTRATE Count-Rate
DAEMEMORYUSED $(P)DAE:DAEMEMORYUSED DAE Memory Used
TOTALCOUNTS $(P)DAE:TOTALCOUNTS Total DAE Counts
DAETIMINGSOURCE $(P)DAE:DAETIMINGSOURCE DAE Timing Source
MONITORCOUNTS $(P)DAE:MONITORCOUNTS Monitor Counts
MONITORSPECTRUM $(P)DAE:MONITORSPECTRUM Monitor Spectrum
MONITORFROM $(P)DAE:MONITORFROM Monitor From
MONITORTO $(P)DAE:MONITORTO Monitor To
NUMTIMECHANNELS $(P)DAE:NUMTIMECHANNELS Number Of Time Channels
NUMSPECTRA $(P)DAE:NUMSPECTRA Number Of Spectra

An example page with a hidden title and only showing visible blocks is: image

With hidden blocks visible: http://dataweb.isis.rl.ac.uk/SeciWeb/Advanced.aspx?Instrument=nimrod

Notes: The configuration name will need to come from the current configuration The shutter status is not currently available to the dataweb The run information could be treated as a specific group, and displayed in one column on the left hand of the page, the blocks title could be treated as an empty group and displayed at the top of the right column, to be followed by the groups and their associated blocks

OliviaBourne commented 8 years ago

Hidden blocks will be put into a separate ticket.

AdrianPotter commented 8 years ago

I'll include the ticket #1511 PR for genie_python in this Ticket as it's needed to launch the web server:

https://github.com/ISISComputingGroup/genie_python/pull/45

AdrianPotter commented 8 years ago

I've done a preliminary review, but the code threw an exception on the first GET request to the web server. I'd like to see that fixed please before getting further into the review.

AdrianPotter commented 8 years ago

PR link for ease in Waffle:

https://github.com/ISISComputingGroup/EPICS-inst_servers/pull/68