Why AWC Uses ExpressionEngine: Part 2
Last week, we published the first of two articles centered around Why awc Uses ExpressionEngine. To continue that conversation, we wanted to focus on a few areas: the user interface, documentation, support, and last but not least, the really nerdy stuff.
ExpressionEngine Has a Clean User Interface
Given the complexity and degree of abstraction it takes to create a CMS as extensible as EE, it provides a clean user interface to manage the system. The menu is a good compromise that provides the user a large number of options without cluttering the interface. It’s easy to find the content you are looking for if you intend to make modifications. Content editing pages use a tabbed system to reduce clutter and the editing pages are customizable to the degree where admins can turn off certain fields that they don’t need to see as well as reorder the fields for certain groups of users. Other aspects, such as user administration or comment moderation, are intuitive.
Beyond setup and use EE manages to keep the admin console clean even as the site grows. Some systems start out with clean UI, but down the road, when there are hundreds or even thousands of pages in the system, EE still makes it easy to find the right content.
Once again EE errs on the side of extensibility with the admin interface. Beyond the fact that the entire control panel is themable, EE allows customizations to navigation add frequently used pages on a user by user basis. There is even an add-on system for adding “accessories” to the admin interface. These are small tabs across the bottom of the admin pages that pop up to show additional features or functionality.
ExpressionEngine Is Well Documented and Has Professional Support
ExpressionEngine is well documented for both the admin users and the developers. For the admin users it has clearly written documentation on how to do anything from the basic create / edit / delete functionality for the content itself to security and user management. For the developer the documentation contains every native module and how to use it. There is even a well written introduction into custom add-on development.
No system, especially one that is meant to be so flexible, is without its challenges. On the occasions in which a unique requirement arises and we want insight into the best way to fulfill that requirement, professional support has always been available. Forum support for EE has been exceptional. It’s not uncommon to see collaboration between paid support staff and fellow EE community members in the forums. 3rd party add-on support for EE has been equally extraordinary.
And Then there’s the Really Nerdy Stuff
Extensibility has been a running theme throughout this article and this section is no exception. allwebcafe as an agency doesn’t think of websites as technology but as tools that help overcome marketing challenges. Considering that while many of the marketing challenges are often made up of similar goals, each solution tends to be unique. To craft the best solution there are often one or more aspects of the project that require custom functionality which means custom programming of our own add-ons. This is one area in which we find EE truly unmatched.
EE is built on top of the open source MVC framework CodeIgniter (also developed and maintained by Ellis Labs). CodeIgniter is a powerful framework that reduces the amount of redundancy we programmers sometimes work with and helps us to develop considerably faster. In addition to the productivity gains we get from CI, we also get a consistent paradigm in which to work. This means that when developer B picks up where Developer A leaves off, there is already a solid understanding of what approach was taken during the development. Developer B spends a lot less time locating and reading code to gain an understanding of what was built before and gets to developing much faster.
Working with an Object Oriented Programming framework like CodeIgniter means that if a developer knows how to program with CI already, then building custom add-ons takes considerably less time. It also means that modifying existing add-ons is much faster. The fact that ultimately EE is built using OOP concepts means that the code that is produced is far more flexible and adaptable in the future.
In the end, with web design and development, there is no one size fits all CMS. Each project has its own needs which tend to evolve over time. To meet these needs we need a CMS that can evolve with the project. The CMS needs to be as helpful as it can be without becoming an obstacle when we need to do custom work. In our experience, ExpressionEngine’s flexibility and extensibility from the bottom up give us this ability better than any other CMS available.