As you already know, Coda still doesn’t have granular permissions. So what’s the better option than to take the matter into my own hands and create my own implementation of access control?
Presenting… ACCESS CONTROL DEMO v.0.1!
The idea is simple: crash the doc when a certain condition is not met
- If the user is not from the list of authorized users — checking for
User() != ...
- If document URL is not the one of the original document — checking for
- Adding checks on row-per-row basis with a formula that would crash on certain conditions, then filtering away those rows for users that should not see them.
Button(thisRow.[Noop button], "This shall crash the doc when you're in Play mode or can edit the doc", "Crash")
The doc won’t crash when launched in View only mode, but the users won’t be able to change anything about the doc (e.g. disable filters to see the data they shouldn’t see) anyways.
In this demo, I challenge you to find out who has a crush on whom
There is in fact a way to bypass the system. I wonder if you can figure it out.
(don’t use this in production please )