Bliss procedures
In order to formalize re-usable procedures
in Bliss (corresponding e.g. to certain experimental techniques or alignment routines) there is the idea to have a special place for that in the bliss.git. I think the need has been mentioned by @meyer before and there are some ideas of what should be done (@claustre and @papillon). With @matias.guijarro we concluded that these procedures
can also be very helpful when it comes to systematic meta-data collection for ICAT.
As a first step in this direction we could implement a class BaseProcedure
to set a frame. This issue is about the definition of what a procedure should be in Bliss.
First question: Are we all talking about the same thing?
I have something like this in mind, but maybe you were thinking about something else...
graph LR;
A[Beamline independent<br/>procedure defintion] --> B[customization of<br/>which hardware should<br/>be used in config or during setup];
B --> C[Object exported to the<br/>Bliss shell that runs the<br/>procedure when called];
Other questions:
- Where should the adaption to the beamline happen?
- in config ?
- in a setup script ?
- both should be possible ?
- How should the mapping to beamline hardware look like?
- Do we need to foresee some configurability by the user that goes beyond the parameters in signature of the call?
- What other aspects do you judge as important ?