The process of adding a new page from the panel seems to have too many unnecessary steps.
Here are some suggestions:
After you “Add” a new page by filling in the Title, URL and choosing a template you should be taken directly to add the remaining details for that page since it is unlikely that you would want a contentless page.
Also, the option to have the page visible or invisible should be given when you add the page, with visible being the default, and by default every new visible page should “auto-increment”, so if you have 100 visible pages, the next visible page you add would get the number 101, without the need to manually drag the new page to the 101st position (or having to remember that your next page will be the 101st to manually add that number to the url)
quote=“Ozy, post:1, topic:870” with visible being the default
I’d make it an option we could set in the config file. Some sites need content to be drafts by default. Or that could a blueprint option.
I agree with @Malvese, it should be an option, not everybody wants pages to be visible by default, in fact I would never want to directly publish a page I have just created.
As regards the “unnecessary” steps when adding a page, I’d say it depends on your workflow. If you want to add a page and edit it directly, then the current setup might seem cumbersome. If you want to add several pages at once or just add a page as an idea for something you want to write in the future, then the current setup is just great.
After finding myself writing info-blocks into every single blueprint reminding the user to publish their pages I am very much in favour of a setting to automatically make pages visible upon creation. I imagine this could be set in the header of the blueprint:
Or maybe even in the parent blueprint?
Or even crazier, in the parent blueprint on a per-template basis…
The addition of panel hooks in Kirby 2.1 allowed me to make a simple plugin that enables auto publishing of new pages.
If you include the plugin without configuration all new pages created in the Admin Panel will be visible by default.
If you want to limit the auto publishing to certain types (templates) of pages, you can define those by configuring the autopublish.templates option to the array of page templates you want to make visible by default.