Where does "makePublic" permission come from?

I was searching source code, but couldn’t find any line setting which user role can make Items/Collections public. Can you help?
Thanks, Luk

I don’t think that that’s distinct from being able to edit the item/collection – if you can edit the metadata, you can make it public.

The basic permissions are defined in application/libraries/Omeka/Application/Resource/Acl.php.

Contributor users cannot make items public, but admins and super users can.

Ok, thank you.
When I debug this permission ($acl->isAllowed('some-role', 'Items', 'makePublic')) I get that only super + admin roles can make Items public, that’s why I’m confused. If the permission is not defined (at least I couldn’t find where), how can only admin and super have access to it?

I suspect that that’s a quirk on how Zend’s ACL system works. Super has no restrictions, so it might just be saying they have access no matter what you check for. Admin inherits from super, but then has some specific restrictions, so again it might just be defaulting to giving permission.

Patrick’s right: all permissions are granted to super, and admin inherits from super and has some permissions explicitly taken away. So, a permssion that’s checked against somewhere but isn’t granted to anybody is effectively granted to super and admin only. Quite a few permissions work this way.

Oh yes, that makes sense, thanks again! I missed that obvious detail that Acl is implemented in Zend, and didn’t dig there. Still, it’s a good feature if one knows that it works that way