ChannelFinder / pvinfo

Web interface to channel finder with integrations to other HLC apps
MIT License
10 stars 3 forks source link

Alternative plugin for archiver? #89

Open eddybl opened 4 months ago

eddybl commented 4 months ago

I am very interested in deploying pvinfo for our accelerator. While we are currently setting up our Phoebus based environment including ChannelFinder, we are using a different archiver interface ( https://oss.aquenos.com/cassandra-pv-archiver/docs/3.2.6/manual/html/apbs03.html )

Support for our archiver interface has been already merged in the Phoebus client ( https://github.com/ControlSystemStudio/phoebus/pull/2961 ).

Can you roughly outline where we would need to adjust/extend the code to allow for a different archiver interface?

And similar question would also be to use a different logbook system, but this is currently only in evaluation ( https://github.com/wanglin86769/clog2 )

tynanford commented 4 months ago

That's great to hear, happy to try to update pvinfo to integrate with your archiver and Clog.

Does the Cassandra archiver have a web interface that shows plots? The archiver appliance comes with it's own web viewer (https://github.com/archiver-appliance/svg_viewer) and pvinfo just contains links to that service.

https://github.com/ChannelFinder/pvinfo/blob/master/src/components/pv/PV.jsx#L27 https://github.com/ChannelFinder/pvinfo/blob/master/src/components/pv/PV.jsx#L27

So if you have a web viewer and can share the URL schema it expects, we can add an option to use the cassandra archiver and just add an if statement in the code based on the preference setting.

If you don't have a web plotting interface for Cassandra archiver then in the meantime you could update the REACT_APP_AA_URL env variable and a line in the code to at least show the JSON blob in a browser tab and see how PVInfo works

REACT_APP_AA_URL=http://domainname/archive-access/api/1.0/archive/1/samples

And then edit line 27 in PV.jsx to something like this:

const pvHTMLString = encodeURI(`${api.AA_VIEWER}/${id}?start=0&end=1500000000000000000&prettyPrint`);