Textpattern Solutions: PHP-Based Content Management Made Easy

Reviewed July 23rd, 2007 @ 02:27PM

[Book Cover] Textpattern Solutions: PHP-Based Content Management Made Easy

Textpattern Solutions: PHP-Based Content Management Made Easy by Kevin Potts, Robert Sable, and Nathan Smith (with Mary Fredborg and Cody Lindley, foreword by Jon Hicks) is a cohesive primer to getting started, working in, and managing the Textpattern CMS. If you are a PHP beginner and are looking for a CMS solution, then this is a great start. If you are an advanced PHP developer, then this is an excellent choice for a CMS. No matter what the skill level, Textpattern allows you to take full control of your website, whether it is a simple blog or an e-commerce application. Getting started with a CMS is never easy. You have to learn the CMS interface and it’s nuances including such things as templating and plugins. This book will walk you through all the steps necessary to effectively manage your site with the Textpattern CMS.

This book is broken down into 6 parts and 17 chapters. Let’s take a look at each part.

  1. Part 1 sets the foundation in getting started with Textpattern. This section will give you the basics and walk you through installing a local server using the popular XAMPP setup. They run through the process on both Microsoft Windows and Macintosh OSX platforms. After XAMPP is installed, you are walked through connecting the pieces to get Textpattern up and running. This includes downloading and installing the CMS and connecting it to your MySQL database.

  2. Part 2 continues with setting the foundation and introduces you to the Textpattern interface. Each chapter walks you through the administration panels and breaks down all of your options. These chapters are extremely thorough and leave no gaps in the administration panel and your available options. From site administration, basic content creation, and altering the look and feel—this chapter covers all of the bases necessary to work within the CMS.

  3. Now that a strong foundation has been set, it is time to dive in deeper and customize our installation of Textpattern to our needs. No two websites are the same, and each website has different needs and goals. Textpattern has a flexible setup that allows you to define the content areas, what they include, and where they should be included. A simple templating system that gives you the necessary defaults, but also allows you to extend beyond those defaults when necessary. These chapters also introduce you to the Textpattern Model which adds a content layer to the already known structural, presentational, and behavioural layers.

    Here is where we dive in and start getting our hands dirty. We start by creating the content needed for the site. This includes such things as categories, articles, and then comments. We step back and look at the big picture, then break each of these things into their own forms. This give us the freedom to re-use chunks of code throughout the rest of our site. We start putting the pieces of the puzzle together and connecting the content to our site structure. It is important to mention that each step of the process is covered extensively and the template tags are broken down to let you know all of your options.

  4. Moving to part four we get to take an in-depth look at the Textpattern plugin architecture. Sometimes we need to achieve custom tasks but don’t want to manipulate the core code. Plugins allow you to extend the Textpattern CMS and build in your own tags and functionality. We are first introduced to custom fields and how we can utilize them in our site. This extends the flexibility even further, as you are allowed to define the context through the use of these custom fields. For instance, if I were doing a website that focused on books I could create custom fields for author, price, publisher, and anything else related to the book. With just a few clicks you can utilize an array of plugins already available to the community or you can build your own. This section walks you through the process of doing both tasks. We get to see an in-depth tutorial on creating your own plugins from Rob Sable who is very experienced at creating plugins. Now that we have seen how to add custom fields, how to implement already existing plugins, and how to write our own plugins, it is time to put this all into practice.

  5. At this point you have covered virtually every aspect of Textpattern. Now it is time to take a look at some case studies. The first example is one of a multi-author website, Godbit.com. This is a website run by Nathan Smith, and has contributions of many others. Nathan walks you through the structure of the Godbit website, and how it allows multiple authors to add content and achieve only the tasks necessary to their role.

    Next we are presented with two different case studies: PopularWeddingFavors.com and Boise City Eats. The first is an e-commerce site and the second is a place to review local restaurants. It is important to note that each of these sites has a unique context and structure. These chapters show the true power of Textpattern: getting out of the way and giving you the control. You are not confined to specific types, nor do you have to shoehorn your content into something that it isn’t. You are in full control of developing your application no matter what the need.

  6. The last part of this book makes this a valuable desk reference: appendixes that walk you through a complete tag reference and plugin developer resource. This includes full coverage of all available tags and options, and some of the core code and functions that will allow you to effectively build your plugins. Both of these are invaluable as you work within the Textpattern CMS and should be an arms length away as you are developing.


If you are looking for a PHP-based CMS and don’t know where to get started, then Textpattern is worth a serious look and this book will guide you in the process. I have played with several other CMS’s that seemingly lock you into their context and options. Textpattern is more of a blend of a framework and CMS, allowing you to have full control as your website scales—no matter what the need.