I’ve developed an app locally using wordpress as a sort of framework for it. I’m now needing to get other developers involved and am looking for the best workflow and deployment process for new team members and came across bedrock. I like a lot of the similarities to rails in terms of file structure and the way it manages dependencies. However, I’m a bit unsure on the following:
I’m using wordpress multisite and multinetwork to structure my SAAS app. Is anyone aware if using bedrock’s file convention (or anything else) cause any issue with this?
I’m using Buddypress as the community aspect of the app. Is there any limitation to using bp with bedrock? I saw this am a bit worried: BuddyPress with Bedrock + Sage
Nope. Bedrock is merely a boilerplate that gets you up and running with the best development practices. Literally everywhere but WordPress applies these techniques.
@etc, per Austin, what are you thoughts on using wordpress multisite and multinetwork with bedrock? Good idea? any “gotchas” I need to watch out for?
Appreciate the advice.
And thanks, @austin, Coming from learning rails originally, conventions are what attract me to bedrock. My only concern is the learning curve for wp devs that aren’t familiar with these since wp has it’s own set of “conventions”.
Bedrock is a modern WordPress stack that gets you started with the best development tools, practices, and project structure.
★ Better WordPress project structure
The organization of Bedrock is similar to putting WordPress in its own subdirectory but with some improvements, including renaming wp-content/ to app/.
★ Dependency management with Composer
Manage your WordPress install and plugins with Composer, a PHP dependency manager. Composer will make development more reliable, help with team collaboration, and it helps maintain a better Git repository.
★ Automate your WordPress deployments
Capistrano will help you create a proper deployment process instead of manually FTPing files which is an error prone method. Automate your WordPress deployments and simplify it to a one command deploy process.
★ Manage server environments with Vagrant
Easily create development environments with Vagrant to help achieve development & production parity. Use our Ansible playbook to automatically configure WordPress app servers.
Forgive me, I could be getting caught up on semantics, but Bedrock is mostly a set of “best practices” not “conventions”.
For instance: using a package manager to wrangle third party dependencies is a best practice, not an arbitrary convention. The only thing I that is “opinionated” is the project structure I suppose. But even that allows you to follow best practices when it comes to keeping sensitive files out of the web root.
No gotchas as long as you’re using subdomains. There are some issues with wordpress in a subdirectory, and subdirectory installations of multisite. This isn’t an issue specifically with Bedrock, though.
Other than the fact that BuddyPress kind of stinks? No. It integrates fine. Just be forewarned that much of BP is proprietary and doesn’t follow WP convention (since it preceded it). E.g. the way BP handles profiles pictures leaves a lot to be desired.
Bedrock isn’t informed just by WordPress best practices. It aims to be turn your WP project into one that is 12 Factor compliant. http://12factor.net/
Yes, you should absolutely use Bedrock. In fact, I refuse to work on any WP projects unless they follow these practices and format. (WP Skeleton is another option, I suppose if you’re just looking for proper file structure)
Note: the file structure is less about “copying Rails” and more about separating out dependency from custom code, etc. It’s a common convention that’s used in a majority of the “modern” frameworks.