This is a part 1 of a port-to-Node of Robert C. Martin’s 8LU:Advanced Concepts in TDD (TDD = Test Driven Development) video presentation. What I’m aiming for is a thought-for-thought equivalent of his examples using Node instead of Java.

Semantic Versioning is a very popular versioning strategy for software packages that gives developers a strategy for coping with (as the SemVer site puts it) “dependency hell”. The version number holds information that helps us determine if and when it’s safe to upgrade. This is fine at the package level, where the sofware developer is effectively dealing directly with the warehouse. But does semantic versioning carry forward to use in “retail” software, that is, the software the we developers produce and provide to other people to use?

The first grunt file (Gruntfile.js) I ever looked at was a long, confusing, dogs-breakfast of code - at least in terms of what I’d been used to compared to XML based build configuration files like Phing or Ant (and admittedly I was brand new to Node). I fancy myself as a neat-and-tidy coder so this messy file continued to grate on my nerves project after project. One day, I decided to try a new approach.

This is the slide presentation I prepared for my “Node for PHP Developers” talk that I gave at CampJS IV.

Wiring up the model and rendering output

In Part 10, I looked at the design of the model class I used to handle the “data” for the application. In this tutorial I’m going to look at how I wired it all up to finally produce my changelog.

A model for the application

In Part 9, I looked at extending the Joomla Framework’s Github package. In this tutorial I’m going to look at a model for the command line application that will do the most of the data gathering “work” the application is supposed to do.

Joomla 3.2 introduces the ability to save a history of the changes made when editing an article. The following guide walks you through this new feature.