The Plugin Boilerplate Decision – Web Application Development with WordPress and CMB2 #1
It’s been some years now that I’ve played the developer role in what I can call a proper Web Application Project. In the last couple of years I’ve dealt more with project management and team organization than coding and it’s something that I’ve missed.
Not only because I like to create stuff but also because I feel that to really understand what your team is telling you, project-wise (scope, metrics, coding specificities….), you need to have a good understanding of all the process, and that includes code.
You certainly don’t have to be the greatest coder in the world but in my opinion it’s really great if can both talk your clients’ language and your team language.
So we’re developing yet another time tracking application. You have some clients, some stuff you do for them and you want get reports that tell you things like how many hours you’ve worked for them or what kind of stuff you spend most time in. Nothing pretty special, at least for now.
Since we’ve been doing website development exclusively with WordPress for the last 3,5 years and already developed some things that might be called web applications and also having tried CMB2 in a couple of projects we decided that this would be a cool project to start from scratch with this stack.
Although having developed several solutions for WordPress we still haven’t found what works for us when we’re talking about plugin development. On the last couple of projects we’ve used Devin Vinson WordPress Plugin Boilerplate but it felt a bit overwhelming for us. Consider that in this project we have what I would call a true WordPress developer, a relatively new developer which already participated in some projects but with far less engagement than our main guy, and me who haven’t been coding for some time now. We’re also developing this plugin to be used only inside the admin.
So we’ve decided to go on a bit more simpler route… but who knows, maybe when the project starts getting more complex and the team skills gets more homogeneous we’ll go to a similar structure. For now our structure is really flat with the, I think, expected css, includes and languages folders. We chose to include CMB2 in our plugin to avoid version problems and we’ve added it to the includes folder. Inside includes we also have the admin folder with all the classes we’re using right now: time-entry, client, etc.
It feels very comfortable to work with this structure but lets see what the next weeks will bring us. Do you use other plugin boilerplates? I’d love to hear from your experience.
rookie mistake of the week: forgetting to activate the plugin we’re developing and loosing some 15 minutes trying to figure out why I wouldn’t see what we’ve already developed.
(image credits: https://www.flickr.com/photos/noodle93/4652373324)
por Vitor Silva