We use interaction design & strategy to build awesome websites.

PHP Authentication of ExpressionEngine Users

In a recent project we were working on, we had the need for an external application to verify an account's credentials stored in an ExpressionEngine database. 

Normally, when approaching this type of problem we would take the username and password of the authenticating user, hash the password, and compare it against the database. Due to the sparse documentation on how the ExpressionEngine password hashing functionality works, and becuase the possible methods used to hash a password can vary (md5 or sha1, salt or no salt, etc.) between different member accounts (for example, after running a member import), we felt it wise not to manually hash the passwords.

Thankfully, after a...

Read full article

Dynamic Templating with Etsur Entigy

During development of our new website, the Etsur team came up with several awesome ideas we hadn’t seen before on an ExpressionEngine site. One of these ideas was to create dynamic, flexible layouts which could be easily managed by editing entries. We were able to make it happen using ExpressionEngine  version 2.1, Structure version 3, and a new (free) plugin we created, Etsur Entigy. Etsur Entigy allows you to grab the structure template assigned to an entry and output it.

Here is an example of the basic tag:

{exp:etsur_entigy entry_id='{entry_id}'}

What the preceding example does is output the template assigned to corresponding entry id. For example, on our website this might output something like...

Read full article

How To Use NSM Transplant For More Creative Control in ExpressionEngine

Controlling how clients include images in entries can sometimes be a challenge without limiting their ability to place images where they make the most sense within their content. Many clients do not have the necessary training to format images before plopping them into their entry. We've seen images that are 2000 pixels wide in containers that are limited to 600 pixels. In addition to cropping and resizing images to fit nicely within articles, sometimes sites require that certain images have other effects applied such as slick borders.

In the screencast, we demonstrate how we utilize a number of 3rd party add-ons for ExpressionEngine to put a strangle hold on controlling how...

Read full article