Expression Engine Followup

March 3rd, 2015 — 9:44am

Over the last few months, I’ve been working on a rather large project in Expression Engine.  This is a reflection on some of the lessons learned from that experience.

First of all, Expression Engine is meant to be a full fledged content management system and platform for custom functionality.  It allows creation of custom fields, and robust templating on the front end.

As with many CMS’s, there’s a steep learning curve for the programmers.  This included figuring out the best way to architect the use of templates, snippets, plugins, extensions, etc.  in a way that makes sense.  Figuring this out while learning EE was very difficult.  The parse order for templates was maddening to learn, along with all the nuances of the built in tags.  Due to the dynamic nature of the site, relatively little caching was used, so each page is pretty heavy with mysql queries.  Because EE has complex permissions, each template generates many database queries to figure out the final rendering.

In addition, most EE settings, including templates are stored by default in the database.  So it’s hard to track changes to the site using traditional methods (git or another version control system).  It also meant most editing was done in the Web GUI, rather than my preferred editor.

Another drawback is that database tables are all intermixed – so as a “channel” is added with custom fields, the channel data and fields are all mixed in with other channel data.  So, for example, you can’t pick out the “news” table of the database if some data needs to be imported or restored.

Expression Engine has a lot of plugins / extensions, but many are paid.  In our case, we spent maybe $100 on plugins to get the functionality we needed, but also programmed some custom add-ons that we needed.  EE also has a fee for the license if used on a commercial site, so that was a fee as well.

Overall, I see that EE can be a pretty useful CMS.  For this particular project, the functionality was perhaps a bit too dynamic and heavy for EE, though in the end we did make it work.  It did save us a lot of time by not having to build the admin backend.  For most sites, I expect EE would work fairly well, and I plan to use it again when appropriate.

Comments Off on Expression Engine Followup | Programming

Digging into Expression Engine

November 1st, 2014 — 7:20pm

Recently I started working on a rather large project using Expression Engine by Ellis Labs.  This is a CMS development system built on CodeIgniter, a php mvc framework.  At first impression, EE is very easy to use for creating data relationships (using channels and channel fields).  This facilitates building somewhat complex websites, managed through the admin interface.  It also has a robust user permission system, which makes it easy to grant access to various users.

Where EE requires a bit of a learning curve, is on the “front end” templating system.  Those looking for an easy way to throw in php code and get to work, will encounter some frustration.  Start by studying the “parsing order” of the templates, to understand how things work.  The good news is that you can add php in there to handle complex tasks, but it takes some understanding of how Expression Engine handles the template tags first.  After some study and experimenting, you can start getting things done.

EE relies heavily on modules and plugins, many of which cost money.  Overall, these can be savers and even added to the cost of Expression Engine itself, still worth the money.  However, I do wish a bit more was built into EE out of the box – sometimes it seems like relatively simple features require an add on.

One drawback to EE is the overhead required.  Even relatively simple tasks take 20+ mysql queries to build.  EE has a nice Profiler built in to see what queries are being executed.  You can cache templates to help with this overhead, but sometimes it’s laughable to see a simple task executing so many queries.

Overall, EE is a nice platform, and user friendly.  I’m sure I’ve just scratched the surface of it’s power and flexibility.  It does, however, feel almost like learning a new programming language.

Comments Off on Digging into Expression Engine | Activities, Programming, Projects

Live help for your site

August 27th, 2014 — 10:18am

On ecommerce sites especially, “Live help” or “Chat now” features are ubiquitous these days.  Does your site have one?

You have seen them, perhaps even used them.  The button that offers instant access to someone who can answer your questions.  What you may not realize, is that you can close more sales by having one.  I know this mostly from client anecdotes, and also from personal experience.  Sometimes a 1-2 minute chat is all it takes to answer the last questions a customer has before a purchase.  This is especially true if you sell expensive or hard-to-return items.

So, how do you implement this feature on your site?  Here are 3 options, that might work for you:

PHP Live Helper – this is a local solution – meaning, you install it and run it on your server, next to your existing shopping cart, etc.  The code is embedded in your site wherever you need it.  You pay a 1 time license fee (I’m a reseller here so if you want to save a little money, contact me before buying), with no monthly costs.  It requires php and mysql, as the name implies.

Zopim – This is a hosted solution, with a Free level, but a monthly recurring price that many sites would need.  It’s super easy to install and configure; you can be up and running quickly.

Ogg Chat – Another hosted chat – this one integrates to google talk, but has no free option.

There are more solutions out there, if you do some searching.  The prices and features vary widely, but all will help you connect with prospects at the exact time they would like some help.  Most have “push” request ability, which allows you to proactively ask a visitor if they need help.

Also, at least php Live Helper gives you realtime stats on users as they peruse your site – what page they are on, where they go next, and how long they stay there.  This can help you determine with visitors may need help.

Keep in mind, all these solutions require someone to be available to “man the phones” – at least a few hours a day.  If you are already at the computer most of the day, it’s an easy feature to keep in the background until someone requests help.

Comments Off on Live help for your site | E-commerce

Great Hosting experience

June 12th, 2014 — 1:06pm

I recently had to move a client site to a new provider.  I recommended LiquidWeb, because I’ve had great experience with them in the past.

For various reasons, the initial account I set up would not run the client’s code (he needed a specific older version of php, which not all their servers still supported).  I opened a ticket with LiquidWeb, and in short order, they migrated the site to a different server, and account type.  They even included the billing dept. in the loop, so that was taken care of as well (the new plan was cheaper, so it was actually a loss for them).

All told, I opened 4 tickets with them in a 24 hour period, and each time I got super fast responses.  All this on an account which costs $25 / month.

In my business I come in contact with a lot of different hosting support departments.  Often times I avoid dealing with support, because I know they won’t be much help.  With LiquidWeb, it’s the opposite.  I know they will always have quick answers and solutions to any problem that crops up.

Kudos, Liquid Web – another stellar experience!

Comments Off on Great Hosting experience | Web Maintenance

WordPress as a site platform

May 2nd, 2014 — 3:18pm

I’ve used WordPress over the years for various client sites, usually adding a blog onto an existing site.  In fact, my own site has a WordPress installation which I use for this blog.

While WordPress started out primarily for blogging, today it is much more.  The number of templates and plugins available for relatively low cost make WordPress a great starting point for new websites, or redesigns.  I recommend careful consideration of which plugins to use, but overall, the platform upgrades well, and is well supported.  Most of all, it is easy to use for clients.  Without a big learning curve, they can edit and add content to their websites.  Some advanced features and changes may still require a pro, but even then there’s an orderly framework for doing so.

I like that the software is written in php, and is portable should you need to change hosting providers.  There is also no shortage of consultants who know the platform and can help if you need it.

Comments Off on WordPress as a site platform | Wordpress

Back to top