
We began the development of ctctlabs.com with the understanding that a great Content Management System (CMS) would go a long way in helping us develop an attractive, content rich web presence with great ease and speed. With some high level requirements in hand, we set out to find the right CMS that met our organization’s needs.
We examined some of the usual suspects, such as Drupal, Wordpress, Joomla, and others for the right mix of features that met our base requirements. As we got deeper into our analysis one of the recurring problems we found was that changing the predefined layout of a website provided by these CMS systems was increasingly difficult and cumbersome. From a design perspective, to work within stringent layout constraints became a big problem when working within our own layout requirements. This is fortunately where ExpressionEngine (EE) stepped in and made a big difference.
For those not familiar with how a CMS works, typically a CMS will make it possible to insert content into a database using structured form fields. This content is then served to your visitors within a predefined layout. Some of the best systems also make it easy to alter the formatting and images of your website. This is excellent for writers and publishers looking to quickly deliver content to readers as well as organizations wanting to rapidly build and deploy content rich websites.
ExpressionEngine is made up of many powerful tools that enabled us to meet our goals. Some of the more notable aspects of EE are the Templating system and Expression Tags. By taking advantage of these features we were able to avoid stringent layout requirements altogether. Below is a brief explanation of how Templates and Expression Tags work:
An ExpressionEngine Template looks very much like a standard HTML page; however, Templates accept special Expression Tags that let you retrieve database content with incredible ease. Expression Tags reference different modules to determine where the source of your information is collected from. You can also place PHP within your Templates, making it possible to build dynamic capabilities not supported through Expression Tags.
Expression Tags are used within Templates to request information from your database. Behind each tag is a mix of SQL queries and PHP logic that gathers and serves content to your users. Expression Tags are instructions that can be dropped into an html page like simple markup.
A typical Expression Tag has 3 segments:
{exp : weblog : weblog-name}
{title}
{summary}
{body}
{/exp : weblog : weblog-name}
The ExpressionEngine system is different from other CMS systems in its implementation and design. Most CMS systems restrict your website to a cookie cutter layout with themes that seem to only mask their similarities. Unlike many other CMS systems, EE puts design and layout in your complete control. By understanding Expression Tags and how to effectively use them in your Templates, ExpressionEngine can go a very long way towards the development of a genuinely distinctive experience, fulfilling the creative and artistic vision of designers as well as the desire to rapidly publish content by editors.
This separation of concerns will allow Authors to concentrate solely on what they have to say, rather than what the system is doing. What’s more, the ability to collect and display simple bits of data from different weblogs through Expression Tags makes for a richer, more robust web website.
What are your thoughts about ExpressionEngine and other CMS systems? Are you a convert like me? Have you found a system that you think is better than EE? Share your thoughts and Experiences below.
* Please be aware that all comments are moderated.
Jordan | 9:56 AM May 6, 2010
I personally think expression engine is a horrible CMS when it comes to certain sites that have too much customization.
It becomes a templating #### for dynamic template embedding and switching.
For that, i’d much rather use wordpress or even code it myself. Expression Engine seems to be a waste of time, forcing me to code things in a longer, harder way than I would if I were doing it from scratch….
just my 2 cents.
labsAdmin | 12:03 PM May 6, 2010
Jordan, that’s exactly why I’m such a big fan of ExpressionEngine. I’m not against Wordpress, quite the opposite. The point of my post is NOT to highlight how easy it is to build templates (although Expression Tags make it extremely easy to interact with editorial content). From a programming standpoint, EE probably isn’t the right tool for a novice developer.
The draw to EE for me is that it enables us to build our site from scratch, writing every line of code ourselves, unrestricted by built in layouts and templates. This gives designers and developers complete control of the Templating system. So you are correct about building your website from scratch, because that’s exactly what EE lets you do.
When it comes to Wordpress’s Templating system, it’s a very cookie cutter approach to web design forcing designers and developers to rely on third party templates, themes ect. I guess it all depends on which angle you’re looking at it from, and how much you want your CMS to do for you.
Version | 8:53 PM December 12, 2010
When it comes to Wordpress’s Templating system, it’s a very cookie cutter approach to web design forcing designers and developers to rely on third party templates, themes ect
- Not true.
You can build your own templates and plugins from scratch. You can use exp type functions or ‘hooks’
eg. <?php echo the_permalink() ; ?>
the_title
the_content etc…
You can also add your own custom php functions. So basically there is no significant advantage using EE in this area.