January 20, 2018

Book Review – CMS Made Simple Development Cookbook by Samuel Goldstein

PACKT Publishing recently released the book, CMS Made Simple Development Cookbook by Samuel Goldstein. The author states that the book “gets you started building feature-rich sites quickly, regardless of your experience level.” I might add that as long as your experience level isn’t that of beginner and as long as you a good familiarity with PHP, SQL and HTML the book may prove to be helpful. Beginners will be frustrated and therefore I would not recommend this book to them. Likewise, if you are a designer as opposed to a developer, this book is not for you because it is dealing with coding, not design, per se.

“Cookbook” style books generally provide targeted examples of features or methods you can add to extend the capabilities of an existing “thing” in this case the CMS, CMS Made Simple. By using recipes (code snippets) provided by the author, you are presumably able to add tags, user-defined tags and extensions to your installation of CMS Made Simple to give you functionality not present in the default installation. In my opinion, a recipe should  be able to stand on it’s own with minimal customization to be truly valuable. If you cannot simply paste in the code of a recipe to achieve immediate additional functionality, then the value of that recipe and in fact the entire book, is diminished. Thankfully you are able to obtain the code examples from the packtpub.com website after you register your book.

The books’ 10 chapters takes a good look at the various ways that CMS Made Simple allows a user to add capabilities. In Chapter 1, the author describes the differences between tags, user-defined tags and modules and in what circumstances you would choose one over the other.

Chapter 2 introduces the reader to Smarty, the templating engine that powers CMS Made Simple and various recipes are introduced to show you how to use Smarty variables to alter colors, do math in your stylesheet to enable you to change the layout of your site while retaining proportions and more. For instance you are shown how to embed JavaScript in your template (something that is generally discouraged) in a way that prevents Smarty from generating errors.

Chapter 3 dives into Tags and User-Defined Tags. Some of the recipes here show you how to add the ability to display a User’s IP address for a user-defined tag, display a stock price from Yahoo, or how to add a Registered Trademark symbol to a name automatically.

Chapter 4 is where you will learn about Modules. The file structure of a module is discussed then tips on how to create a framework for a new module are presented.  There is also discussion about a tie-in with Smarty that enables you to make the output of your module as flexible as the rest of the CMS system.

When you create a module that is intended to manage data, you will need to make decisions about how best to handle that in the database. If a module is deleted, do you want the corresponding data and tables in the database to be deleted? These and other  Database API questions are looked at in Chapters 5, 6 and 7.

Chapter 8 deals with Admin Panels and provides recipes that enable you to create an admin panel for a module, deal with permissions for the module’s administration, and much more.

Chapter 9 looks at handling and using Events. For instance,  if a user is searching for keywords on your site, you might want to know not only what keywords they searched for, but  how many results they got. A recipe for attaching a User-Defined Tag to an event is shown to accomplish something like that.

Chapter 10 presents tricks to help with additional module-related features and touches on some tSearch Engine Optimization tricks.

This is not easy stuff if you are not a developer or programmer. But assuming you have the skill set needed, the chapters provide a consistent and  good flow in the way that the material is presented. Although the book is written in a direct, no-nonesense style some of the recipies are not going to be too helpful to many people. The demonstration of building the recipes and discussion of the concepts involved should give the competent programmer all that he or she would need to get pointed in the right direction and should prove to be valuable.

CMS Made Simple Development Cookbook can be purchased from Amazon as well as from Packt Publishing.


  1. This book missed talking about Trunity CMS and other well know CMSs