Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The way tiled handles access controls is by tagging data sets in metadata, then comparing those tags to tags and their associated users. That lists of tags is compiled into a sqlite database, which tiled reads at runtime. The theory is that the sqlite is a cache that can be created occasionally (nightly?) from the facilities proposal system.
So, we need to query the user office 4D database to get lists of esafs by beamline, beamline staff by beamline, then compile them using the tiled code.
We do this in three steps:
AccessTagsCompilerto create the runtime compiled tags sqlite.FWIW, currently, it only takes about 80 seconds to get all of the esafs from the 4D database.
This PR does:
AccessTagsCompilerreads to compile its tagsCurrently, for each esaf, a tag and a group are created. The tag is given access to both the esaf group (which contains users) and the appropriate beamline staff group.
Waiting for information from the user office about a possible API to get all beamline staff per beamline, which I will add to the beamline staff groups.