Archive for the ‘Articles’ Category

New book on SilverStripe 2.4

May 20th, 2011 No comments


I’ve recently had the chance to read the latest SilverStripe book:

SilverStripe 2.4 – Module Extension, Themes, and Widgets: Beginner’s Guide

I found this book very well written and entertaining. The author does a great job highlighting the SilverStripe way of building websites, and a good book explaining a good CMS is a very enjoyable read. But let’s see the book contents in more detail.

We start with the first thing new users may wish to learn, that is customizing the layout of our website. To make the journey in SilverStripe land more interesting, the author lets us build a complete project, a bar website.

To customize the site layout we learn to know the standard BlackCandy theme, and the Silverstripe template engine that allows us to build our own themes.

The following chapter explains the MVC structure of SilverStripe. MVC, meaning Model – View – Controller, is a popular software architecture that cleanly separates the presentation, the control logic and the database in a software application. Armed with this knowledge, we learn how to build our first SilverStripe page, using the View and the Controller layers.

Next we learn the Model, that is accessing the database for storing and retrieving information, and extending the model to suit the needs of our site.

SilverStripe is very extensible, if we add widgets and short codes. We learn how to use them, and how to build ours if necessary. Along the road we also learn how the SilverStripe cache works, and how to use it to improve our site performance.

Modules are more complex and powerful extensions for our SilverStripe site, and again we learn how to use available modules and how to build our own. The book lets us build an image gallery module for our bar website, and package that module so it could be distributed independently.

Many SilverStripe modules are already available, and among them we can find modules to add blog, forum and e-commerce functionality to our site.

But our site won’t reach its full potential if we don’t add interactivity, so we need SilverStripe forms. We learn how to create and display a form, and how to get and process the user input. We can also add automatic client-side validation, or custom client-side validation using the jQuery Validation plugin.

Last but not least, we learn how to localize and internationalize our project. Now we can go forth and build great websites with SilverStripe!

Categories: Articles

MODx Web Development – Second Edition

April 18th, 2011 No comments

[MODx Web Development - Second Edition]

If you liked MODx Web Development, released by Packt on March 2009, you’ll also enjoy MODx Web Development – Second Edition, published on March 2011 and now available, see MODx Web Development – Second Edition.

This second edition offers a much needed update from MODx, covered in the first edition, to MODx Evolution 1.0.4.

The book is written for the novice MODx user, and offers a lot of screenshots, almost one per page. All these screenshots have been updated, and the new MODx terminology is now used (e.g. Documents are now Resources).

The book does not assume any prior knowledge of site development, and explains how to build a site with MODx using many step by step examples.

First come Resources and Containers (the basic elements of a MODx site) and templating (the way to style those elements according to our preferences and needs).

Then the author introduces the authentication and authorization of users, and explains Snippets, powerful tools to enhance our MODx site. Two important built-in snippets are presented: Ditto, which enables content aggregation (including tagging and feeds), and Wayfinder, which builds a variety of Resource lists, useful for instance to build navigation menus.

The final chapters are more interesting for advanced users: they discuss the PHx notation, ways to integrate forums or image galleries, and how to create snippets, plugins and modules.

Last but not least, a quick peek on the new MODx 2.0 is offered. We hope that will be the subject of the third book edition!

Categories: Articles

MODx Web Development

August 7th, 2009 No comments

[MODx Web Development]

In 2007 MODx won the “Most Promising Open Source CMS” Packt Award. A little more than one year later, the MODx Web Development book has been published, to fulfill the expectations of many interested readers.

MODx Web Development is the first book available on MODx, and will undoubtedly contribute to spread the knowledge of this emerging CMS. Once again, Packt Publishing does a great job promoting Open Source Software, and MODx especially deserves such a promotion.

But let’s have a look at the book itself. The author, Antano Solar John, is active in the field of consulting, education and training, and the intended audience of the book are readers new to MODx or less experienced with this platform. But even advanced MODx users will find something interesting, especially in the last chapters.

After explaining how to install MODx, the book proceeds to present Documents and Containers (the basic elements of a MODx site) and templating (the way to style those elements according to our preferences and needs).
Each concept is presented without assuming any prior knowledge of site development, with many step by step examples.

After the basics are covered, the author introduces more advanced features, like authentication and authorization of users. This chapter is available for all to read in Sample Chapter 5, and is a good sample of the clarity of the whole book.

Next comes the explanation of snippets, powerful tools to enhance our MODx site. Two important built-in snippets are presented: Ditto, which enables content aggregation (including tagging and feeds), and Wayfinder, which builds a variety of document lists, useful for instance to build navigation menus. Many more MODx snippets are available, whether in the MODx package or as a separate download, and we learn how to search for the snippets we need, and how to install and use them.

The last chapters put the finishing touch on our MODx learning journey, and are probably more interesting for advanced users, since they discuss the PHx notation, ways to integrate forums or image galleries, and finally creating snippets, plugins and modules. Search Engine Optimization and Security are also covered.

Conclusions? Well, given the clarity of MODx Web Development and the features of MODx I’m really thinking about developing a MODx site myself!

Categories: Articles

Learning Drupal 6

September 7th, 2008 No comments

[Learning Drupal 6]

If you are going to build a website for the first time, and you wish to use Drupal, a good book like Building powerful and robust websites with Drupal 6 is an invaluable help.

This new book, written by David Mercer and published by Packt, walks you through the many steps required to successfully build your Drupal website, from setup of a development environment to deployment and management of the final public site.

You start installing Drupal with Apache, PHP and MySQL on a test machine, so you can work offline while you experiment with Drupal and develop your site; then you become familiar with Drupal basics (Modules, Blocks, Menus) and start adding functionality to your site.

Almost without realizing it, you are absorbing the Drupal fundamentals, and you start to appreciate the power and flexibility of Drupal that otherwise could scare a new user away.

Next you go on configuring your site: the topics of clean URLs, error reporting, file and image management are clearly explained and put into practice. A new chapter is then devoted to understand the Drupal access control mechanism, with Roles and Permissions, Access Rules, and general User Account administration.

But, what about adding content? Don’t worry, you are now ready for that, and the author offers you two whole chapters, Basic Content and Advanced Content, to let you become familiar with Drupal content types and content related modules, like Aggregator and Book, Taxonomy and CCK (Content Construction Kit).

As you can see, the author consistently provides the reader with an easy path to climb the Drupal learning curve, carefully organizing the progression of topics and alternating bits of theory with examples and practice.

To complete the journey, the next chapter is devoted to Drupal themes, probably the most creative part of building your new site.

In conclusion, this book is a great resource for beginners, but also intermediate Drupal users won’t be disappointed, as the book covers topics like the Content Construction Kit, Actions and Triggers, and even jQuery. In the words of Dries Buytaert: “Reading this book won’t make you a Drupal expert, but it will give you a solid base from which to build.

For additional information, you can read the page Building Powerful and Robust Websites with Drupal 6 on the publisher’s website.

Categories: Articles

CMS or Web Application Framework?

March 24th, 2008 No comments

What’s the difference between a successful CMS and a Web Application Framework? Not a big one, I think, for the reasons I’m going to explain in this post.

Let’s start with the definitions. A content management system (CMS) is a web application used to manage and deliver the content of a web site. A web application framework, on the other hand, is a reusable set of code libraries and tools designed to support the development of web applications.

So one might think that a CMS could, or could not, be developed using a framework, and that’s perfectly true, but it’s only part of the whole story.

Things start to get more interesting when we look at a cornerstone feature of successful content management systems, that is their ease of customization and extension. Very often designers and developers need to tailor their CMS, so they tend to prefer those exposing a clear structure and a documented API, in much the same way as an application framework.

The resulting system could well be a content management framework that, out of the box, behaves like a blog platform or a basic CMS but, under the hood, retains the full capabilities of a framework ready to be used.

Real life examples abound. Many systems already advertise themselves as being a content management framework, rather than simply a CMS, from Drupal to PostNuke to eZ publish to SilverStripe to Joomla! to MODx. Even blog platforms, like b2evolution, offer an embedded framework for their users to build upon.

The next logical step is a CMS built using an independently available application framework; both systems, the CMS and the framework, would greatly benefit from the sinergy and the added visibility. Today Plone is probably the only CMS built upon an independent framework (Zope CMF), but that is changing.

A few months ago the Mambo team announced their decision to build Mambo 5.0 using the CakePHP framework. Lately Typo3 announced they are developing an independent framework, Flow3, to build their next 5.0 release. And EllisLab has just announced that ExpressionEngine 2.0 will be based on CodeIgniter, their application framework already available as an independent product.

In my opinion, this trend is going to accelerate, and the most successful Content Management Systems will be strongly tied to a successful Web Application Framework, in a mutually beneficial relationship, and to the best advantage of designers, developers, and final users.

Categories: Articles

Managing eZ publish projects

March 1st, 2008 No comments

[Managing eZ publish projects]

Are you responsible for the implementation and management of eZ publish projects, or are you building sites for medium to large clients? If your answer is yes, then this book will give you a better understanding of all the elements involved in eZ publish Content Management projects.

This is what we can read on the back cover of Managing eZ Publish Web Content Management Projects, and I think this is what we can actually get from this rather unusual book.

I say unusual because this is not a book to learn eZ publish, it’s a project management book for delivering eZ publish solutions. It’s also unusual because, while there are many project management books for software development projects, Content Management (CM) is still a young discipline, and no defined methodologies are currently available to cover the full scope of CM projects.

This book, published by Packt, is then an attempt to define a set of practices to help project managers deal with CM projects until suitable methodologies emerge. The author, Martin Bauer, is the Managing Director of designIT, an Australian based CM specialist practice, and has ten years experience in web development and web based content management.

You can find a general description of this book contents on the publisher’s site (Managing eZ Publish Web Content Management Projects), so I am not going to duplicate that information here. I prefer to report my own experience while going through the information packed chapters of this book.

I might group the thirteen chapters, according to their content, in:

a) Chapters mostly related to software development projects in general, containing sound advice for both “traditional” and CM projects: chapters 4, 7, 8, 9 and 12 fall in this category, covering Project Definition, Planning and Pricing, Risk Management, Open Project Management, and User Training;

b) A chapter mostly related to the eZ publish Content Management System (CMS), giving an overview of this powerful CMS: chapter 3 explains Content Classes, Nodes and Locations, Sections, Templates, Access Control, Workflow and Extensions;

c) Chapters mostly related to content management projects, containing specific practices tailored to this young discipline, like chapters 1, 2, 5, 6, 10, 11 and 13, covering Content Modeling, Implementation, Testing and Support of eZ publish sites.

I enjoyed reading the whole book, but the chapters in the last group are the ones I like the best, because they bring so many insights into the fascinating world of content management projects.

Categories: Articles

sNews 1.6 review

December 30th, 2007 No comments


sNews 1.6 is the current version of a single file, template independent, PHP and MySQL powered, standards compliant CMS written by Solucija and released under a Creative Commons License.

This article is a short review of sNews 1.6, covering Installation, The Administration Page, Adding and Managing Content, and sNews Themes.

=> Installation

sNews requires PHP, MySQL and Apache with mod_rewrite enabled. The installation archive contains five files:

* snews.php: the sNews CMS code;
* .htaccess: the Apache settings file;
* readme.html: the installation instructions;
* index.php: the default template;
* style.css: the default stylesheet.

After we unpack the installation archive and follow the installation instructions in readme.html (setup the database, edit settings, upload files) we can browse to our site home page, where we are presented with a clean default layout.

=> The Administration Page

To add content, we need to log in. The first time we have to use the default account (username = test, password = test) but we must change that as soon as possible for obvious security reasons.

After logging in, we find a clean and simple administration page, with a first panel to add and manage content (Categories, Articles, Extra contents and Pages) and a second panel to edit settings and upload files.

To change our username and password, we go to Settings, where the last panel allows us to do just that. The other panels are about basic Settings (e.g. Website Title), Contact info, Time and Locale settings, Contents settings (e.g. how many articles per page) and Comments settings.

=> Adding and Managing Content

sNews handles different types of content.

Articles: content for display in the Home page or other Category pages;
Pages: content for display in independent pages;
Extra: content for display in other locations on our pages.

Articles are the most usual form of content and, by default, they are displayed on the Home page in reverse order. Each Article could be assigned to a Category instead, and in this case the Article would display in its Category page (no longer in the Home page).

Articles usually include text and (X)HTML, but it’s possible to include PHP scripts as well. Articles can be commented, and comments can be moderated. Each Article has a SEF (Search Engine Friendly) permanent URL, which displays the Article on a page by itself when entered in a browser.

Pages are much like Articles. The only difference is that a Page content is never displayed in the Home page nor in any Category page, but always on an independent page by itself. Like Articles, Pages can include PHP scripts, can be commented, and have a SEF permanent URL.

Extra content is similar to Articles and Pages, but is displayed in a specific location, typically in a sidebar, on a page of our choice (Home page, Category page, or Page) or on them all. Extra content can include PHP scripts, but can’t be commented and doesn’t have a permanent URL.

=> sNews Themes

While it’s not possible to activate a new theme from the Administration page, it’s perfectly possible to do so manually. We just need to replace the index.php file with a new one; the new index.php will possibly reference a new style.css stylesheet and a few images, all contained in a subfolder of the sNews installation.

=> Conclusions

sNews offers many useful features in a surprisingly small package, less than 2000 lines of PHP code. Any (X)HTML / CSS website template can be easily converted for use with sNews, simply replacing the static content elements of the template with the sNews functions that generate the dynamic content.

So, whether you are a normal user, a developer, or a designer, you may find sNews interesting. Give it a try!

Categories: Articles

Interview with Coldstone of GreyMatter

November 10th, 2007 No comments


Coldstone, the current lead developer of GreyMatter, has been kind enough to take the time to answer a few questions by Here’s the full interview.

BW: Coldstone, thank you very much for your time. Would you please tell us a little about yourself, and your involvement with the GreyMatter project?

Coldstone: I began using GreyMatter around August of 2006. I had started to dig into the code and started going to, for answers and to help other people with some of the difficulties I ran into when using GM. I had been going to the forums for less than a month when the maintainer at the time had some issues and closed the forums for good.

I spent a few weeks seeing if they would come back and searching Google to see if anyone else had started a new home for GreyMatter. After talking to a few of the previous developers, as well as Noah Grey, I decided to start up a new forum for GreyMatter.

BW: GreyMatter is an established blog platform with a loyal audience. What are in your view the strong points of this platform, that could motivate new users to try it?

Coldstone: What attracted me initially was that GreyMatter didn’t require a database. I still feel this is one of its strongest selling points. I think databases are great and one of my goals was to make GreyMatter flexible enough to use either system (flat file or database). My own motivation is that I didn’t want to pay more to my webhost for a database, so I found GreyMatter to be a perfect fit.

After working on it, I feel that its template system is really the strongest point. It’s very flexible and it really gives the user a great deal of control over how their blog will appear. As development continues, I think the anti-spam features are becoming more useful to users.

BW: GreyMatter development has been very active again in the last twelve months. Could you tell us something about the recent improvements? And what can we expect from GreyMatter in the near future?

Coldstone: My driving goal in the last 12 months has been primarily to clean up the existing code. I do not want to dismiss the fine efforts of previous developers of Greymatter. There was simply a lot of copy and pasted code, that was leading to bugs in GreyMatter. Sometimes even something as simple as a misspelled word would cause a template rendering issue.

I think that by cleaning up the code, it will make it easier for future developers to extend GreyMatter. There have been several efforts in the past to completely redo GreyMatter and I think that’s a very ambitious goal. At the end of the day, GreyMatter works for users. By doing incremental changes over two years, I think we will have a very good program.

Additionally, the GreyMatter development team has also been looking at security and spam control enhancements, such as setting a limit to the amount of links that can be posted in a comment. New features in the works are an integrated RSS feature, tags, and a draft feature, that will give users more flexibility when composing entries.

BW: Is there anything else you wish to add for BW readers?

Coldstone: I feel lucky to have found GreyMatter as I enjoy using it, but I am very grateful to the community that continues to use and support GreyMatter. I would like to thank Pete Finnigan and Carlos Phelps, as they are the other part of the GreyMatter team. They have provided expertise that I lack on numerous occasions, as well as many other contributions.

I have tried to setup GreyMatter so that when I am no longer as active on the project, it will be easy for the next developer to step in and take the reins. As each developer steps down, it is always the community that steps up to keep GreyMatter going and I am grateful for the chance to be a part of that community.

BW: Coldstone, thank you again for the interview and all the best with GreyMatter and all your projects!

Categories: Articles

Interview with Philippe Archambault

September 11th, 2007 No comments


Frog is a very young but promising project, aiming to port Radiant CMS, a Ruby on Rails application, to the PHP world. Its project leader is Philippe Archambault, who has kindly agreed to a virtual interview with

BW: Philippe, thank you very much for your time. First, can you tell us a little about yourself?

PA: Hi Andrea! I’m a 25 years old freelancer from Canada. Before starting freelance, I worked at a Linux consulting company in Montreal for about 2 years. It is there that I gained expertise as a project manager and PHP/MySQL developer.

BW: When and why did you start the Frog project?

PA: I started this project for one reason, to port Radiant CMS to the PHP language. The first line of code was written in December 2006, and the first public beta was released in January 2007.

Now that I receive more and more emails about issues or feature requests for Frog, I realize that Frog is more used than I was thinking and this is why I am taking this project more seriously; but I’m still doing it for my own pleasure, when I have time and if I’m feeling for it.

BW: What advantages and features will Frog offer over the other systems currently available?

PA: First it’s the simplicity and the flexibility of the administration backend. The concept is really simple, with hierachical pages, flexible parts (body, sidebar, summary, …), flexible layout and a professional administration layout. To this, I have added a really simple file management that is also very easy to use.

Secondly it’s the easy customization and adaptation to user needs. The important thing is that you don’t need to learn a new template language. Frog lets you write PHP code anywhere in a page, and in general this is what almost any webmaster can do.

BW: What improvements can we expect in the next Frog release? Do you have an estimated 1.0 release date?

PA: Frog will have new core features like a caching system, more flexible user roles and permissions and maybe a skin mutation to make Frog more unique.

The 1.0 release will be ready next year, and I hope to celebrate the first Frog birthday, in January 2008, with all those core features in it.

BW: Is there anything else you wish to add for BlogsWeek readers?

PA: Thanks to all open source CMS (Typo3, WordPress, Joomla!, …) to let me know the importance of sharing knowledge. And thanks to all of you who use Frog and report issues on it, or just send me an email saying thanks. It’s all those little things that make me happy when I work on the Frog project, for myself and for the whole user community.

BW: Philippe, thank you for the interview and all the best for your projects!

Categories: Articles

DotClear themes

February 11th, 2007 No comments


DotClear offers a very convenient way to quickly change the design and layout of your site. New themes can be installed and activated from the Administration panel, so you don’t have to manually download an archive, unzip it, and upload the theme files to your site.

To install a new DotClear theme:

1. from the Administration panel, select Tools – Themes manager;
2. enter the URL, http or ftp, of the theme package file (theme package files have the extension .pkg.gz);
3. click the install button: the new theme will appear in the List of installed themes.

To activate an installed theme:

1. click “use this theme” for the theme you wish to activate.

Many DotClear themes are freely available over the Internet. A nice DotClear theme gallery is at Camping Clair de Lune, where you can find hundreds of themes, both for DotClear 1.2.x and DotClear 2.

A DotClear theme is essentially a small PHP application, named template.php, complemented by a CSS file. The task of template.php is to output the XHTML code for a specific page type (DotClear page types are the home page, the single post page, the category archive page, the monthly archive page, the search results page).

The DotClear core in turn provides the theme API, which allows template.php to perform basic functions like accessing posts and comments, building navigation, and determining the current page type.

In conclusion the DotClear theme system allows users to quickly change their site design and layout; and, being based on PHP, doesn’t require designers to learn a special templating language while allowing them great flexibility in building custom themes.

Categories: Articles