Because it is free, lightweight, easy to install or upgrade, is extremely flexible, is highly extensible, uses an easy-to-understand tag system and, above all, is very stable and secure. All things you might expect to find in a CMS or blogging application but oddly, don’t.

On my XAMPP install I have tried installing numerous applications. Most of them, when I log in to the admin and nose around for a bit, I think to myself “bugger this for a bunch of flightless ducks” and immediately delete the damn thing. ExpressionEngine (EE) and Symphony are the only two to get past the “nose around” though I’m not overly keen on EE’s admin (apparently a revamp is due so I’ll reserve judgement at this point) and I’m finding Symphony a little hard to “get into” as it’s tagging system is “different”. Never-the-less those two applications remain on my XAMPP install and I continue to tinker with them which sort of suggests that if you are looking for some decent software then by all means go look at them.

The only other application that I have seriously used in anger, that is “live”, is WordPress (WP) which I used on the bombsite for about 12 months prior to finding Textpattern (TXP). I left WP behind many moons ago for reasons I wrote about back then and quite frankly I wouldn’t touch it with a bargepole now. I’m surprised anybody still has the guts (or maybe stupidity) to use it. I continue to see, and it has historically been the case with WP, that there seems to be a rush to get new features added to the code, adding too much too quickly without adequate thorough testing by loads of testers. This kind of thing has been going on with WP for years now. There have been enough “security fix” releases to fill a sheet of foolscap. In fact a new release of WP without subsequent “security fix” releases would be a novelty.

Even now it seems that the new 2.6 version of WP slated for release in July is to have xmlrpc disabled by default. The reason given is to “protect the majority of blogs which don’t use these protocols against any possible security vulnerabilities”. Now that’s not to suggest that there is anything “insecure” about WP’s xmlrpc protocols and indeed, if you don’t need it why have it switched on, but I do think it displays a certain amount of paranoia on the part of the developers for WP’s security.

TXP’s xmlrpc facility has always been a “self-contained” entity, that is to say that TXP does not rely on xmlrpc being present to work properly. Up to now you needed to grab the xmlrpc folder separately but as of 4.0.7 it will be a part of the download file. In developing the xmlrpc protocols for TXP the developers have had security at the top of their list of priorities and development has definitely not been rushed so we feel perfectly safe having the protocols included in the download. Having said that, as it is “self-contained”, if you don’t require it there is no need to install it. I don’t but that is more to do with saving valuable server space than anything relating to security.

(For those that don’t know what is xmlrpc is it is the protocol that enables people to use “desktop blogging” applications.)

Textpattern 4.0.7

Having mentioned 4.0.7 I have to say that when it goes public it will, in my opinion, be the most significant release to-date. The bombsite uses the latest TXP revision via Subversion (SVN) which means that I am already trying this stuff out so apart from the inclusion of xmlrpc here are some major changes/additions:-

There is a completely overhauled tag parser. You will now be able to do things you only dreamt about or needed a plug-in for. Gone is the need for the fabulous asy_wondertag plug-in. “Tags-within-tags” is now fully supported so things like

<txp:if_section section='<txp:section />'><txp:else /></txp:if_section> or <txp:if_category category='<txp:category />'><txp:else /></txp:if_category>

will work out-of-the-box. In fact you can have “tags-within-tags-within-tags” to an unlimited depth if need be. It even works inside <txp:php></txp:php> tags!

Also, “nesting” the same tag within itself is now supported so you can have something like

<txp:if_section section="home"> blah blah <txp:else /> <txp:if_section section="code"> blah blah <txp:else /> <txp:if_section section="themes"> etc etc ad infinitum

You can find a more detailed explanation of the new tag parser here.

Brand new to TXP are the <txp:variable /> and <txp:if_variable> tags which allow you to store variables and then call them to your code when required. Combined with the new tag parser these make for almost infinite coding possibilities.

“Multiple edit” boxes have now been added to the Images, Files and Plugins tabs.

A new public-side event – “pretext-set” has been added to the code. This new event will allow plug-ins to override Preferences amongst other things. I’m currently using something on the bombsite which allows me to set “Disabled after” in my Preferences for comments to “Never”, which is great for my Code and Themes sections where I want comments to remain open but then I can override that Preference setting for this Articles section to disable comments after a specified period. Very useful!

What else do I like about Textpattern?

When I log in to TXP’s admin I’m taken straight to the “Write” tab (except under certain circumstances immediately after an upgrade). TXP assumes that what you want to do is write something which seems a fairly logical assumption that other applications seem to miss. They shove a bloody “dashboard” in front of you and worse still some of those dashboards include external links some of which can only be described as blatant advertising! Yes you can have a dashboard in TXP but it is a plug-in which means YOU make the decision whether to have one or not and YOU decide what information it includes.

It’s easy to navigate the admin even to the extent that there is a “drop-down” box enabling you to go straight from one sub-tab to another sub-tab without going through the main tabs.

Options are not hidden behind a load of other options.

The interface is clean and uncluttered.

I like being able to edit page and form templates and the CSS inside admin instead of having to get my text-editor out. Now there are those that prefer to use a text-editor and paste the new code into their templates and that is their choice but they might be interested in Designer Blue which I developed from Bert’s original TxPide.

The “Tag Builder” allows you to select a specific type of tag, add various attributes then click a button which creates the tag code for you. Just copy/paste it into your template. Having used TXP for 4 years now I rarely use this feature myself but it a great boon for newcomers.

I like it’s sheer flexibility which is unmatched by any other application.

The TXP download contains only “core code” and is small and compact. It contains all you need to publish on the net and no more. It does not contain loads of features that you are never going to use. If you need extra features you can generally find a plug-in purpose-made for the job and if you can’t you can always ask. This means that the code-base is never any larger than you need it to be.

The forum is phenomenal. You can ask almost any kind of question and get a quick response from a very friendly community.

Then there is the intangible “feel factor” which is almost impossible to explain but is something you just “get” with certain applications. I’m sure you know the feeling.

There is another, partly intangible thing. It’s transparent. I’ll try and explain that. When you are surfing other sites you can look at a site and say “that’s WP” or “that’s so-and-so” (I don’t want to sound like I’m picking on WP cuz I’m not, honest) without even looking at the source or the credits. Other applications just seem to do things in certain ways which are “visible” on-site. TXP doesn’t do this. It does things the way you want it to. It is “invisible” or “transparent” on-site. Unless it tells me in the credits somewhere I have to check the source to see if a site is TXP-driven.

So do I have any gripes with TXP?

Well yes actually, I have a couple but they don’t really affect me too much so can be considered as “minor” but I shall mention them anyway as others may find them more “major” considerations.

The admin design (not the layout) is not for me. I’m just not a “yellow” person I’m afraid. I do know enough PHP though to be a complete menace to society so I designed my own. You’re welcome to try it out and colours are easily modified from the admin “Style” tab for those of you that aren’t “blue” people.

There is no “Themes” facility where you can easily try out new themes or maybe have a multitude of themes that you can just swap around if the fancy takes you. There are a couple of plug-ins that make importing and exporting page, form and css templates a lot easier but this still doesn’t allow for having multiple themes. Now I do my own designing and stick to one design at a time so I have no need for this feature at all however there are those out there who just can’t be arsed to bother learning XHTML and CSS and simply want to install one of the many freely available styles for TXP. Whilst that is their right I would say that if you have taken the time and money to develop your own site I would have thought that learning the basic building-blocks of site design would be a natural step to take but who am I to quibble? Anyway TXP is not directly aimed at the fledgling blogger so whether there is any advance in this area in the future remains to be seen. Even if there is I suspect it will never be the code-hungry feature that comes with something like WP but then their target audience is different.

That is it for the “gripes” section I’m afraid. Not much for you to get your teeth into there.

All in all I am extremely happy with TXP and have been for 4 years which proves the point. I do not think about using anything else and it would take something really serious to make me. I would like to take this opportunity to thank all those who are or have been involved in it’s development for their hard and diligent work providing the finest CMS available. May it long continue.