User rights on ODK Aggregate


I want a user-A on Aggregate to be able to view form-A submissions only. Similarly, user-B should only be able to view form-B submissions, and nothing else.

Is this possible so far in Aggregate?

Saad Omer

Hi Saad,

I don't think you can grant form specific privilege on ODK. If you grant someone, view form role, that means that person will be able to view all forms in that Aggregate server.


Hi Saad,

in fact Imran is right about the single instance of ODK aggregate

but if you want to do like what you want you can install ODK Aggregate again in your server so you will get 2 ODK aggregate instance A, B (when you install ODK aggregate there is a dialog in the installation called ODK Aggregate Instance Name)

you have to make it unique Like A,B
know you can specify your user A to ODK aggregate A, User B to ODK aggregate B

1 Like

You may be interested in the desired features described at Different users get access to different forms and Group-specific permissions in Aggregate. Consider voting for features that would be useful to you and adding details on your specific use in the comments.


Thanks, Hélène,

Voted for the 1 st one, form specific privilege. In fact, that will be a great addition to Aggregate.


1 Like

Dear Nader,

For the time being, this is a helpful solution. I will give a try.


Nader, thanks. If I have 2 aggregate front-ends but with common database, all forms would still be visible on both aggregates. How would I achieve form-level filtering on this?

For the other scenario, if I keep both aggregates separate (the DBs too), then this is effectively launching as many aggregate instances as many users I want. This is a workaround alright but too painful, because of launching so many aggregates (doesn't matter if all are on single server or multiple).

HI Saad,
Hi Imran,

am sorry i missed to tell you that,

when you install the Aggregate it will ask you for user name

and schema (database in installation dialog) which will contain your data in the database

it is "odk_prod" this is the default

you have to change it to be unique like

            user Name            schema

aggregate A >>>>>>>> UserA >>>>>>>>>> odk_A
aggregate B >>>>>>>> UserB >>>>>>>>>> odk_B

Best Regards

1 Like