Comments (2)
It would probably be OK to expose any/all of the other ProjectPreference fields to owner/collabs.
Is this the feature you'd like to see added? For a given project, instead of "owners/collabs can write project_preferences.settings only", the policy should be "owners/collabs can read and write project_preferences as though they were the user"? I don't see an issue with that, the only other contents are the ones you described above as well as some counts (activity_count, activity_count_by_workflow).
from panoptes.
Zach & Cliff had conversation on 2023-10-19:
- Simplest path forward: enable read permission on ProjectPreferences.settings only.
- One main reason for this: write permissions for project owner/collab are limited to ProjectPreferences.settings for write permissions, so keeping consistency for read actions probably makes sense.
- Cliff would be totally OK if Zach prefers either the "settings only" vs. "whole ProjectPreferences object" implementation for read permissions. Write permissions use a new, separate endpoint, so implementing the more restrictive scope might be more annoying / complex. While none of the other fields (e.g.,
email_communication
,preferences
) were meant to be seen by project owners, perhaps it isn't bad to show these (and at times, maybe there's an advantage; for example, access topreferences
would allow project teams to query whether a person has seen and/or completed the minicourse).
preferences - Zach will think about how much trouble it would be to strip out and only serialize desired fields from the
show
.
Stretch Goal: mirroring the function for writing to settings, the MVP version of this capability would require project teams to know the user ID and would require teams to loop through each user individually. A nice-to-have (but definitely NOT a MVP feature) would be the ability to query all user project preferences by project ID, returning info on those who have classified (email_communication is not null
).
from panoptes.
Related Issues (20)
- Rails 6 Task: Deprecation Warning: Initialization autoloaded constants
- Rails 6 Upgrade Task: DEPRECATION WARNING: Content-Type header without modification (json_api_render, api_response) HOT 3
- Rails 6 Upgrade Task: Deprecation Warning: Rails 6.1 will return Content-Type header without modification. (home_controller, workflows_dump_worker)
- Workflow get request returns unexpected workflow after unlinking subject set from workflow HOT 6
- Restrict SVG uploads HOT 2
- Issue with Pulling User Groups GET `/user_groups` endpoint HOT 2
- Allow admins to update user project preferences HOT 1
- Add avatar_src to the Panoptes JWT HOT 4
- Add "training" designation to workflows that should not keep projects active HOT 1
- API always startes at Page 1 when asking for subjects HOT 1
- Field guide's attached images not included in project copy HOT 1
- Deleting a subject set removes subjects that are still members of other sets HOT 5
- Talk Users are not created with project copy HOT 1
- Add favorite status to recents response
- Request user_groups not linked to individual users HOT 1
- rubygems-update requires ruby 3, breaking docker image creation
- subject_set_id filter doesn't retrieve all the subjects for a subject set HOT 7
- Reset email validity on change of email address HOT 1
- Able to add soft-deleted subjects to subject set HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from panoptes.