Apologies if this has been asked before on the forum, I couldn't find anything through the search.
If we add items, is there any easy way to allow the contributors to check over the public output of the content without actually making it public so that that anyone could see it.
We only want the contributor to be able to view the items to proof them and come back to us with any amendments before making the items available to the public in general.
We don't want to give the contributors any access to the back end so I have a feeling this may not be able to be done, but any advice would be appreciated.
Yeah, the desire to not give contributors access to the back end is the tricky part.
Usually, the thing to do would be to create users with the 'researcher' role. That's the lowest level of permissions, and would let them see the non-public items. It would give access to the back end, but they wouldn't really be able to do anything other than look at things. That would be the simplest thing, and seems like it wouldn't risk exposing data that shouldn't be exposed.
If you really need to prevent any access to the back end, you could also do this with a modification to the Guest User plugin. It creates a role called 'guest' that cannot access the back end at all, but has a real account. It's generally used by other plugins, like Commenting, that might want to have a real user logged in.
For this situation, you could modify the plugin by adding the following to the
hookDefineAcl method in GuestUserPlugin.php to allow guest users to view non-public items:
$acl->addRole(new Zend_Acl_Role('guest'), null);
$acl->allow('guest', array('Items', 'Collections', 'Search'), 'showNotPublic');
That would do the trick, but would also open up the site for others (including spambots) to try to create an account. You can require admin approval for new accounts, but that would be a layer of management overhead for you.
Thanks Patrick I'll give it a go to see if it does the trick.