Technology Tales

Notes drawn from experiences in consumer and enterprise technology

TOPIC: WORDPRESS

Another way to look through WordPress code

10th August 2008

At times in the past, I have complained about there not being sufficient documentation of the actual code used on WordPress itself. True, there is the venerable Codex, but that can be incomplete, and any extra help is always useful. Peter Westwood (a.k.a. westi) has generated documentation from the code itself and put it up on the web for all to peruse. While we are on the subject of information on the more advanced aspects of WordPress, blogs by Mark Jaquith and Andrew Ozz are also worth a look. As the cliché goes, every little helps...

Recursive FTP with the command line

6th August 2008

Here's a piece of Linux/UNIX shell scripting code that will do a recursive FTP refresh of a website for you:

lftp <<~/Tmp/log_file.tmp 2>>~/Tmp/log_file.tmp

open ${HOSTNAME}

user ${USER} ${PSSWD}

mirror -R -vvv "${REP_SRC}" "${REP_DEST}"

EndFTP

When my normal FTP scripting approach left me with a broken WordPress installation and an invalid ticket in the project's TRAC system that I had to close, I turned to looking for a more robust way of achieving the website updates and that's what led me to seek out the options available for FTP transfers that explicitly involve directory recursion. The key pieces in the code above are the use of lftp in place of ftp, my more usual tool for the job, and the invocation of the mirror command that comes with lftp. The -R switch ensures that file transfer is from local to remote (vice versa is the default) and -vvv turns on maximum verbosity, a very useful thing when you find that it takes longer than more usual means. It's all much slicker than writing your own script to do the back-work of ploughing through the directory structure and ensuring that the recursive transfers take place. Saying that, it is possible to have a one line variant of the above, but the way that I have set things up might be more familiar to users of ftp.

An alternative use for Woopra

4th August 2008

While the once a day reporting cycle of Google Analytics is all very fine, the availability of real time data does have its advantages. WordPress.com's Stats plugin goes some way to serving the need, only for Woopra to trump it in every way apart from a possible overkill in the amount of information that it makes available. The software remains extremely useful despite being in the beta phase and occasionally crashing.

One of its uses is seeing if there are people visiting your website at a time when you might be thinking of making a change like upgrading WordPress. Timing such activities to avoid a clash is a win-win situation: a better experience from your visitors and more reliable updates for you. After all, it's effortless to make a poor impression and an unreliable site will do that faster than anything else, so it's paramount that your visitors do not get on the receiving end of updates, even if they are all for the better.

WordPress plugin for removing post revisions from database

29th July 2008

WordPress 2.6 added post revisions as a new feature that is turned on by default. In an earlier post, I described how you could control this by editing wp-config.php and there are a number of plugins that purport to provide the same level of control through the administration screens. Even so, I decided to look at things from the housekeeping side of things and create my own plugin for clearing the database of revisions at one swoop. Currently, it takes out all revisions, but I am thinking of adding the facility for selecting which revision to keep and which to delete. It goes without saying that you should back up your database first in case anything might go wrong.

Download Remove Revisions 1.0

Controlling the post revision feature in WordPress 2.6

21st July 2008

While this may seem esoteric for some, I like to be in charge of the technology that I use. So, when Automattic included post revision retention to WordPress 2.6, I had my reservations about how much it would clutter my database with things that I didn't need. Thankfully, there is a way to control the feature, but you won't find the option in the administration screens (they seem to view this as an advanced setting and so don't want to be adding clutter to the interface for the sake of something that only a few might ever use); you have to edit wp-config.php yourself to add it. Here are the lines that can be added and the effects that they have:

Code: define('WP_POST_REVISIONS','0');

Effect: turns off post revision retention

Code: define('WP_POST_REVISIONS','-1');

Effect: turns it on (the default setting)

Code: define('WP_POST_REVISIONS','2');

Effect: only retains two previous versions of a post (the number can be whatever you want, so long as it's an integer with a value more than zero).

Update (2008-07-23):

There is now a plugin from Dion Hulse that does the above for you and more.

Technical considerations regarding the discussion aspect of blogging

18th July 2008

When making a start in the world of blogging, there are so many things to consider that you almost need a trial run first to learn the lingo. In fact, getting up to speed by using a service like that offered by Blogger or WordPress.com seems a very sensible starting point. Even so, the business is like building a house in that you only really know what you are doing after you have done the deed and made all the mistakes. That is particularly true when you go down the self-administered blog route. For starters, it's so easy to pick the wrong domain name or hosting provider. Selecting your blogging software is the next step, but that may not be so tricky; WordPress does a reasonable job and there's always Movable Type, Expression Engine, Drupal (yes, really) or Habari.

That mention of blogging software brings me to something that I encountered recently: commenting functionality. I am coming around to the idea that this is probably something that needs to be considered up front because of the nature of blogging. The Blog Herald's regular readers should understand blogging conversations; consequently, the technology must be easy for visitors to use and simple for bloggers to administer. However, the two can collide. For one thing, there are a myriad of choices available to the blogger, while the blight of comment spam is ever pervasive and growing.

When it comes to comment spam, it is best to realise that there are two sources of responses to a blog post: visitor comments or trackbacks (pingbacks?) from other blogs. As it happens, I reckon that the latter is probably the channel where most of the detritus travels, with various anti-spam solutions are on offer to curb its spread. Names from the WordPress world like Akismet, Spam Karma, Simple TrackBack Validation and Bad Behaviour come to mind. The former can also be used, particularly when the unscrupulous make use of low-cost labour in low-cost countries, and that's when the thorny questions of user registration and CAPTCHA's arise. There is something to be said for not going to extremes with these and just sticking with less onerous rules and filtering on the server side.

Admittedly, I have stumbled into forcing visitors to register before adding a comment and then making them log in thereafter. While I think that it's for security reasons, WordPress creates a password and then sends it to the person who is registering rather than displaying it on a web page. That can create another problem: what happens if the email fails to arrive? In the last week, this has happened with a visitor to my hillwalking blog.

There could be a number of reasons for the non-arrival of the relevant email. One is ironic: being an automated email, it gets stuck in the spam filters of the recipient's mailbox and so never gets to them. It could also be a bug with WordPress itself (I have raised a ticket, and I am awaiting what Automattic might have to say to it) or a consequence of some setting made by a hosting provider. All of that makes it challenging to track down the cause of the issue, yet it kicks off other thoughts as to its resolution. One is to remove the needed for registration and logging in the first place, but there are third-party services that may help too; the former has turned out to be the case for this place. Since it seems to be performing well enough, it is an acceptable option.

When it comes to using third-party comment handling systems, what needs to be considered is how well they work with your blog. For instance, I gave Disqus a quick whirl and soon realised that I needed to update the themes for my WordPress blogs if I were to use it on an ongoing basis. While it worked fine, I was left wondering if it would have been better to have brought it in when I started a blog rather than part way through and with comments made using the existing WordPress functionality. Intense Debate is another option, one of many if my hunch is right. The theme for my hillwalking blog has been modified to allow prospective commenters to get in touch with me if they are having problems. That is only an interim approach while I consider what the way forward will be.

New version of my Countrytones plugin

17th July 2008

Now that WordPress 2.6 is out, it is time to introduce a new version of Countrytones to the public. A few CSS tweaks have been needed to the original version after the changes that have been made to the administration interface for 2.6. Those screens still look largely the same with this release as they did before, but for the styling of things like the bubble that alerts you to the availability of plugin upgrades, among other things.

Download Countrytones 1.0.1

WordPress 2.6 out in the wild

15th July 2008

Though there was a time when I tested out a new WordPress release when it made its appearance, I now keep tabs on development versions too. It helps me to be ready in ample time and avoid any ugly stuff appearing on either here or my hillwalking blog. On the surface, the changes made don't seem so dramatic after the revamp of the administration interface that came with 2.5. Under the bonnet, many bugs have been fixed, and many behind-the-scenes features have been included for the first time. I'll leave it for you to go to Planet WordPress or check out the relevant entry on the WordPress Development blog. You'll find a Flash video tour of the latest version from Automattic below.

Of course, WordPress development doesn't stop here and there are some considerable changes to the administration interface to come at some point if they ever make out into the mainstream from the crazyhorse branch. I'll be continuing to keep an eye on how things go from here to be ready for whatever might be in the offing. For now, enjoy 2.6, though it'll be interesting to see where it all goes from here.

Some nice things coming through...

22nd May 2008

While everyone is making good use of WordPress 2.5.x, development continues apace for future releases of the popular blogging platform and there are some goodies coming through on the functionality front. Google Gears are being brought into play for speeding up the administration dashboard; this started out being more prominent before being made more unobtrusive. The other big change has been an overhaul of the theme gallery and, if the theme is compatible, an overview facility has been added too. So WordPress is being tweaked and improved in the background to make 2.6 an interesting release.

A spot of WordPress 2.5 administration panel colouration

23rd March 2008

Though the final release of WordPress 2.5 isn’t out yet, that hasn’t stopped me playing around with it and spotting a bug or two. Along the way, I have taken the chance to create a plugin that takes the old Earthtones palate into the new world. To accomplish this, I have taken the WordPress Classic stylesheet defining colours along with some template code from planetOzh and tweaked it accordingly. While I may not have got to every possible nook and cranny for colouration, I hope to have covered most of them. You may even find it useful yourself.

Countrytones Screenshot

Download Countrytones

  • The content, images, and materials on this website are protected by copyright law and may not be reproduced, distributed, transmitted, displayed, or published in any form without the prior written permission of the copyright holder. All trademarks, logos, and brand names mentioned on this website are the property of their respective owners. Unauthorised use or duplication of these materials may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties.

  • All comments on this website are moderated and should contribute meaningfully to the discussion. We welcome diverse viewpoints expressed respectfully, but reserve the right to remove any comments containing hate speech, profanity, personal attacks, spam, promotional content or other inappropriate material without notice. Please note that comment moderation may take up to 24 hours, and that repeatedly violating these guidelines may result in being banned from future participation.

  • By submitting a comment, you grant us the right to publish and edit it as needed, whilst retaining your ownership of the content. Your email address will never be published or shared, though it is required for moderation purposes.