View Pages in Sitemap by Single User and hide the pages they don't have access to

Permalink
Not sure if anyone has discovered a better way to approach this but typically we try to use group based permissions for assigning page access but every so often a single user needs access to just one page that lives somewhere in the site tree. The challenge here is I would like to try to avoid them to have to sift through pages that they don't have access to, and only display the pages they do have access to edit or create sub-pages beneath. We tend to hide features using Advanced permissions to only display what you need based on the level of user, and it would be great if I could figure out how to get the Sitemap to work this way. Usually these single user pages live in the second or third level which requires you to have to view the home and parent pages in effort for the user to see their page several layers in. The User's Pages Addon herehttp://bit.ly/1MNTyb9 handles this perfectly however it would be better if the Sitemap worked in this fashion. Maybe I'm missing something but there has to be a way to organize the Sitemap to only show the pages you have access to. Any advice would be appreciated, we've created some work arounds that bypass the Sitemap but that takes away from one of the core features of C5.

wildapple
 
andrew replied on at Permalink Reply
andrew
Sorry for the late reply – but have you explored the "View Page in Sitemap" advanced permission? This is a page permission. You can give people access to this permission and then they'll be able to see this page in the sitemap. If they don't have it, they won't be able to view it.

Yes, you will have to give people access to view all the containing pages as well as the relevant pages you want them to see – but that's because of the sitemap's hierarchical nature. If you don't give them any other permissions on these container pages, they won't be able to do anything to them.
wildapple replied on at Permalink Reply
wildapple
Thanks Andrew, we do use advanced permissions but it's just too many clicks to teach a client how to administer with sites that have lots of users and hundreds of pages. We did do a work around where you can view pages you have access to from the My Account/ My Pages area which works nicely because it doesn't reveal all the parent pages that they don't have access to, but it lacks the functionality that the Sitemap offers of course.

For example if the page lives under about/departments/english our solution doesn't show the about page, or department, only the english page. I can't seem to pull that off in the Sitemap since you need to be able to view the parent pages which gets crazy, these are large sites with lots of users which means you end up hiding more pages than you're granting access to, and if one admin makes a mistake it's inherited.

All of a sudden we find ourselves in an entirely new niche market and our focus has shifted on how to make it easier for site Editors to be able to access pages they have ownership of without having to view pages they don't, since they can't edit them anyway. Plus we need to roll this out in a way so it's not too difficult for site Admins to manage the setup of single page owners as well. At a glance who has access to what is not easy to identify from the Sitemap when you have 30+ users all with unique permissions some based on groups and single user pages. I feel like permissions for this type of setup needs to live in it's own space where you select a user/group and grant pages or something like that. Then under My Account/My Pages (that's what we call it) you can see the pages you have access to, maybe that could be an instance of the Sitemap, or perhaps considering moving the Sitemap under My Account/My Pages/Sitemap or My Account/Site Map. It's a different way of thinking about it, but really we never build single user websites anymore, and that's a credit to your awesome software, once people see it, they think ya I can do that, and they want access.

I'm not sure what would be the best way to share notes to see how your team would perhaps approach this, but I think we can provide some good intel. Currently most of our sites are in 5.6 but our plan is to jump into 5.8 this summer, we're just trying to better understand what items we may need to develop, we install about 20 custom packages per site in addition to our permission work flow challenges here.
andrew replied on at Permalink Reply
andrew
That all makes sense. When you say "Have access to" do you mean access to edit, or simply to view? If you're not using advanced permissions, how are you granting individual users access to view certain pages?

That said, I do believe that this is probably most simply addressed with an add-on. I would think there'd be one that could

a. Add a custom single page beneath Sitemap in the Dashboard, which lets you filter by pages that a user can see. This actually might be better served as a core add-on to the Page Search functionality already in the Dashboard. We already have the ability to filter by pages "owned" by a particular user (e.g. the user created them) but it might be handy to be able to do a similar search for all pages a user has a certain permission against (e.g. Show me all pages Andrew can "Edit page contents" on.)

b. Add a custom single page or block to the My Account area. In version 8 we have this new concept of "Desktop" which is the post-login destination for every user. If you're a Dashboard user you get a fancy Dashboard skinned desktop. But even regular users get a desktop that's either in the site theme or in the standard concrete5 My Account theme. Here you can actually place blocks. So I'm thinking a "Users Pages" block that could be placed on the desktop and show a logged in user these pages. That sounds pretty compelling to me.
wildapple replied on at Permalink Reply
wildapple
I was trying not compose a short novel here but this is another real time scenario that we run into that may help shed some light....

User Sally has single access to 15 pages within a website that's several hundred pages deep. Her boss John who is an admin setup all the permissions when the site was first deployed. John and Sally decide to quit and join the Peace Corps. Two weeks later Frank is hired to replace John, and is tasked to grant employee Sarah access to the same pages that Sally used to manage.

In our setup Frank can simply login as Sally to view the My Account/My Pages area which reveals the pages he needs to update the permissions for, no digging required. Otherwise Frank would have to sift through the Sitemap to eventually identity Sally's pages which could be easy or tedious assuming user admin John neatly maintained the permissions..., you see where I'm going with this.

Whether it's a filter pages by user in the Sitemap, or navigating to the My Account/My Pages area, or one feeds into the other makes sense....

We also envisioned an area where a site Admin could use a page picker to choose a page or groups of pages and associate them with a user. Maybe the pages are also revealed in the User Manager under each respective user account for centralized management for Admins. Similar to how we manage custom user attributes, it could be a new My Pages Tab. Then pages could also feed into My Account/My Pages for the site Editors.