Ollie Armstrong

Software Developer

Ollie works on WordPress plugins, supporting CatN systems and other projects. Still in college, he might be the youngest Zend certified developer in the UK!

Unit Testing WordPress Plugins: The Right Way

Whether you are currently writing a WordPress plugin and have decided to embrace unit testing or you are about to begin development of a plugin and want to unit test it from the start, learning how to do it correctly is a must.

This guide assumes you have a working LAMP stack (or similar) setup on your development machine and have reasonable knowledge of databases. For easy set up of a LAMP stack see XAMMP (windows/linux) or MAMP (Mac). You should also have Git installed.

Read More

CDN Sync Tool 2.0 Released

As you are probably aware, CDN Sync Tool has been very broken for a while and actually unusable since the WordPress 3.3 update.

I have now released version 2.0 of the plugin which has been completely rewritten from the ground up to work better and faster. It is now also fully compatible with WP 3.3.x upwards. There are a couple of features that have been excluded from this version because a lot more work is required on them.

Before updating you have to be aware that your CST settings will not be preserved through this update and will have to be reentered.

There will likely still be bugs in this release so if there is anything you come across then please use the email form in the plugin help tab or send an email to our support team at support@catn.com.

You can download the latest version from the WordPress plugin directory or update through the WordPress built in plugin updater.

Thank you for your continued patience while this work was being carried out.

Current Situation Regarding WPSQT and CDN Sync Tool

Due to a recent departure of the developer maintaining WPSQT and CDN Sync Tool there has been a lapse in development and maintenance of both of these plugins. For this we apologise.

I have now picked up on the maintenance of these two plugins and so bugs and issues should start to be resolved. If you encounter a bug while using either of these plugins we would appreciate it if you could submit a bug report to the GitHub repo for WPSQT or CDN Sync Tool. Although if you do not have a GitHub account then you can report the issue to the forum for either WPSQT or CDN Sync Tool.

Update [13/12/2011]: With the latest WordPress 3.3 update CDN Sync Tool is now very broken. I am in the process of rewriting it entirely to fix these issues and all other issues as well. No definite ETA but it should be ready before the new year.

Update [13/03/2012]: CDN Sync Tool has been completely rewritten and released. Full details here.

Read More

Using Git for WordPress Development SCM Instead of Subversion

Git is a distributed version control system. This means that every git clone is a full repository with complete history and revision tracking. Git differs from Subversion because Subversion has one central server and the clients just commit to it. This is why git is so much easier to use for ‘social coding’ and that is where Github spawned from.

This is why I prefer to use git and Github for the source code management and use the WordPress svn repository only as a distribution channel. That works for me, easy to use source control but also a distribution channel that’s accessible to the users. WordPress try to make you solely use Subversion – but you don’t have to!

Read More

WPSQT – Creating custom pages

Plenty of WPQST users have been requesting custom page creation documentation, so here it is! As usual, if you have any questions leave a comment and I’ll get back to you.

Step One – Creating the directory

Firstly create the custom directory. The name and required location of the custom directory can be found on the quiz or survey details page, it will be highlighted with a yellow background. It will look something like…


You should create this directory and then copy the folders from pages/site into the custom directory. You’re custom directory should have the following layout for a quiz.

Read More

Getting to Grips With SSH – Part 6

Welcome to the sixth part in the series. The series that is the easiest way to get started with SSH.

In the last part, we got to know a powerful terminal text editor, so you will probably have a few more files on your server that you want to move around. So in this part we will be going over the final few commands that can be used to manipulate files. This includes the likes of copying, moving and renaming. After you know these you should be the master of file navigation and manipulation. If you haven’t yet read the previous part, you can find that here: Getting to Grips with SSH Part 5.

Read More

Getting to Grips With SSH – Part 5: Vim

Welcome to the fifth part of this series of blog posts to introduce you to the wonderful world of SSH.

In this post we are going to be learning about a terminal text editor. I hear you ask “Well, what’s a terminal text editor?”, let’s start with that.

The window you are using to SSH to your vCluster (whether it be PuTTY for Windows, or Terminal.app for Mac) is known as a Terminal. This terminal can run a command to make it behave like a text editor, much like Notepad or TextEdit would be used.

Read More

MySQL Best Practices

Do you know how to best design a MySQL database, or how to best structure a MySQL query? If not then this post will certainly interest you.

Here we will be discussing the best MySQL practices you can use not only to keep your database running smoothly and quickly but also to keep it user friendly.

10 – Use sensible field names

Have you ever started on a project and designed the database using ambiguous field names like Read More

Getting to Grips With SSH – Part 4

Welcome to the fourth blog in the series of posts teaching you basic SSH commands.

In this part, we will be building on what you learnt last time to improve your directory navigating, and also going over some more advanced switches.

Once again you will need to connect to your vCluster, and once again I will refer you to the tutorial on connecting to your vCluster. If you haven’t read the third part yet, then you can find it in Getting to grips with SSH part 3.

Read More

Getting to Grips With SSH – Part 3

Welcome to the third guide in the series of blog posts helping you to understand basic SSH commands to aid your development.

In the previous part, you learned how to connect to your vCluster using SSH. This is a good starting point, but not very useful on its own. In this part we will be learning how to navigate your vCluster using SSH commands. It’s pretty easy though!

Read More