akvo / akvo-product-design

Products Design Documents
GNU Affero General Public License v3.0
12 stars 9 forks source link

Change form permissions to survey level and remove 'Create' #215

Closed janagombitova closed 7 years ago

janagombitova commented 7 years ago

Current situation

Permission for forms but not for surveys

In Flow the item that users work with to collect data are surveys that contain forms. This means to the user, that when creating a new item to collect data, he adds his questions to the form, but needs and expects to have full permissions on the survey level.

Currently when a user has "Create forms" permission, he can only edit existing forms and should be able to create a new form (but not possible, see issue https://github.com/akvo/akvo-flow/issues/1822). He cannot create a new survey. So if he wants to create a new survey, he cannot with the 'create form' permission. Without creating a survey, he cannot create a form either. Secondly, he cannot edit the settings on an existing survey (from non-monitored to monitored), so he cannot create a new form for an existing survey either. All survey work is tied to 'folder' permissions. So to create a new survey you need to have "Create folders".

Extra unnecessary 'create' permission

Currently we have these permissions for folders and forms: create, edit, view, delete. When a user has the create permission without the edit permission, he can only create a new item, but not edit it.

Opportunity

In order to be able to create a new form, you must create a survey. You cannot have a form, without a survey. A survey without a form is also only an "empty wrapper" that you cannot do anything with as a user. We should tie all form permissions onto the survey level and thus have, for example, an "edit survey" permission instead that will allow the user to edit a survey with its forms and questions.

Secondly, it might be an idea to fully remove the 'create' permissions as they allow nothing more than creating new items. If I can create something, I want to be able to make further edits to that something as well. We could simplify Flow's permission set by removing 'create' permissions, and have: edit, view, delete (as with data as well)

janagombitova commented 7 years ago

The initial research and Discovery will first be held here: https://github.com/akvo/akvo-product-design/issues/172 All documentation, decisions as well as further steps will be shared in that issue.