The Canalplan Plugin : Configuration Part One

In which we cover the various menus that the plugin has and what each one does. We also cover the initial configuration and general settings for the plugin. Future posts will cover more of the configuration and how to use the route importing features.

It’s time for the second post about the Canalplan Plugin for WordPress. The first post covered the way you can use the plugin short codes to embed links to Canalplan Gazetteer entries and Canalplan maps into your posts and gave a basic introductions to some of the features of the plugin.

This one will cover the general configuration of the plugin so its probably going to be a little boring in places but hopefully not too much.


Once the plugin has been downloaded and activated you should see a new menu in the WordPress Admin menu – this menu (CanalPlan AC) has a set of submenus which allow you to set up various parts of the plugin :

General Options
This sets up various general options for the Canalplan plugin such as the Distance Format and your Canalplan AC link code

Home Mooring
This allows you to set your home mooring location and give it a customised name

Favourite Locations
This allows you to set up some favourite locations and give them customised names.

Google Map Options
This allows you to set up the various options to do with how Google Maps are displayed.

Diagnostics / Version Information
Provides information and diagnostics – You’ll need to refer to this page if you’ve got problems.

I’ve actually skipped three sub menus because they’re associated with interaction with Canalplan AC at a much deeper level which will be covered in a subsequent post :

Import a route from CanalPlan AC
This is the starting point for importing a route from Canalplan AC and creating a set of blog posts for the imported route

Manage Imported Routes
Once you’ve imported a route you might need to make adjustments to the daily totals – this page allows you to do that

Bulk Link Notifier
During normal use the Canalplan AC website will learn about links from you blog back to it’s gazetteer. However if you’ve just added a set of posts you might want to let Canalplan AC know about all the links.

Now we can get onto each of the sub menus in detail :

General Options

This page contains a few things that really need to be set up before you can use the Canalplan Plugin in any meaningful way.

Canalplan Data

Before you can do anything with the Canalplan Plugin you need to get a copy of some data from the live Canalplan AC website. When the plugin is first installed there is no data there and you will be presented with the folowing screen:

Click on the Get Data button and wait a few minutes…. The plugin needs to go to the Canalplan website and pull down a subset of its database. The download is approx 1.8MB (the main Canalplan database is 225MB) so hopefully it shouldn’t take too long. One thing that is very important to remember is that the data pulled down by the plugin can be up to 24 hours old as it is built once a day from the live database so if you’ve just added a place it wont appear in your plugin if you immediately refresh the data.

Once the data has downloaded the screen will refresh and you’ll be presented with the following:

Notice that there is no button to allow you to download the data again. The plugin will not display the download button until at least 24 hours have passed at which time it will display it again.. the following screen shot is from a system that had not updated its Canalplan data for quite some time:

At the moment the plugin doesn’t automatically run an update on a fixed schedule but its something that I might look at adding if there is enough demand.

Note for Networked blog users : As the plugin only uses 1 set of tables per network then any blog that runs a data update for their blog actually runs the data update for all the blogs in the network.

Distance Format

Traditionally canal distances are measured in Miles and Furlongs but rather than force that on everyone the plugin allows you to set the default measurement unit that is used when the plugin is displaying distances as part of its trip blogging features :

The distance formats supported are:

  • Decimal Kilometres (3.8 kilometres)
  • Kilometres and Metres (3 kilometres and 798 metres)
  • Decimal miles (2.3 miles)
  • Miles and Yards (2 miles and 634 yards)
  • Miles and Furlongs (2 miles , 2 ¾ flg)

It is possible to change the distance format on a route by route basis so if you usually blogged about trips in the UK but then wanted to blog about a trip in France then you could change the distance format for that specific set of blog posts.

Canalplan Key

One of the features of the Canalplan plugin is its deep linking between your blog and the Canalplan Website. This is done silently in the background and involves using a Key to uniquely identify links from your site. This option shows you what your current key is, the blog url and the title of the blog it is associated with. If you have not previously set the key then the Plugin goes out to Canalplan and negotiates a key and prompts you to save it:

Once you have done that then the key is valid until you need to change it:

If you change your blog URL or title, or if you need to change your key for other reasons, then you can click on the Reset Canalplan Key and a new key will be issued to you

Note for Networked blog users : The key is unique to your blog so each blog in a network has its own key.

Route Page Slug

This is, as with the distance format option, related to the route blogging features of the Canalplan plugin. If you don’t intend to use the route blogging features of the plugin then you don’t need to worry about this.

The idea is that you have a single page in your blog which contains links to each of the trips you’ve blogged, and each of those trips contains a link to the individual posts for that trip. For this to work you need to have a specific page set up for this, and this option allows you to set what that page should be. In single blog (i.e non networked) mode this page slug is not initially set:

Once you’ve set a page slug the plugin will tell you what page it expects to find :

In the above example we’ve set the trips page slug to be trips.. so we would need to make sure that the page existed and that it contains the text {BLOGGEDROUTES}

Note for Networked blog users : To allow the “root” blog in a network to have a single page to display all the trips that have been blogged about in the network the slug is set centrally by the network administrator so you will not get the option to change it in your blog. Instead this option will display something like:

In the next post we’ll cover the next steps you need to carry out to get the most out of the Canalplan Plugin for simple blogging. Using the Trip importer and the route blogging features will be covered in its own post.


Here are the bug fixes and enhancements for Version

  • Extended that to all the SQL command interface, since it seemed to be working for that, but still getting problems elsewhere
  • And to the SQL database open as well
  • Added code to check database integrity. Started adding places for which I had photos but no places.
  • Prevented the “moderator’s” box for adding places from emails displaying for everybody else (as I’d always intended)
  • Started work on code to let places be added breaking lock flights
  • Input page for places that break the lock flight added – nice new slider added for splitting locks
  • Logon status added to new place page
  • Fixed a bug in the SQL locking code from Monday
  • The “moderators” box thing didn’t work – made it hard wired to me instead, as I’m the only person ever likely to do it
  • All updates are now executed as single transactions, so will be rolled back if they fail leaving the database consistent


Here are the bug fixes and enhancements for Version

  • Place with odd punctuation don’t break in “add a place” – failing to show anywhere else
  • Local end doesn’t fail when multiple changes affect the same bit of waterway (distinction between version in database and version in memory)
  • Added some random sleeping to the SQL code to prevent failing with database busy at the drop of a hat