-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Muon "RF": Copy Components from one instrument to another - Design #7389
Comments
Agreed to be useful across the whole facility |
Impeded awaiting meeting with a couple or three developers to agree plan Cases to discuss in the meeting:
|
i suggest we leave them as-is, as they may include things like the accelerator info or other things that are shared between instruments ie the position of muonfe motors. we should add this to the list of things to check on the user-friendly reminder to check com ports, IPs etc. |
Meeting happening 5-Dec |
Cases discussed in the meeting( with DK, JH, TW and LJ ):
We should treat these relatively and prepend the instrument-to-be-copied to's prefix.
As the "local" box is ticked by default, it's unlikely that an instrument will have changed this by mistake to include their own prefix, so we should keep them non-local rather than use some witchcraft to try and change them. We should warn the user to double-check their non-local blocks (see later q.) as they may have a full instrument prefix in by mistake.
Note: A pv set/pv value is an automatic way of setting a PV's value on config change.
we should do the last option, but we need to make a ticket to make this work first and create an upgrade step to add this sort of thing - this also means there might be incompatibility issues if one or both instruments are not on the version. perhaps we should default to just seeing if there is a pv prefix in the PV set address when copying and then work out whether local or not.
we could use git to avoid this, but this is very untidy the complexity of this case means we should just enforce that the server is up on both sides instead. note: make this obvious to the user ie grey out an inst in the list
yes, we do care we should enforce that if you want to copy someone's config they have to be on the same server version as you. because we deploy to groups it should be OK if we use these properly hotfixes may be edge cases ie one instrument has 30 danfysik IOCs and the other doesn;t - we should be more careful about hotfixing rather than addressing this edge case. we should put in a check that all of the IOCs exist locally before copying a config then warn if not.
we could mark the IOCs that aren't copy-safe. this list would have to stay up to date. alternatively we warn the user saying settings in autosave will not be copied. use soft black list - put it in a warning dialog saying they are potentially problematic. only disadvantage of this is its more work to keep update. you could load in a db via the standard isis db load but this is tricky to do.
same as the settings area - tell people to look in globals from copying-from instrument and see whats in there. we should add a way of editing globals (manager mode) in the GUI really globals shouldnt be used and we should prefer people to use base components instead.
in the same way that we warn them about other things. a dialog will do? with an unsure looking goat on it?
if you preserve the protected-ness of the protected components, you end up in a catch 22 we should preserve the managermodeness we should ban people from copying components marked dynamic. it's not nice.
we can stick IOCs marked as remote in the warning dialog saying you may need to do extra setup. Any other edge cases/details: |
Putting into rework, second acceptance criteria not undertaken, and #7515 needs more detail for how this should be done, although the meeting has certainly addressed the cases Tom listed, I'm not sure how I go from this to making changes in our code base. Do I need a new server? Do I need to things to the blockserver? What does my UI look like? I think I'd expect at least a ticket for the PV sets change, the changes for the remote component get in the UI and a simple save, the blockserver checks when saving locally would be an additional ticket, extra UIs for changing that which needs to be changed (don't just tell them to go change the IOC setup, prompt them with it before leaving the workflow, otherwise they might be trying to use COM ports that are assigned to something else for example). |
Issue should hopefully now be more descriptive and have linked 7515 from 7370 |
Thank you Jack, that is great. |
As someone using the same device/set of blocks in IBEX on multiple instruments, I want to be able to easily copy that component from one instrument to another.
Acceptance Criteria
User Workflow
import component from another instrument
Notes
The text was updated successfully, but these errors were encountered: