The problem here is that you cannot override setting of the role blueprint.
So if you disable all pages actions with pages: false
in your editor.yml
, you cannot re-enable them in a single page blueprint.
So the only way around this is to enable pages actions in the role blueprint and disable these permissions on the page blueprint level, which can be cumbersome with deep nesting.
Note that you can even reuse page options, so that would make it a bit easier to put those into every blueprint where they are needes.
Also my idea with overriding page model method would mean to create a model per page type. This is actually quite powerful because you can go beyond the limitations of user role permissions and blueprint permissions as regards conditions, but is of course more work.
Another option is to create blueprints per role either on an individual basis or a complete set:
The last option has the downside that you load Kirby twice and maintaining two complete sets of blueprints can be a pain as well unless you make good use of reusable modules.