Using circleci.com for automated WordPress plugin testing.

A few months ago, one of the teams I work with went on the hunt for a good continuous integration service for running tests on the code we write.  We jumped on the unit test bandwagon at the beginning of the year and wanted to really amp up the quality of our product by having tests run on every commit.  I was tasked with this job (and anyone who knows me knows I LOVE playing with new things, so it was a task I was looking forward to doing)

Most WordPress users are familiar with travis-ci.org and the internets were full of instructions for getting things plugged in and up with travis.  Unfortunately, our project is inside a private github repo so we couldn’t use the free travis plan to run our tests on and the premium plan was a bit to pricey for our first attempt at this.  So after searching around, I stumbled on circle.  From all appearances, circle looked like it would work very similarly to travis and bonus points were that their plans are much cheaper – so great for getting started with.

If I was in charge of a telecommunications company…

Yes, this is one of those “If I was in charge, I’d do this…” posts.  Don’t we all have opinions on how companies should be run?  Just had these thoughts today so decided to write them down.  Canada is known as one of the worst places for mobile phone plans (from a consumer perspective), largely because of the lack of competition.  If by some freak cosmological accident I ended up in charge of a telecommunications company, here’s some things I’d do:

I’m not going to talk about pricing or packages or anything like that, because at the end of the day what matters most for company longevity is customer loyalty and word of mouth marketing (even more so in today’s hyper social world).  The only reasons why I think the existing companies are doing so well in Canada now are because of their entrenched position with infrastructure, and the lack of choice for consumers.  With that said,

1. I’d ensure that our company has some sort of automated process that scans existing customers accounts (ooo privacy, but bear with me) and if there are any current company promotions that are better plans (either in terms of the same as what they have but cheaper, or more features than what they have for same price) than what the customer currently has we automatically switch them to the cheaper plan and notify them.

FireHost and WordPress Multi-site… how well do they play together?

Recently, one of my clients purchased a server with FireHost.com.  We’d been on the search for a new web host for some time now to serve as the infrastructure supporting upcoming web applications we have in the works.  We needed a company who is well recommended, and will help us scale and scale quickly.

You pay a more for a host like this  but it’s part of the investment costs you need to make if you want to be positioned well for solid growth as a business.

Anyways, the purpose of this post is NOT to discredit or gripe about yet another hosting company that fails to live up to expectations. We actually really like the setup we have at FireHost. Although getting things setup were a bit of a pain – their support has been very prompt and generally okay.  No, this post is more of a fyi for folks who are in a similar situation as us.  I couldn’t find any information on this subject on the nets so thought I’d post my own findings.

WP 3.7 drops with an interesting surprise…

I thought I was following the development of WordPress 3.7 fairly closely but something totally missed my notice and only caught my attention when a plugin I develop stopped working with the latest version of WordPress.

The culprit?

do_action( 'save_post', $post_ID, $post, $update );

Notice anything different?  The difference is that this hook used to only have 2 parameters, “$post_ID”, and “$post” but NOW it has a third one, “$update”.  It’s actually a nice addition as it makes it super easy to determine whether the post is being updated or not.  However, due to the way I hooked into this action (with a function that had extra parameters on it), Organize Series broke.  Easy enough fix, but quirky enough that I thought it deserved a post as I haven’t seen anybody mention this little addition!

 

Get wp-cli running with MAMP

I got really intrigued with the wp-cli tool for command line WordPress (seriously awesome, check it out)… however I haven’t switched my osx machine to use the built in php and mysql so I kept getting this error:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Easy fix:

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

And BOOM! I’ve got wp-cli working now.

path not plan

I’ve been thinking about this a bit lately.  We’ve all heard the phrase,

“Those who fail to plan, plan to fail.”

Right, but also wrong.  I’ve seen people who are terrible planners succeed, and people who are meticulous planners fail.

Yet something else, seems to work.  Path.  Those who have a path, who have a direction, who have an idea of where they are going – that beats planning every time.  Why?  Because, those who are creating a path can change their plans.  Those who just plan might get the plan down pat but then miss the path.

Sometimes you may follow the path someone else blazed before you.
Then other times, you blaze your own path.

Maybe it’s just a play on words but I like the idea of path over plan (even though I’m a planner at heart). I like the idea that I have a path to follow rather than a plan to execute.  There are a lot of paths to choose from, even a few that may need creating – but that’s where the learning and the skill and the risk comes in – because that choice does matter.

Failing, doesn’t depend on your plan (or lack of it).  It depends on your path.

Choose wisely.

announcements are fun…

I always like hearing from people about new things happening in their lives and I’m excited to share something new happening in mine.  For most of the last year as a part of my web development business I’ve been helping a company called Event Espresso with their website redesign and some bits and pieces that are running their automatic plugin updates and membership system.  It was a really fun project to work on and we just launched their website two weeks ago.

In the process, I was working closely with the Event Espresso team and we realized that we worked well together.  I was invited to join their team as their core developer and I’ve accepted.

I’m REALLY excited about this transition because I get to keep building cool stuff and I really see Event Espresso becoming THE “go to” plugin for events and ticket sales and I’m looking forward to being a part of and contributing to their growth.

Are you running events?  Are you looking for an easy way to manage registrations and ticket sales?  You really need to check them out.

Oh and you know what else is cool?  My family and I don’t have to move.  EE’s team is a distributed team working from locations all over.  Fun stuff!