Reorder subpages without using the sitemap?

Permalink
Hi, I'm building out a large site with many pages (>200) and many users (>50), all with permissions to specific sections. The order of pages within sections is a pretty big deal to these users since the autonav pulls this order in for a side nav on each section. I'm looking for a way for users to reorder subpages without using the sitemap.

My reasoning is that most of these users are older/non-techies, so I'd like to protect them from themselves. I easily imagine one of them just going to town and reorganizing the entire website as opposed to just their section of 10 or so pages. I've had no luck finding any such block. Any ideas?

warpol
 
12345j replied on at Permalink Reply
12345j
you mean like on the page? you can do that in edit mode, move/delete.
warpol replied on at Permalink Reply
warpol
Thanks for the reply. I'm actually referring to the cDisplayOrder of pages, as can be currently changed only in the sitemap by dragging pages up and down.
bryanlewis replied on at Permalink Reply
bryanlewis
I've always just used the sitemap. I'd like to know if this is possible as well.
warpol replied on at Permalink Reply
warpol
Me as well. And no complaints with the sitemap, it works well for intermediate users. I just worry about my beginner users really messing something up if there's no restrictions/scaled down sitemap function.
12345j replied on at Permalink Reply
12345j
is it possible to modify pages you don't have permissions for? I didn't think so, but maybe it is.
12345j replied on at Permalink Reply
12345j
alternatively you could have each group of pages have a leader with more experience and everyone else talks to them.
warpol replied on at Permalink Reply
warpol
Having a leader would be a practical default solution. But I'm trying to help my client move away from that model. Before they had 70+ people emailing one IT person to make changes like this.

So far the staff has loved c5 because it eliminates this need (and the IT person is looking forward to some vacation time). If there's not easy way to execute this feature safely, a leader solution will have to do I guess.
warpol replied on at Permalink Reply
warpol
It'd make sense that permissions would apply to sitemap reordering for pages, but it doesn't seem so. I just tried with a sample limited user. The limited user couldn't edit the pages in other sections, but could reorder any of them as they pleased in the sitemap.
12345j replied on at Permalink Reply
12345j
do you have advanced permissions on? that might stop that (like the admin or delete checkbox) But anyway thats something I'll submit to beta, it shouldn't work- it doesn't make any sense otherwise. And you shouldn't have to do extra.
12345j replied on at Permalink Reply
12345j
just found this code
$c = $this->getCollectionObj();
$pxml->guests['canRead'] = false;
$pxml->registered['canRead'] = false;
$pxml->group[0]['gID'] = ADMIN_GROUP_ID;
$pxml->group[0]['canRead'] = true;
$pxml->group[0]['canWrite'] = true;
$pxml->group[0]['canApproveVersions'] = true;
$pxml->group[0]['canDelete'] = true;
$pxml->group[0]['canAdmin'] = true;
$pxml->user[0]['uID']=$this->getUID();
$pxml->user[0]['canRead'] = true;
$pxml->user[0]['canWrite'] = false; 
$pxml->user[0]['canAdmin'] = false; 
$c->assignPermissionSet($pxml);
maybe try adding some code like
$pxml->user[0]['canMove'] = false;
?
warpol replied on at Permalink Reply
warpol
That looks promising. Where's that code located in the core?

Just played with all of the permissions I know of through the sitemap and the sitemap permissions tab (all with advanced permissions enabled). No luck. Even just read access to the sitemap allows the user to change the order.
12345j replied on at Permalink Reply
12345j
not sure where it is in the core. looked at these posts.
http://www.concrete5.org/community/forums/customizing_c5/programmat...
http://www.concrete5.org/documentation/developers/permissions/conte...
since you want to apply it to the sitemap though i'd try putting it somewhere in that file (root/concrete/single_pages/dashboard) but I'm just guessing.
warpol replied on at Permalink Reply
warpol
No luck tracking down the code in single pages, will keep looking.
12345j replied on at Permalink Reply
12345j
aha! take a look at root/concrete/tools and the file page controls menu
warpol replied on at Permalink Reply
warpol
Nice find, the page_controls_menu_js.php could do the trick. Though I'll need to find the exact function to add in some advanced permissioning. Will see what I can do.
12345j replied on at Permalink Reply
12345j
i may have been thinking the wrong path. would this do the trick?
http://www.concrete5.org/marketplace/addons/diy-navigation/...
warpol replied on at Permalink Reply
warpol
That could be a potential solution. I'm actually already using a similar block called Quicklinks on most pages to insert custom arranged hot links. However, from what I can tell this DIY Nav block doesn't use to autonav core, i.e. the users have to select the pages they want linked as opposed to an auto-add. This is a bit too much for some of our users and doesn't force standards (that every page created must be linkable through a nav).

Thanks for the tip though. I think we might look to create a front end-solution to change the cDisplay Order variable.
12345j replied on at Permalink Reply
12345j
cool.