I discovered ExpressionEngine (EE) back in 2007, and have since become a devoted user and a huge fan. In my humble opinion, it’s far and away the best content management system on the market.
Having worked with it for some time now, I’ve had a chance to work with a number of great extensions, which I’d like to share with you here. To fill out my list, I went through dozens of extensions I had not used, testing and then hand-picking my favorites.
Here they are, in no particular order:
Edit Tab AJAX takes advantage of the jQuery for the Control Panel extension (bundled with the latest versions of EE).
You’ll notice it at work on the “Edit” screen. Out-of-the-box EE requires you to first select a search criteria from one of the dropdown menus and then click “Search.” With the Edit Tab extension enabled, all you have to do is select an option from the dropdown menu and the results are loaded below, without a page refresh.
This might not seem like a big deal, but cutting out that extra page refresh on every search can save a bundle of time. The only downside: if you edit an entry, then click “back,” you’ll lose your initial search results.
One glaring limitation of EE’s custom fields is that you’re limited to a “one-to-one” comparison when relating entries.
For example, let’s say you have a “Featured Products” weblog, and you’d like to associate multiple products with a single “Featured Products” entry. Natively, you can’t — you’d have to create three separate weblog entries.
Enter Playa. Playa allows for a “one-to-many” comparison, so you can associate as many items as you want with a single weblog entry.
3. Redirect After Login
[[Update, 03.30.2011: The link to this extension is no longer good; the website appears to have just been updated!]]
This extension allows you to show or hide the default (read: ugly) login and logout screens, and to redirect your users to URLs of your choice after login and logout. This can come in very handy if you use EE to manage non-admin user accounts.
With this extension, you can easily redirect a user to his or her profile page after login.
I came across this extension while looking for a way to show one of our clients how much space was left in a given field. This extension (one of my favorites) allows you to limit the number of characters in any of your custom fields (input or text area, of course). You can even control the message that appears below each field.
One nice feature is that you can specify a “hard” count (i.e., you absolutely can’t go over the specified number of characters) or a “soft” count (i.e., you can go over the specified limit, but you’ll get a visual cue that you’ve done so):
The only downside is that this extension doesn’t work with WYSIWYG fields.
Gypsy eliminates the need to create custom field groups, and instead allows you to assign custom fields directly to whichever weblogs you choose.
It’s incredibly useful for those times you need to reuse custom fields. If you have just one custom field that is different between two weblogs, regular EE requires you to create two field groups and duplicate most of the custom fields for the second group.
With Gypsy, you only need to worry about the fields, not the groups.
6. Live Look
If you’ve ever wondered why EE includes a “Preview” feature, know that you were not alone. Live Look enables accurate, live previews of your weblog entries from within the control panel.
This extension is particularly valuable for clients, who appreciate seeing what their entries will actually look like before they go live.
[[UPDATE 5 May 09: Brandon Kelly recently released an updated version of LG Data Matrix called
FF Matrix FieldFrame. Unlike Data Matrix (which restricts you to certain field types), FF Matrix FieldFrame allows you to create custom field types. You can also easily convert your Data Matrix fields to FF Matrix fields.]]
This extension is a real life-saver, because it addresses a major shortcoming of EE: if you want to enter varying amounts of information for a custom field, you have to do one of two things:
- Create more custom fields
- Create a new weblog and set up a relationship
Let’s say you want to enter multiple tasks for a particular project. Normally, you’d set up a custom field named tasks and assign it to a weblog named projects. Then, you’d set the custom field to be a textarea, and enter all of your tasks in a big chunk.
But what if you want to associate more information with each task, like the date the task is due or to whom the task is assigned? If you’re like me, you hate “chunking” everything inside a textarea. It’s harder to format and rearrange data within a textarea, and it’s harder to read.
It would be nice if you could add and remove tasks without creating separate custom fields or an entirely separate “tasks” weblog.
That’s where LG Data Matrix comes in. With this extension, I can create a single “tasks” custom field, then create what are essentially sub-fields on the fly, as I need them.
Cloner is a neat extension that can come in handy if you ever need to duplicate an entry.
Anyone who has used EE knows that the built-in file upload functionality isn’t very user friendly. Mark Huot created File to make it easier to upload files using EE’s control panel.
File allows you to designate a custom field as a “File” type, which replaces the standard text input with a more user-friendly “Browse” button:
It would be nice if there were an upload button, since the extension requires you to quick save or submit before the files are uploaded. Otherwise, it’s stellar.
10. MD Add Sitename
I wanted to include Masuga Design’s Live Search extension here, but couldn’t get the latest version to work with my install. The screenshots and description alone had me sold.
This little extension is nonetheless very useful, especially for those developers who work with more than one EE site at a time. Once enabled, you will see the name of your site in the top left. Manipulating the font face, size, weight, color, and padding is a snap. You can also customize the site name if you don’t like the default.
Granted, the site name will be included in the forthcoming EE 2.0 release, but for the time being this is a good addition to your extensions arsenal.
Are there other EE extensions that you know and love? Feel free to share!