In order to deploy database changes under the current workflow, you are required to manually update your resolvers, content sources, pages and templates via the PageBuilder admin interface. This process is error prone and potentially time consuming, especially when your changes are substantial. There's a period of time between when you've deployed the files and when you've finished updating all of the PageBuilder configurations where parts of the website could potentially be broken for your users. I realize that deployments are intended to be small and simple, but I suspect there will be times when more complex deployments are necessary. Someone may forget to deploy a file, update a resolver or content source, modify a page or template, etc. and they'd have to spend time troubleshooting the live production website. It would be far safer to serve only cached versions of pages until all of your files have been deployed and your configuration changes have been made. This way, end users would be insulated from any errors.
Another option would be to (optionally) store resolver, content source, page and template configurations in files instead of in the database. This way, all of the configurations would automatically be deployed along with the rest of the files, and there would be no need to manually edit anything in the PageBuilder admin interface. This would allow us to version control our configurations, providing greater visibility into the history of what has changed and allowing us to easily roll back to older states. It would also make it easier to switch between Git branches that rely on different configurations, without having to edit things in the PageBuilder admin interface.
Categories | Developer Tools, Developer Workflow |
New PageBuilder deployer addresses the configurations.