Drupal 8 Development Framework

Submitted by allan on Mon, 10/12/2015 - 20:38

At Promet, I'm an avid Composer user with Drupal. With that said, we are now starting Drupal 8 sites for clients, camp sites, and even ourselves. With that said, Doug Dobrzynski recently made some changes to the Promet framework (on his own time) that allows it to work with Drupal 8. You can see it over on Github. Now, I'm personally going to push some changes because I see that they could be better. Example, the need to "copy" files shouldn't be there. When you use a framework, it's my belief that it should work with reasonable defaults. Example, The .env file... We give you env.dist... If the framework doesn't find .env... it should use env.dist instead of requesting you to copy it over. We do the check for it... we should just use it.

We should also get away from settings_compile. It is my opinion, but in trying to make something easier, we have instead made it more complicated. In general, most Drupal developers don't know that they need to change a yml file... Also, default settings file provides some really helpful stuff. Lastly, we always end up having to customize this for Acquia clients, and I"m not so unsure that Acquia has the right idea. I feel that doing environment based settings and commiting them allows you to hold someone responsible for the configuration that are being setup (through this could be accomplished with settings_compile using something like chef). I feel that since we are working in local environments, we should create a maintainable set of configurations in the same repository as code (minus the sensitive portions of course).

We need to add more of the settings files to cnf. There are more configuration files now. Also, settings.local and development.services are standard now. Settings compile didn't do well in adding too existing configuration. It built a brand new $config array that overwrite old settings. With that said, it doesn't even handle the other new yaml files, making it not ideal for this case.

Final Thoughts

Though we have a pretty awesome framework (Thanks Doug), we can still make it better. I hope to have updates for this and I hope that several more people use this framework as it does make having a standard release process possible.