The Blog - Archive for

Changing our Git Workflow

by Tom H. Filed under: Knowledge,Technology

We’ve been using Git for quite a while now. We don’t have a single SVN repository. This makes for happy developers!

For a while we’ve been using Git Flow as our preferred workflow. It’s been pretty good, certainly from the point of having some sort of a recognised workflow/process. The only problem is, it’s turned out to be a bit heavyweight for what we want.

We love agile development, and for us, this means:

  • Short sprints of development
  • Regular releases (minimising serious issues)
  • Flexibility to experiment and throw away bad ideas
  • Team spirit and collaboration

The problem with git flow is it’s far better suited to a fairly fixed release cycle. We’ve found the release mechanism is cumbersome for quick/regular releases, and… it’s all a bit heavyweight for the entire team. We want all of our team to feel they can commit and contribute without feeling they might break something in the process. We also want to encourage communication, collaboration and experimentation!

So, the solution is, we’ve switched to Github Flow way of working. So what is it? The basic principles are this (stolen from http://scottchacon.com/2011/08/31/github-flow.html):

  • Anything in the master branch is deployable
  • To work on something new, create a descriptively named branch off of master (ie: new-oauth2-scopes)
  • Commit to that branch locally and regularly push your work to the same named branch on the server
  • When you need feedback or help, or you think the branch is ready for merging, open a pull request
  • After someone else has reviewed and signed off on the feature, you can merge it into master
  • Once it is merged and pushed to ‘master’, you can and should deploy immediately

Here’s an excellent presentation that explains it:

What about clients reviewing code before it might be production ready? Well, we simply push a given feature branch to our stage server. If two developers are working on a separate feature branch, they can either merge each other’s feature branches or create a new shared branch for the purpose of a client reviewing code.

We’ve dropped all our develop branches and the team have been merrily discussing pull requests and getting stuff done. So far so good, we are liking the shift a lot.

The team take to the track

by Tom H. Filed under: Days Out,Fun

We’ve had a bit of building work done in the office to remove some walls. In part because of our growing team but mainly because I’d slightly messed up our original office design. Apparently, people don’t like sitting in 3ft by 8ft cubicles! Who’d have thought? Anyway, it looks pretty cool now… just needs a bit of decorating.

Whilst we were having the work done we thought it would be an ideal time for a day out of the office to treat our hard working team and a couple of our great freelancers Simon and Jamie. So, a spot of lunch at Lockside and then off to the Go Kart track.

Everyone had a really good time. Even Adam who managed to get black flagged in the race!

Here are some photos from the day.

We are hiring! Ruby/Rails Developer

by Tom H. Filed under: Company,Jobs

We are looking for another skilled web developer to join our talented and enthusiastic team.

We are a fast-paced and energetic company with big ambitions, great ideas and a focus on building awesome web based products. We have an agile approach to development and are looking for a skilled and enthusiastic developer to join us on our journey.

We currently have two exciting SaaS based products (Rusic and ContactZilla) that we are looking to accelerate the development of and take to a wide market. You will play an active role in their development and be an integral part of the companies success.

The tech we are using for our products includes Ruby/Rails, PHP (Zend), JS/CoffeeScript, Node.js, MySQL, Mongo, Redis, Chef/Vagrant and cloud based services and more! So, you will need to be looking for a position that is challenging where you want to stay at the cutting edge and not shy away from a challenge!

We also undertake some more traditional application and website development work for our clients. Solutions involve WordPress, Drupal, Magento and custom builds but we try to spread work out throughout the team and rotate projects to keep the mind fresh!

We work normal office hours but it’s quite common for the team to be hacking away on something cool gone home time… you will need to be of the same developer mentality. Whilst we all work hard, we like to rewards ourselves when we hit our targets, this is normally in the form of some random fun activity out of the office.

We’re looking for a unique web application developer that understands the importance of good engineering solutions above all else, takes pride in what they deliver and enjoys being an active part of a hard working and smart team.

Personal traits:

  • Sense of humor
  • Passionate about your work
  • Strong communication skills
  • Smart and humble
  • Equal willingness to learn and teach

Responsibilities:

  • Participate in the planning, analysis, design, development and deployment of products, features and enhancements
  • Build high-performance, scalable applications and APIs
  • Create clean, maintainable and well tested code

Requirements:

  • Excellent debugging and problem solving skills
  • Proficient in at least two of the following languages/platforms (and an eagerness to learn new languages!): Ruby (Rails), PHP (Zend Framework), Node.js, Javascript/CoffeeScript, Objective C
  • A strong command of HTML, Javascript and CSS, familiarity with Less would be good
  • Experience with MVC development frameworks, test driven development and agile development processes
  • An understanding of database theory with experience of MySQL. Any experience of NoSQL alternatives is a bonus!
  • Good understanding of the entire development process, including testing, build, deploy and maintenance
  • Strong communication skills

Remuneration:

  • Salary negotiable based on experience.
  • Company share options.
  • Pension scheme.

To apply, please send us a cover letter/email with a bit about yourself and a concise CV outlining your experience to info@simpleweb.co.uk

WordPress Custom Post Types – Changing Slug

by Tom H. Filed under: Wordpress

It’s surely too early in the New Year for WordPress to be causing grief? Apparently not :)

We just had a simple request from a client, “Can we change the URLs for our custom post type pages” – no problem I thought!

However, this one has taken me longer than expected. It should have been a simple case of changing the Slug parameter when registering a custom post type.

So:

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'menu_icon' => get_template_directory_uri() . '/images/iconbacourse.png',
        'rewrite' => array('slug' => 'old-slug'),
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title','editor','thumbnail')
      );

    register_post_type( 'myposttype' , $args );

Becomes:

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'menu_icon' => get_template_directory_uri() . '/images/iconbacourse.png',
        'rewrite' => array('slug' => 'new-slug'),
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title','editor','thumbnail')
      );

    register_post_type( 'myposttype' , $args );

This should mean posts that were at /old-slug/page-name are now at /new-slug/page-name

Doing this, meant the old Urls were redirecting to the correct location, but I was getting a 404! The solution was upsettingly simple, go in to WP Admin, Settings, Permalinks and re-save your permalink structure.

Hope this might help someone, and happy WordPressing in 2012 ;)

WordPress Versions – Staying up to date!

by Tom H. Filed under: Technology

Anyone that has run a copy of WordPress for any period of time will appreciate the need to keep it up to date with the latest version.

It’s a fantastic product but is always being improved and hasn’t historically had the best track record for security.

To help us out with this problem, we’ve just built a widget for the fantasitc http://geckoboard.com/ that will allow us to see, at a glance, which of the WordPress sites we manage that need updating.

Check it out:

It shows us each of our sites, the current version of WordPress and the website URL.

Using the SVN tags from the WordPress source control, we also grab the current release version number of WordPress so we can compare it to the version each site is running to colour the output. Versions that are behind get output in red so we can’t miss them!

The plan, when we plug in a few other key bits of info from around the company, will be to have this mounted permanently in the office on a nice big telly.

Enhanced by Zemanta