-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use metadata field on data point as partitioning key for download #848
Comments
I guess that the project structure solves issue, right?. Each region could be a folder and you grant access to a district. |
Just doing some brainstorming... Another possible approach would be to sync datapoints on demand. That is, you need to provide a datapoint ID in order to sync it (admins can just read it from the dashboard). Once a datapoint is downloaded, it will be updated in each sync cycle, until it gets unlinked. This will give field managers much tighter control over synced data. |
The project structure won't solve it, as the region has only a single project with a single form. Doing this on a district level would mean you need to copy the survey 120 times. doing it on datapoint id is too fine grained: a typical district here will have some 500 data points. |
Alternative idea: Display the whole list of available datapoints, and manually select which ones you want to download. This is the same behavior Dropbox and Google Drive have on a mobile app. |
@ichinaski this does not make sense to me. First of all, the idea is to restrict access - not allowing enumerators to download certain data points, based on some rule. Second, the numbers are too large: a district has 500 data points, out of 3000 in a region. |
This is an access control issue but on the device level if I understand correctly. Depending on when we want such a functionality available I see two options:
|
In my previous comments I was assuming a field manager was in charge of data sync. |
@ichinaski Good point. Probably, we need real users on the devices, so we can assign subsets of the data to users. |
Agreed. If we are not losing anything major by waiting a little it makes sense to wait for device users. |
My concern on the meta data approach is that is ad-hoc. Right now we have flags at |
Another option could be to use the cascading questions - to use a level of such a question to define subsets of the data. But that would be done more or less in the same way as above. Any other options? |
So the question we are trying to ask is: can we restrict access to a subset of data points of a single project, based on some property. I would think that property needs to come from the answers of the form, right? |
More specifically the answers of the Registration form |
Getting back to the project structure + user roles and permissions.... We have designed the security around roles/permissions + projects. So a project is atomic, either you have access to it or you don't. If you have access to a project and you have access to the We're making a workaround because we don't need to make X copies of a form (where X is the numer of districts). This is due to the fact, that a Form belongs to one project. What if a form can be inherited, that is, is visible to all child projects? We can define the form at root level, and still follow the project+roles/permissions pattern for data access management. (<- just a brain dump) |
@iperdomo take the case of Ghana: 10 regions, 120 districts. The ideal case would be single survey for the whole country, because now it is already very inconvenient to change anything in all the survey copies of the regions. The reason it was done per region is to limit risks + to make it possible to use dependency-based cascading questions. Having to make 120 copies of a project to achieve the same result would seem a bit much. |
The idea is to not make a copy. But define the Form at root level and this definition can be inherited with some configuration. |
But then you still would need to create 120 items of something, right? |
Yeap, your district hierarchy definition. |
What if we use assignments based on data point display name.
|
duplicate of #2796 |
At the moment, when an enumerator downloads data, he/she downloads all the data on the project. However, in many cases, project managers prefer to give enumerators access only to a subset of the data.
As an example, consider the case of Ghana. Surveys are defined per region. But the monitoring will be done on district level, so the project manager prefers to give access to change data only on the district level. But at the moment only the data for the whole region can be downloaded.
One way to solve this would be to put an addition piece of meta-data on the datapoint, just like the displayName that we have now. This meta data could be filled by a question in the survey, for example 'district'. Then access to the data could be partitioned based on this meta-data field.
The text was updated successfully, but these errors were encountered: