OpenElectionData / election-transcriber

:pencil2: Election Transcription Interface built with @Datamade
MIT License
1 stars 0 forks source link

role creation #55

Closed philbrondyke closed 9 years ago

philbrondyke commented 9 years ago

Per the discussion last week, can we create a few different roles with varying permissions? This is a first stab at trying to break these down and is not an exhaustive list.

Here are a few suggestions for views.

philbrondyke commented 9 years ago

Also, would we be able to show the user's role subtly on the top ribbon?

philbrondyke commented 9 years ago

It's listed above, but would we be able to construct data clerk and manager dashboards, as they would be only looking at one task group?

(The user toggle with role and transcriptions is fantastic, BTW!)

cathydeng commented 9 years ago

hey Phil! I've got a few questions re: roles

so, having roles that are associated with certain task groups is considerably more difficult than having roles that are associated with permissions (e.g. being able to create tasks, edit tasks, etc) because the task groups are created dynamically.

for data manager roles, how will these be created? e.g. will each data manager be able to access only one task group, or will a given data manager be able to access multiple task groups? the latter would be a bit more complicated. does it matter if roles are assigned when creating users, or when creating tasks? right now we don't have a way to create new users in the interface yet, so this would be relevant in fleshing that out.

for assigning tasks to transcribers, I'm not sure baking assignments into user roles is the best approach. for the transcribers, can you explain the rationale between only having a single task visible to a particular transcriber? right now the transcriber only sees one task per task group, but can see multiple task groups. limiting transcribers to one task also seems to go against having an anonymous user being able to help out without logging in.

derekeder commented 9 years ago

@philbrondyke we have 2 kinds of roles right now

I think the best approach would be to keep things with this simple configuration, and revisit additional roles if/when the need comes up. Thoughts?

philbrondyke commented 9 years ago

That's fine for now, I think, but in the long run we would want someone who's sole job it would be to just manage data transcriptions without any permissions to modify tasks. It's less of an issue of trust and more an issue of limiting the number of people with the ability to screw up the flow of the project. It's something we try to mitigate in the election monitoring databases that we help observer groups use and the impetus for this intermediary role.

As for the visitor role, this would be a role that we'd want for an official observer, such as a journalist, State Department/government official and members of the international community in the countries in which these projects would be deployed. Essentially, it would be a way to make them feel as though they're 'seeing behind the curtain' with a login.

cathydeng commented 9 years ago

what do you mean by manage data transcriptions? do you mean prioritizing tasks & viewing transcriptions? if so, that'd be fairly straightforward to set up.

it'd be complicated to set up permissions that vary by task, e.g. user X only has access to task group Y. but it'd be straightforward to set up permissions like allowing user X to view all transcription tasks & preventing user X from editing any tasks.

philbrondyke commented 9 years ago

@msbrown and I discussed the roles and what you mentioned sounded good. We're envisioning data managers, as members of civil society organizations or general coordinators who have politicial and management skills but not advanced tech skills.

Ideally we'd want them to be able to:

cathydeng commented 9 years ago

cool, thanks for the clarification! the first three points make sense, & would definitely be do-able for a user type

re: the 4th point - there currently isn't any functionality for editing transcriptions, and it's probably best to keep it that way, so that we don't destroy data. reconciliation is happening automatically, when enough people submit the same transcription.

re: the bonus - that sounds more like a task configuration, e.g. whether a task is visible to an anonymous user as a task setting (similar to deadline & reviewer count). this would require changing code in a lot of places, so let's table it for now?