Limit user permissions to assigned collections


I'd really like a way to limit user permissions (whether they're administrator, contributor or researcher) to specified collections.

The collections in my Omeka installation are linked to research groups / projects. I'd like to appoint an administrator to be in charge of one specific collection, but not all the other collections as well. Also, it'd be nice if contributors could be allowed to contribute to the collection of their own research project, but not to others. It's not that I don't trust them not to interfere with other people's work, but anything that helps avoid mistakes is welcome.

We don't use the researcher role, but I can imagine that in some cases it's desirable to give people read access to specific collections only.

Is there any way to achieve this currently? And if not, is it something you would consider implementing in future versions?


A plugin could do something to set up those kinds of permissions, but it's not something that's in Omeka core.

Different kinds of user permissions comes up a lot, so hopefully another Omeka user has built a plugin that might at least come close to these specific requirements.

Because permissions tend to have many variations for each site, it's not something we're likely to build in -- trying to cover all the requirements we've heard would just be far too complicated. It's better done as bespoke plugins.

Thanks a lot for your reply, patrickmj!

I think this would make a very useful plugin for a lot of people. If another Omeka user has already built something like it, I hope they'll share it with the rest of us. And if I ever get around to building something, I'll be sure to share it too.

Meanwhile I also noticed that Omeka S boasts "the ability to administer many sites from a single installation" which I imagine to be something like Wordpress' multisite capability? Probably overkill for my purposes, but that'd certainly keep different projects separated.

Yes, there's a lot of Omeka code work that we're trying to make more findable.

You are exactly right that Omeka S is similar to Wordpress' multisite capability, but we take a somewhat different approach, one that emphasizes sharing content much more than WP does. Imagine the current ExhibitBuilder, but expanded so each exhibit is its own site.

I am also interested in such functionality but I could not figure out from where to start. I guess that studying for instance the mechanism which enable connected users to see items that are not public could be a good start, but which function in which file controls this ?

It's a big more complicated than one function or file. It comes from the ACL system from the Zend Framework that Omeka is built on. Plugins can modify the default ACL to add permissions and make different kinds of checks on it. You might look at the Guest User plugin for a quick example of how a plugin can do that, though this case would lead into much more complicated checks.