Composer not honoring Subpage Permissions setting
Permalink
I am trying to sort out the permissions given to a new sub page when it is added via Composer. I set the permissions to Manual for the master page that sub pages are posted under. Then for Subpage Permissions I set it to Inherit page type default permissions.
When adding a sub page via the Edit > Add Sub-page button all is expected and the new page inherits the permission of the page type. When adding a sub page via composer the new page inherits the permissions I set manually for the parent page.
I can not figure out what I am missing. I've searched all documentation and forums and can not see any other post that discuss this. I've even tried digging through the core files to detect the differences in the process but to no avail. While not an expert at PHP I would say I am in the intermediate group. I can normally sort out anything.
Here are some details:
concrete5 Version: 5.6.1.2
Server Software: Apache
PHP Version: 5.3.25
File Structure:
Home
-About
-Support
-Contact
-Membership
--Blog Notes
---Note 1
---Note 2
--Member List
The Blog Notes is my master page where I set Manual permissions then set the Subpage Permissions - Inherit page type default. Yes I have set the page type default permissions via the page type set up and the Composer settings. Like I say it works as expected when I use the Edit -> Add Sub-page just not when using Composer.
Any insight or help figuring this out would be greatly appreciated. I am aware that there are add-ons that deal with this but I am more interested in figuring this out rather then simply purchasing an add-on. Not to mention this should be something that is part of the basic install and I think I am most likely missing something simple.
When adding a sub page via the Edit > Add Sub-page button all is expected and the new page inherits the permission of the page type. When adding a sub page via composer the new page inherits the permissions I set manually for the parent page.
I can not figure out what I am missing. I've searched all documentation and forums and can not see any other post that discuss this. I've even tried digging through the core files to detect the differences in the process but to no avail. While not an expert at PHP I would say I am in the intermediate group. I can normally sort out anything.
Here are some details:
concrete5 Version: 5.6.1.2
Server Software: Apache
PHP Version: 5.3.25
File Structure:
Home
-About
-Support
-Contact
-Membership
--Blog Notes
---Note 1
---Note 2
--Member List
The Blog Notes is my master page where I set Manual permissions then set the Subpage Permissions - Inherit page type default. Yes I have set the page type default permissions via the page type set up and the Composer settings. Like I say it works as expected when I use the Edit -> Add Sub-page just not when using Composer.
Any insight or help figuring this out would be greatly appreciated. I am aware that there are add-ons that deal with this but I am more interested in figuring this out rather then simply purchasing an add-on. Not to mention this should be something that is part of the basic install and I think I am most likely missing something simple.
Thought I would bump this. Still have not been able to figure out why Composer does not honer permissions the same way Add Subpage does but still digging. While odd I am pretty sure this is by design and that I'll some how need to extend or write a package to do things the way I want them. I really want the main Blog Notes page to have the add page permissions but I don't want the sub pages to have that permission. In fact I have my default blog_entry page set so that the owner has rights to edit, delete, etc. That is what I really want and Composer is not honoring that.
I believe I got it sorted! I set the permissions on the Draft folder! I realized that when you use composer a "draft" of the page is created in that directory and then once you publish it is moved to under the page you want in published under. So I set the Draft folder up so that sub-pages inherit the page type default permissions and now it is working as I wanted it to. it is possible this was in one of the many documentations or how to pages but I missed it somehow.
So if you run into the same issue go to the Dashboard > Full Site Map then make sure that Show System Pages is ticked under options. You should see the Draft folder and you can click it to get to it's permissions. Make sure that Subpage Permissions is set to Inherit page type default permissions. Now when you create a page using the composer it should take on the permissions you set up for the page type. In this case I was working with blog_entry.
So if you run into the same issue go to the Dashboard > Full Site Map then make sure that Show System Pages is ticked under options. You should see the Draft folder and you can click it to get to it's permissions. Make sure that Subpage Permissions is set to Inherit page type default permissions. Now when you create a page using the composer it should take on the permissions you set up for the page type. In this case I was working with blog_entry.
Very helpful, thanks!
Ok found some more information on this now that I've kind of sorted it out and thought I would add in reference links. It does seem it was reported as a bug before:
http://www.concrete5.org/developers/bugs/5-6-0-2/composer-approval/...
It is marked as resolved but not sure why. I still had to go to the Draft folder as stated by someone else in that bug thread.
It mentions something in the last post about Workflow so now I am off to explore what that option is all about.
There is so much I do love about concreate5 but documentation is really bad compared to other PHP systems I've worked with.
http://www.concrete5.org/developers/bugs/5-6-0-2/composer-approval/...
It is marked as resolved but not sure why. I still had to go to the Draft folder as stated by someone else in that bug thread.
It mentions something in the last post about Workflow so now I am off to explore what that option is all about.
There is so much I do love about concreate5 but documentation is really bad compared to other PHP systems I've worked with.
Thank you for posting this, it helped me!