I finally found why version 6 is so broken regarding permissions, if you have a lot of templates. It randomly reset all my roles and permissions on templates. It cannot keep up.
To replicate:
Create more than 1000+ templates
Go to the CP > Roless > Members (or any other role you create), then Template Access. Try selecting a template group.
The CP complains about Errors Found. You cannot save anything, but it actually does randomly save which is very bad, since now it resets all your template permissions. Even if you just change the Role description, it will save it automatically without you even hitting the save button (you can’t) because the button is changed as Errors Found.
The Jquery will just save what ever if wants at this point and its actually failing inside the server because its sending too many variables at once:
Here is my server error log.
PHP Warning: Unknown: Input variables exceeded 1000.
This is seriously wrong.
Stackoverflow confirms this is bad coding: https://stackoverflow.com/questions/16470527/warning-input-variables-exceeded-1000
And yes, I do have more than 1000+ template files if anyone is asking.
Never had an issue on previous versions, but it seems ExpressionEngine 6 cannot handle the same site.
Sure, I could increase the php.ini but never in 20 years of using PHP apps I had to do this. This is just bad coding. You should not require more than 1000 variables. What if I have 5000 templates? I would need to increase the global PHP settings as well? This would just be open to denial of services attacks or crashing everything if some code is misbehaving, the limit is there for a reason.
Please don’t tell me it’s wrong to have 1000 templates, I could surely reduce this, but that is not the point. It’s a big website and I do require tons of template files. This worked fine on versions 3, 4 and 5. Not 6.
Thanks for posting this.
As mentioned in Slack as well, we have been able to replicate this, and will have a fix for it shortly.
If you would like to create a github issue, that would likely be the best place to follow along.
Thanks,
-Tom Jaeger
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.