In Love With TXP

Posted: 15 August 2009
One of the key decisions any designer has to make at some point is their CMS. Some choose Wordpress, some swear by ExpressionEngine and others prefer Moveable Type. Like every warrior that has a weapon of choice, designers choose to perfect their knowledge of atleast one. This is the tale of my experience with the publishing juggernaut called Textpattern.
Okay, so I crossed the line with the theatricality there. But seriously speaking, with just so many CMSs out there, and newer ones being created every year; we're spoilt for choice. When I was deciding what CMS to learn, I Googled a lot. I didn't want anything specific for my first CMS, rather I wanted something very flexible and versatile. I was basically looking for anything that would help decide: magazine articles, personal experiences and the like. One CMS that initially caught my attention was ExpressionEngine (EE), because of its inherent flexibility. 

But, then I happened to chance across Jon Hicks' article about Textpattern (TXP). In the article, he wrote of how he tried both TXP and EE, but couldn't help coming back to TXP. As the man who designed the Firefox logo, he's one of the designers I greatly admire, so I had to try out TXP. So I headed over to Open Source CMS and took it for a test drive. And it felt like second skin. Every subsequent article I read about Textpattern gave me good vibes: I read the Design Reviver article, an article on Digital Web and many more.  So Textpattern it was. And I haven't looked back since.

Addicted

Though I've been using TXP for only 2 months now, I can already feel like it's an addiction I won't be able to let go of any time soon. So without further ado, allow me to tell you just why.
 
The Keyword Is Versatility
The thing I love most about Textpattern is its inherent versatility. You can make all kinds of stuff with it: corporate sites, blogs, galleries, e-commerce sites, etc. This is because it is primarily a CMS. So what, you ask? Well, for starters; Wordpress, Moveable Type and many others aren't exactly CMSs. Wordpress, for example, is primarily a blog-centric publishing platform, which can also be used as a CMS. On the other hand, Textpattern and ExpressionEngine are CMSs first, which can be moulded to provide blogging fuctionality. Note the difference. So if you are making a site (not just a blog) like me, you would know that Wordpress wouldn't exactly fit the bill (though it is fully capable). This was the main reason I decided to make the switch: I had much more going on here than just a blog.
 
Extreme Customisation
Another feature of TXP found in only a few others is the ability to customize form and functionality at an almost microscopic level. The granularity of detail that can be explicitly specified provides exciting prospects for designers. In short, nothing is fixed. Everything can be customized.

Markup Madness
Forming the basis of TXP's functionality are the Textpattern tags, which for me are the sexiest thing about TXP. Almost every aspect of TXP's functionality is encapsulated by one tag or another. These tags all begin with "txp"; for example, the body of an article would be represented as <txp:body />, while the article's permlink as <txp:permlink />. They are in the same vein as XHTML tags, some even have attributes; making them easy to remember.

What The Sceptics Say

Nothing is perfect. While researching about TXP, I also read experiences of a lot of users about how TXP isn't as it seems. These are some of the most common complaints:
 
Steep Learning Curve
The number one problem with users is that TXP has a steep learning curve; and that is probably the reason why most folks don't use it. And now (in retrospect) I have to admit: it's true. A lot of folks said that the concept of sections, categories, forms and pages was just too much to swallow. Well, I have to say that it does take time to get accustomed to TXP's semantic model; but believe me, once you get past that stage, there is nothing you will not be able to achieve with it.

Too Many Options
One man's meat is another's poison, so not everyone appreciates the ability to customize every aspect of the site. Or in other words, you should have a level of expertise in XHTML/CSS, else using TXP would be much more difficult. As a result, TXP is still mostly used by designers.
 
TXP Is Ugly
Another point people have against TXP is that not only does it lack features but is ugly as well. In my opinion, yes, TXP's admin panel is nowhere close to Wordpress' dashboard; and the default admin theme is well, not very good looking. But what TXP doesn't have built-in, it compensates through plugins. Yup, TXP indeed has a kickawesome plugin architecture that can be used to achieve everything from RSS feeds to full page caching. There are also admin skins that have been developed by the good people in the TXP community. See the screenshots below.

Getting Dirty: A Few Snapshots

The version of TXP I have used for mesonprojekt.com v1 is 4.0.8, the current stable release. However, the newer version 4.2 has already been unleashed as RC1. Though it looks promising, it will be some time before I upgrade to it on this site. Thus, all content in this article from here on pertains to version 4.0.8.
 
Look And Feel
Now back to the story. Having made up my mind about TXP, I decided it was time to get busy. I set up a local server on my PC at home using XAMPP, as recommended in Textpattern Solutions. Then I installed Textpattern and was done within minutes. The first thing I did was install the hak_tinymce plugin and the smallmarine2 admin theme by David Desandro. So this is what my control panel presently looks like.
 
Textpattern 4.0.8 admin

As you can see in the top left corner, I modified the CSS file to display "mesonprojekt + textpattern". Not much, but it suffices, atleast for now.The control panel is very minimal, and not overly complicated like Joomla or EE. It packs quite a mean punch under the surface though.

The TXP Semantic Model
TXP's semantic model made complete sense to me. The concept of sections, categories, pages, forms, etc is a bit difficult to comprehend in the beginning, but the official book explains it very well: I had no problems at all. I created the main sections of the site: portfolio, blog, showcase, about and contact, and created pages for each of them. You can even create pages for error conditions like 404, etc. Try typing an invalid URL and see my 404 page. The form, which (in TXP) basically allows a piece of code to be used repeatedly, is one feature I couldn't stop using. I used many article forms as well as misc type forms for the header, footer and other static code segments.

Template Integration With TXP
One feature I consider critical in a CMS is how easy (convenient) it is to integrate a custom XHTML-CSS template with the underlying CMS engine. I won't go on about how simple this is to do with TXP, rather I present here a piece of code from one of my forms, for the benefit of those curious:
 
<div class="panel">
<h2><txp:permlink><txp:title /></txp:permlink></h2>
<h6><span>Posted: </span><txp:posted /></h6>

<txp:if_excerpt>
<span class="excerpt"><txp:excerpt /></span><br />
</txp:if_excerpt />

<txp:body />
</div>
 
As you can see, the code is very clean. The tags are pretty self-explanatory, and fuse seamlessly with the containing markup.
 
Importing Articles
Next, I imported all my articles from my old Wordpress blog to TXP. This was also done easily via TXP's Import functionality, which currently allows you to import articles from Wordpress, b2, Blogger and Moveable Type. I then created the categories and assigned sections to the articles.
 
 Importing older articles from Wordpress

Plugins
For those of you who want to know what plugins I used, here is the list. They are all available at textpattern.org/plugins.
asy_jpcache, cbs_gravatar, chh_if_data, hak_tinymce, jnm_comments_reply, mdn_count, mem_akismet, rah_metas, rss_admin_show_adv_opts, rss_suparchive, smd_if, smd_query, smd_where_used, wdm_update_url, wet_haystack, wet_link, wet_parachute, yab_image, zem_contact_lang, zem_contact_reborn
 
There's just so much going on that I could go on rambling about, but in the interest of brevity, I have discussed only the highlights. That would be all. If you want to know how I did something, or if I left something out, please leave a comment.

Comments

There are 2 comments for this article. Comments are now closed.

Michiel Destoop said:
01 September 2009
06:24

You’ve called it a steep learning curve. But what you’ve accomplished in just two months is great.

Karl Francisco Fernandes said:
01 September 2009
06:40

@Michiel: Thank you, well the only thing I really had trouble comprehending during the two months was the TXP semantic model. But the book explains it very well: piece of cake.