8 Essential Plugins for TextPattern

8 Essential Plugins for TextPattern

Textpattern is a free and open source content management system (CMS) that is powerful and easy to use. Its unique framework and workflow makes it easy for designers or software developers to quickly build dynamic, database driven websites.

Although Textpattern’s default installation provides a lot of useful features, it doesn’t try to be everything for everybody. Instead, it has an intelligent PHP based plugin system that allows programmers to write their own add-on code to enhance its functionality.

After using Textpattern extensively for personal and client websites, I was able to create the essential plugin list for Textpattern. This list contains what I consider to be the most important and useful third-party add-ons that don’t come with the default installation.

1. zem_contact_reborn — Form Emailer Plugin for Textpattern

For some reason, Textpattern doesn’t ship with a good form mailer. Thankfully, there’s zem_contact_reborn. It’s a feature rich form mailer that provides the following options:

  1. Arbitrary text fields can be specified, with min/max/required settings for validation.
  2. Email address validation, including a check for a valid MX record (Unix only).
  3. Safe escaping of input data.
  4. UTF-8 safe.
  5. Accessible form layout, including <label>, <legend> and <fieldset> tags.
  6. Various classes and ids to allow easy styling of all parts of the form.
  7. A separate language plug-in to enable easy localization.
  8. Spam prevention API (used by Tranquillo’s pap_contact_cleaner plugin).

2. SimplePie RSS Parser Plugin for Textpattern

Have you ever wanted to display a list of your most recently dugg websites from Digg? How about a list of recently listened to songs from Last.fm? The SimplePie Plugin for Textpattern makes parsing RSS feeds incredibly simple. Not only that, it caches the results to ensure your website remains snappy when people visit it. Its main features include:

  1. RSS 0.9x, 1.0, and 2.0
  2. Atom 0.3 and Atom 1.0
  3. A handful of namespaces including Dublin Core
  4. Function names that focus on the data you want to grab, regardless of the feed type
  5. Serialized caching system
  6. One-click subscribing to several online aggregators
  7. One-click bookmarking to several social bookmarking sites
  8. Embedded (or non-embedded — your choice) feed enclosures (Podcasting, Videocasting)
  9. Ultra-liberal Feed Locator (Auto-Discovery on crack)
  10. Image hotlink bypassing (just like the desktop aggregators)
  11. Support for 98 character sets
  12. Support for PHP 4.3.0+, 5.0.3+
  13. Reasonable support for non-well-formed feeds
  14. Automatically strips potentially dangerous tags and attributes
  15. Limited support for ad stripping from feeds.

3. hak_tinymce — tinyMCE Plugin for Textpattern

The default rich text editor (RTE) for textpattern isn’t so rich. It uses Textile, which is loved by some and hated by many. Since Textile lacks an intuitive interface — the user has to learn Textile markup — it can be difficult for many users to get used to. Fortunately, there’s a tinyMCE plugin called hak_tinymce.

hak_tinymce provides a true RTE that includes support for pasting from Microsoft Word and the ability to insert tables or raw HTML. Even better, it includes a feature that is usually a fee based add-on for tinyMCE — an insert/edit image tool that works perfectly with Textpattern.

4. md_versions — Article Version Control Plugin for Textpattern

Textpattern is a multiuser (multi-author) CMS. It allows the admin to create multiple users for the content of a website. One of the biggest problems with a multiuser CMS is that eventually one of the users will overwrite content they shouldn’t have. And in many cases, a user may edit and save changes to a page, only to regret the changes they made.

md_versions solves the dilemma of a multiuser environment. md_versions allows users to save (backup) multiple versions of any article. If the user ever needs to revert to an older version, they simply search for it and restore it.

5. asy_sitemap — Google Sitemap Plugin for Textpattern

As any good Webmaster knows, having a Google Sitemap is a prudent step to take for any website that they’re managing. A Google Sitemap allows Google to be aware of pages on a website that they may have missed during their bot crawl. asy_sitemap automates the process of creating a Google Sitemap. You can set the plugin to automatically update the sitemap anytime an article is edited and you can make the sitemap compressed with gzip to conserve bandwidth.

6. stw_category_tree — Category Hierarchy Plugin for Textpattern

In Textpattern, categories lack a very important feature, hierarchy. Hierarchy was left out on purpose, mostly for philosophical reasons by the creators of Textpattern. However, in some cases, that philosophical approach ends up limiting how a Web designer would like to display categories (usually for navigation menus).

stw_category_tree displays category links in a hierarchical structure, along with an optional content count. It also includes a few useful hiding and showing options.

7. etz_crumbs — Breadcrumb Navigation Plugin for Textpattern

Similar to categories, Textpattern’s breadcrumb function lacks some features and controls that Web designers desire. etz_crumbs is a navigational aid for bread crumbs and it allows you to control the following functionality:

  1. Show an item to “home”
  2. Display current section
  3. Use category 1 or 2 for crumbs
  4. Show the article title in the breadcrumbs
  5. Custom title for link to home
  6. Separator between sections and categories, etc.
  7. Expand nested categories

8. sgb_url_handler — Custom URL Scheme Plugin for Textpattern

One of my favorite things about Textpattern is how it handles URLs. In general, they’re clean and SEO friendly if you set them up correctly in the Preferences. However, in some cases, Textpattern can make it difficult to create the URL scheme that you want. sgb_url_handler offers a plethora of URL options.

It supports the following formats:

  1. example.com/section/id/title
  2. example.com/section/title
  3. example.com/section/category/title
  4. example.com/section/category
  5. example.com/section
  6. example.com/title
  7. example.com/id/title
  8. example.com/year/month/day/title (although this appears to be broken in RC3)

Additionally, this plugin supports the following trigger words:

  1. example.com/{section}/Section
  2. example.com/{category}/Category
  3. example.com/{author}/Author
  4. example.com/atom
  5. example.com/rss


  1. rss_admin_db_manager – Database Manager Plugin for Textpattern
Jon Henshaw
Co-Founder and President

Jon is the Co-founder and President of Raven Internet Marketing Tools.

Jon is the Co-founder and President of Raven Internet Marketing Tools.

  • Pingback: PHPDeveloper.org()

  • Matthew Wallace

    Even as a flash developer I always find projects the need Content Management. This looks really cool. Now all I need to do is build a Flex or flash front end for it! Yeah I wish I could find time to do that.

    Thanks for posting this Jon. Your blog is always very useful.


  • http://massappeal.net Aaron

    I’ve always thought of giving Textpattern a shot. Even though I’m not much of a programmer, this looks like a fairly easy tool to use.

    Thanks for posting these plugins… now I just may give this a shot.

  • Jon Henshaw

    Aaron, I had to build about 3 sites in Textpattern before I was able to truly grasp how to use it well. You may also want to grab that Textpattern book to provide you with a good intro on how to use it. I wish I had it when I first started, instead of having to learn the hard way — by trial and error.

  • http://sankt-georg.info/ Markus Merz

    I definitely would add (or exchange some):

    * *tru_tags* to make the most out of the keyword field.
    * *asy_jpcache* for full page caching
    * *rss_auto_excerpt* to create excerpts as you like it with many options. I use it i.e. to create my homepage (see link).

  • http://www.meiaweb.com Alessandro

    Very useful article, thank you.
    Just a question. I see that this plugin list was posted more than 2 years ago. Do you think it’s still valid or may be there are better choices now for some plugins?

  • Administrator

    @Alessandro it’s an old list and may still be good. But from our perspective, there’s really no reason to use Textpattern when you have WordPress, which I personally consider to be the best open source CMS available.

  • http://www.meiaweb.com Alessandro

    Thank you for your answer, Administrator.
    I know wordpress and I use it a lot for my projects. In its latest versions worpress has become a very powerful cms, with plenty of good plugins.
    Anyway, I still love the clean syntax, the great software design and the great flexibility of textpattern.
    May be it’s not for everyone, but with textpattern you reach a lot of different goals in a easy and clean way, it’s more flexible than worpress.