Bringing this up.
I've got idea for this topic...
How about to implement this levels of access to projects:
* public (read-only)
* private (read-only for invitee)
* restricted (read-only for invitee, read/write for invitee with password)
* private only (just project owner can access it, and it is default setting)
I guess it can be done fast, but as I don't know complexity of Cayenne source, I can't claim that.
IMHO, this could satisfy most users, except most advanced ones who need/want more leveled access rights...
EDIT: one more thing: public access could also "strip" all buttons, just to show data, not allowing switching... Just an idea...