I am looking into creating a custom app/tab in Umbraco, as an addition to the current ones (Content, Media etc..). The tab I am creating is called Articles and simply lists nodes of the article doctype (i will move onto filter this by logged in user).
I want to set it so that on logging in, a user will only see this tab for Articles, and not the others (content, media…).
I understand that I cannot simply un-check the Content tab in the users permissions as this would remove the users access to all the nodes and therefore they would not be able to browse any in this new tab.
What I’m wondering is, is there a way to simply hide this tab from the user?
For a bit of background..
Im trying to make a system whereby the content trees depend on the current user. So user 1 would only see their articles etc. Setting the start node in content is not enough as there are other nodes at different levels that the user should have access to. So I have decided to create a custom app/tab to grab all the nodes for the current user. In starting this I found that I cant simply remove the Content tab from their permissions, and that’s led me to here. Any help/pointers with this would be great!
I don’t know if you had luck in the umbraco forums, but maybe you could avoid doing a complete custom section, just by doing some filtering in the standard content tree?
This can be achieved by using the events exposed by the BaseContentTree class. The last code example on this page shows an example of how to only show some pages to admin users in the content tree: http://our.umbraco.org/wiki/reference/api-cheatsheet/using-applicationbase-to-register-events/event-examples
The advantage of filtering directly on this tree is, that the filtering will also take effect when using some of the content picker datatypes, that will let a user select other nodes form the content tree.