Episode 9: Varying Vagrant Vagrants & WordPress In Universities with Jeremy Felt

Show Takeaways

You should be using Vagrant in your WordPress development workflow!
Washington State University uses WordPress Multisite on a self hosted server and has been opening sourcing many of their themes and plugins.
Jeremy wrote a wonderful series of blog posts on deployments.

Today’s hangout was with the very talented Jeremy Felt! Jeremy works for Washington State University, maintains the Varying Vagrant Vagrants Github project and also has guest commit access to WordPress core!

In todays show we asked Jeremy about the VVV project and also how Washington State University are using WordPress Multisite along with a suite of plugins and themes to allow staff and students to create and share content.

Show Notes

VVV
  • Varying Vagrant Vagrants was created by Jeremy as he was using Mamp for development but had an nginx issue he needed to resolve and didn’t have a server environment to debug it on.
  • VVV aims to give developers a matching environment for local development.
  • VVV uses shell scripts for provisioning rather than other provisioning software to provide a low barrier to entry for new comers to Vagrant.
  • If Jeremy were to start VVV again today he might consider using Salt for provisioning as that’s what they are using internally for provisioning at Washington State University.
WSUWP Platform
  • Jeremy explains the WSUWP Platform which has been open sourced on Github.
  • We ask Jeremy about what he thinks the current ‘State of WordPress’ is in universities in America?
WSU Indie Sites
  • Some previous WordPress installs and unusual new WordPress installs use WSUWP-Indie-Development. We ask Jeremy about this repository and what problems this custom setup solves.
Maintenance, Updates and Rollbacks
  • WSU don’t have a staging environment so all core and plugin updates are done locally and and new plugins will be subject to a local code review to check performance and security before they are rolled out to production.
WordPress in Universities
  • We ask Jeremy what things we can work on as a community to help champion WordPress as a CMS and application platform in universities? Managing a large number of pages rather than focusing on posts is a big issue. http://developer.bu.edu/bu-navigation/ is a great plugin for managing lots of pages. The Media Library isn’t quite robust enough for different types of documents. WP Document Revisions is an excellent plugin that can help to solve this problem.
  • What are some exciting WordPress projects and builds you’ve seen universities implementing? sites.psu.edu. rampages.us
  • Do you think WordPress should be taught as a core topic in Computer Science, Information Technology and Journalism courses in universities?
Get In Touch With Jeremy

You can find Jeremy on Twitter, Github or you can contact him through his website.

Episode 8: Planning Plugins For WooCommerce with Patrick Rauland

Show Takeaways!

Remember your target audience for your plugin before you cater to every feature request.  Better to have a product that easy to use and works for 95% of the people, than a product that’s harder to choose that works for 99% of the people.

Don’t put too many new features into a release, otherwise you’ll never release.

Today’s topic is about planning plugins, how to decide what features make the cut, and a behind the scenes look at WooCommerce.  Patrick and Meeko joins the show to discuss WooCommerce’s release cycle, how new features get picked for a release, and provides some awesome insight and advice for plugin developers on how to make sure your plugin gets to market.

With such an active (300 contributors and 10,000+ commits) and large (on over 380,000 sites) product with , Woocommerce is a surprisingly tiny team with 5 people.  Patrick shares how Woocommerce stays on the roadmap for releases and manages what features get in and what find themselves on the cutting room floor.

Show Notes

Patrick Doesn’t Sleep
  • Patrick is the new WooCommerce Product Manager, he plans all of the features down the road at WooCommerce by performing research about the new features.
  • Patrick is writing a book on WooCommerce and how to use it, set to be released in 2015.
  • He also has developed a number of add-ons for Ninja Forms.
  • Patrick also speaks at many WordCamps.
  • According to him, his biggest asset is his blog.
WooCommerce’s Workflow
  • By using an ideas board, when new requests come in they go on the board and get voted up to “fight it out” to make sure that it’s something the vast majority want.
  • By reaching out to people who make the requests, Patrick can narrow the scope of the features.
  • WooCommerce sets out to do 3 major releases per year, even though with ecommerce software you really only have 10 months in a year.
  • They don’t use release branches and ‘master’ branch is their develop branch.
Plugin Roadmaps
  • Keep releases small to get to release.
  • Remember to test for backward compatibility.
  • Adjust quickly and often to estimate time and effort.
  • Build Unit Tests first, rather than going back and retrofitting them in.

Patrick gives great advice for developers to find your blogging voice.

Episode 7: Business Side of Plugin Development with Matt Medeiros

Show Takeaways!

Keep your products lean as it reduces the support load.

Treat your new products seriously and write a pitch deck! (Read the entire show notes to get access to Matt’s pitch decks!)

Today’s topic is the business side of plugin development. Jason and I ask Matt Medeiros all the burning questions that developers need to consider when launching a premium plugin. Matt is a Co-Founder of Slocum Studio, WordPress design and development agency based in Dartmouth, Massachusetts. Slocum Studios already has had great success in building and selling themes and has now released their first commercial plugin, Conductor. If you’re a WordPress podcast fanatic then you’ll know Matt from The Matt Report!

Show Notes

Matts’ IT Background
  • Matt grew up with a fascination with computers and played around with them as a kid using DOS. A few years later Matt learned Linux environments and gained a job in an ISP. From there Matt helped setup shared hosting using cPanel so they could add that to their service offering.
Agency and theming
  • Matt’s agency runs from an old…school building, not to be mistaken with an “old school” building :). Matt believes that having an office helps maintain culture.
  • Slocum Studio service clients, maintain and develop themes for WordPress.org as well as premium themes and the Conductor WordPress plugin.
  • Theme support is very low because the themes have been built with simplicity in mind and keeping options lean.
  • Matt recommends reading Running Lean: Iterate from Plan A to a Plan That Works.
Plugin Development
  • Conductor was built over 12 months and was originally created to service the requirements of their clients.
  • Matt has a group of Advisors for Conductor to help shape it’s evolution and UI.
  • Focus groups have been used to gain true user feedback about the product.
  • Matt has used pitch decks to maintain the feature base the development of the plugin and keep focus of what they have been building. Matt has iterated on his pitch decks over time. Here’s a link to his first pitch deck and here’s a link to his most recent pitch deck. (Please note that there are gifs which don’t work in the pdfs).

Episode 6: Automating Your WordPress Deployments with Ben May

Show Takeaways!

You thought wearing the pink sombrero for cowboy coding is bad.

Find out when the Ben May World Tour is coming to a city near you!

Today’s topic is about deploying your WordPress website.  This is a topic that’s touched up greatly in meetups and WordCamps.  There are many reasons for all this talk.  That’s because when something goes wrong on your production site, what happens next and how fast does it happen is critical.  Bronson and I chat with Ben on his deployment processes and how he solves this issue to ensure that his clients have a robust, secure, and most importantly fully working live website.

Show Notes

  • Ben is the owner of Alyte Creative out of Queensland, Australia.
  • Ben is one of Australia’s best when it comes to hosting high traffic WordPress sites on Amazon Web Services.

FTP/SFTP

  • “If you are cowboy coding, you are playing with fire and you are out by yourself”
  • Check Filezilla and why you should switch off using it.

Rsync

  • Old reliable *nix tool, much like vi, for moving files around.

Capistrano

  • Best option available so far.
  • The handling of upgrading plugins on deployment.
  • Easy to write custom scripts using Ruby

Database Migrations

  • Laravel & Rails have Database Migrations, what about WordPress
  • Ben talks about some tools to handle database  migrations – Blog Post

Deployment SaaS tools

If you are outside of the US, Beanstalk has put out a Git CDN service.  Ben has seen a significant speed increase in his pull and push requests.

Episode 5: Creating and Maintaining a Commercial WordPress Plugin with Brent Shepherd

Show Notes

  • Brent’s the founder of Prospress the second WooCommerce based business. SkyVerge were the first.
  • His first commercial theme was a parallax WordPress theme called Five3.
  • Brent has quite a few plugins in the WordPress repository.  Multisite User Management and Map Cap were two of the ones he mentioned during the show.
  • The first commercial WooCommerce plugin by Brent was PayPal Digital Goods gateway.
  • Brent is most famous for WooCommerce Subscriptions.
  • “Bolt” is a plugin that is currently in development with Brent and Jason Conroy which aims to allow WordPress plugin developers to sell premium support for their plugins from the users own WordPress dashboard. Bolt sends the developer details about the WordPress install and hosting environment as well as processing a transaction for the sale of the plugin developers time for support.
  • During the developent of WooCommerce Subscriptions Brent and his team have coded a new way to trigger scheduled events instead of using WP-Cron as they needed more robust and reliable solution for time based recurring events and transactions. Brent’s excited about the future of the WP-API.
  • You can get in contact with Brent Shepherd on Twitter and follow Prospress on Twitter too!

Episode 4: WordPress Plugin Development with Tom McFarlin

Show 4 was a great one, talking WordPress Plugin development with Tom McFarlin of Pressware

Tom gave some great insights his daily workflow with WordPress Plugin Development and the open source process with the Plugin Boilerplate and the commercial theme development on Mayer and some others in the works.

Show Notes

Tom’s links:

Most are above, but check out devpractic.es as it’s a great tumblr blog about the daily goings-on of a developer in animated gif form.

WordPress Plugin Boilerplate

  • Originated as a starting point for a consistent basis to do plugin development

  • Roadmap for the next version includes some usage guides and some other great nuggets for us developers

Working with other Developers, Designers, and Clients

  • “Open Source doesn’t mean that there can’t be a vision for the project”

  • Learn from other developers that spark a conversation of education.

  • Meet and connect with some great minds like Andy Fragen (surgeon by day, GitHub Updater by night)

  • Clients do know about WordPress

Bonus Material!

  • Tom announces “The Scoop” about the roadmap for WordPress Boilerplate Plugin
  • We share what tools we cannot live without.
  • Matt Medeiros of The Matt Report gets some shots across his bow.

Episode 3: WordPress Performance Tuning with Gary Pendergast

That’s show number 3 under the belt for us and a big thank you to Gary Pendergast from Automattic (they’re hiring :) ).

After watching this episode you’ll have loads of information about how you can improve WordPress performance on your hosting environment of choice. Gary covers everything from simple tips like caching plugins and CDNs that anyone can do right through to complex scaling tips like multi-server and sharding!

Show Notes

Web Servers

Caching – WP Super Cache & APC

  • WP Super Cache.

  • Opcode cache – APC – Gary explains the differences between non opcode cache and opcode.

CDN

MySQL

  • MySQL vs MariaDB vs  Percona.
  • Storage engines and indexation. What are the differences between MyISAM and InnoDB?

  • Should someone write a plugin to set all the tables to InnoDB in WP and put it in the repo or are their risks?

  • Why doesn’t core update to create InnoDB?

  • Gary’s Pro Tip: innodb_buffer_pool_size. Set this to 40% RAM if your database and web server are on the same server or 80% RAM if DB on own server.  You can set this is my.cnf.

  • Gary’s Pro Tip: Set both query_cache_size and query_cache_type to 0.

Multi Server – HyperDB

  • Multi Server comes into play when it’s time to stop scaling up (more CPUs and more RAM) and time to start scaling out (Multiple servers and Multiple databases).
  • Object Cache – Memcached.
  • Batcache – No need for WP Super Cache.
  • Varnish – trickier to get up and running than Batcache but offers further performance benefits.
  • How do you tackle  setting up multi server from the start?

  • Replication:
    • Master -> Slaves
    • Master -> Master
  • Sharding.

Bonus Material!

Stay Up To Date With WP Dev Table

Hey there wonderful listeners!

We’re excited to let you know that there are plenty of ways to stay up to date with WP Dev Table. Choose any of the following ways to stay up to date:

Episode 2: The Tools We Use

That’s a wrap for Episode 2 of WP Dev Table! During this episode Jason and I talk about some of the main tools that we use in our workflow every day. Those tools include IDEs, project management software, virtual machines and time tracking, right through to CSS frameworks so you’d better tune in and have a listen!

As always we’d really love to know if any of you use the tools we use…or better yet, do you have other tools under your belt that you use on a daily basis that Jason and I don’t know about yet? Please leave a comment below if that’s the case. We’d love to learn something new from you!

We’re also more than happy to answer any questions you might have about the tools we mentioned during the show! After all, we use these tools every day and often take that for granted so if you’re confused by something or we glossed over something then be sure to leave a comment!

Show Notes

Editors

Browser Tools

Workflow

Dev Environment

CSS Frameworks

Favorite tools

Episode 1: Version Control

What a great first show!  Finally got the timezones all squared away between NYC and Brisbane.  Today Bronson and I just had a quick chat about Version Control.  We ran into some stumbling blocks which we’ve discussed how we got around them and address them moving forward in our day-to-day.  We discuss some great tips and how we use Git within our WordPress development workflow.

Hopefully you’ll enjoy this 50 min chat and can help us out with some ways that you are using version control within your daily process.  Be kind, this is the first one and we promise that we’ll get better as we move along.  Practice makes perfect, right?  We’d appreciate any feedback you have even if it’s not about the topic, but about how we sound, what you would like to see, anything at all.

Two questions that I think we posed out to the community were:  1. How can us command line junkies make sure we pull the latest before we try and push our changes?  2.  How you bottle up an inherited project?  Core?  Just a theme?

Show Notes

WordPress Core Official Git mirrors: http://make.wordpress.org/core/2014/01/15/git-mirrors-for-wordpress/

Bitbucket.org

Github.com

Git branching method – Git Flow

Sublime Text plugin – Git Gutter

Chassis

git add -p – Patch mode to pick and choose which bits you want as a part of your commit
git commit -m --amend – Edit you last commit message
git diff-tree --no-commit-id --name-only -r [SHA] – See what files were affected in a specific commit

CodeSchool

Git Immersion

Think Like a Git