Published by Mijingo

Learn ExpressionEngine TodayAdvertise Here

Over a series of 8 videos, watch and learn as Ryan builds an entire ExpressionEngine website from beginning to end. Get started now.

blog icon image

How You’re Publishing with ExpressionEngine

Blog Entry

Here are the results of the poll I put up earlier this month. The idea behind the poll was to find out how many people are publishing with third party tools and how many just stick with the Control Panel.

The response rate was lower than what I had hoped for but the data still gives a glimpse at how people are publishing content to their ExpressionEngine sites.

The Results

I suspected that the majority publish their sites via the EE Control Panel and not with third party publishing tools like MarsEdit, Ecto, Textmate or even iExpression. My suspicions were proven true with the results.

As you can see, some do use external tools to publish content but their lack of support for mimicking the Control Panel publishing interface is surely whey they’re not more widely adopted. Additionally, with the introduction of customized publish layouts (no matter how fragile they still might be, 2 years later), developers and users of ExpressionEngine can now tailor their publish forms to be exactly what they need to them to be and therefore the entire Control Panel experience becomes more useful. This, perhaps, diminishes the need for another editor.

The biggest reason, of course, is that the web browser is cross platform. I can post content to my site from any computer or device with a web browser. Ultimately, this is the most flexible solution (and the most realistic if you’re building sites for clients).

However, the EE Control Panel still fails miserably on mobile devices (maybe one day EllisLab will create a responsive theme by default; until then, check out this one by Ben Croker) If you really need to post to your site from your iPhone, you should also check out iExpression, a native iOS app that lets you publish content to EE. For what it’s worth, the Control Panel works okay on the iPad if you just need to jump in for a quick tweak or edit. Anything beyond that will probably result in furstration.

Operating System

I asked for the primary operating system just to use it as a data point to measure the other results (like the use of MarsEdit, an OS X only application). Surprisingly, the usage of OS X among the respondants was almost 80% while the use of MarsEdit (any use at all in the past) was only 5%. That means even Mac users, despite such a great app like MarsEdit, are still favoring the Control Panel. That was surprising to me.

Why only the Control Panel?

The last question I asked in the survey was why the respondent preferred the Control Panel over other methods of publishing. I got a lot of responses that said they didn’t know about other offerings. Some felt that the Control Panel was the “easiest way” and “good enough.”

It’s readily available once EE is installed, and doesn’t require any extra configuration/development. It’s also the most “guaranteed to work” way to post content.

The ability of external editors to support fieldtypes also came up, like this one:

Full fieldtype support. No external editor supports fieldtypes like Matrix, Assets, Playa, etc.

and this one:

Why not? It’s a good overall experience with all the custom fieldtypes, publish page configurations, entry revisioning, etc. Keeping to just the Control Panel means I can jump on any system anywhere to post/edit content. Hooking up external sources is just another cost/hassle to install & keep up with as both platforms evolve.

This response addressed another tool I use but didn’t mention in the poll:

I actually use the control panel, but use QuickCursor to send any long content bits to my editor-of-choice, in this case MacVim. The reason I use the control panel is that in my experiences with other methods, it wasn’t always easy to get all the custom bits working properly when you go beyond just a simple blog. And now that I’m using the Structure plugin, I don’t think an external editor would be of much use to me at all.

I love QuickCursor and use it whenever I have to write something of length (like a message in Basecamp) in the web browser.

With publish layouts and Zoo Admin, I can quickly make a user-friendly workflow that’s easy to maintain.

I’ve used Zoo Admin and it is indeed a nice way to customize the CP for those who will be maintaining the site.

That was only a sampling of all of the responses but the general trend was that either people didn’t know about external editors or those that did thought it was just too much of hassle (or tradeoff ) to set one up. A few people even suggested I further cover external editors and how to use them. That sounds like a great idea, so look for something in the near future.

Thanks to everyone who participated in the survey!

blog icon image

Seeding EE with Sample Data

Blog Entry

On Twitter, Andy Harris asked about existing capabilities to seed sample data into EE:

I replied that I thought there was an add-on out there (apparently there’s not) and Greg Ferrell mentioned that he usually just creates a shell script to make that happen.

It would certainly be nice to have native functionality or an add-on that allows you to seed data into EE (I like the Ruby on Rails seed data functionality) from a file and also reset the entries based on the data in that file. This could be done with the Channel Entries API and I know some people have coded one-off solutions with the API to migrate data.

My suggestion to Andy was to use an XML file and the DataGrab add-on from brandnewbox:

He had the same idea. So, for now, DataGrab seems like the best option. Have you solved this another way? Let us know in the comments.

Posted on Feb 18, 2012 by Ryan Irelan

Filed Under: Development Tools

blog icon image

EECI 2012 US in the works

Blog Entry

This tweet says it all:

This year’s version of EECI is on the drawing board and in about a month we should know what city it will be and maybe the beginnings of a speaker lineup.

Where do you want the conference to be and who would you like to see speak?

Posted on Feb 17, 2012 by Ryan Irelan

Filed Under: Conferences, EECI 2012

blog icon image

Eric Lamb on Charging Hourly

Blog Entry

In a post on his blog, EE add-on developer Eric Lamb (you might know him by his handle “mithra62”) shared his thoughts on charging hourly for web development projects instead of a fixed price bid.

He sets it up like this:

If you don’t know, the traditional way of pricing out a web development project (at least in my experience) is for a client to contact an agency (or freelancer), tell them what they want and the agency telling the client how much it’ll cost at a flat rate. There’s usually a back and forth over cost and features, time and expense, and shaving features accordingly to meet some predetermined budget, and there’s certainly a lot of minutia in between the parts, but those are the broad strokes (again, in my experience).

I was surprised that people still do fixed pricing on web design and development projects. There are so many variables, information and requirements to gather, scope creep to consider and other mysteries that it is seems impossible to know what the project will cost before work begins. Business requirements change, phone calls add up (you do charge for your time on the phone, right?), stakeholders share their ideas and wishes for the project…the list goes on.

Eric has some good advice in his blog post) if you are in the situation of stil charging fixed prices for projects. I thought the retainer idea was an interesting one:

When I find a new client who’s willing to pay hourly (with a couple exceptions) the first thing I do is get a retainer. The retainer basically gives me the confidence in the client to be able to pay my rate, as well as giving me motivation to start work with the confidence of continued payment.

My approach would be to do hourly billing but give the client an idea of where those hours would be spent (various phases of the project) and estimate how many they would be. This way they can see what the project could cost but know that the dollar amount is tied to you working a fixed number of hours, not you delivering a completed website to them chock full of their whims and fancies.

From what I’ve read elsewhere online, this is how a lot of people also work. Hence my surprise.

Here’s one way to think about it: website design and development isn’t a product. Don’t treat it or price it like one. You’re in client services, which means you are paid for your time and expertise require to build the website, not just for the thing you deliver.

Posted on Feb 17, 2012 by Ryan Irelan

Filed Under: Life as a Web Professional

blog icon image

Your Weekly Devot:ee - February 16, 2012

Blog Entry

devot:ee

This week we’re sorry to have to say that the Reggy add-on has been discontinued. If you have a moment, please read my eulogy for an add-on that was taken from us too soon (see bottom of the reggy page).

  • moreEvents ($, for EE2) by moresoda
    moreEvents is an event management module that incorporates a full suite of template tags to allow you to build the event and checkout system that you need. Includes payment processing, data export, per event custom fields and more.
  • Automat:ee Developer ($, for EE2) by mithra62 (Eric Lamb)
    Automat:ee is an interface to automate your ExpressionEngine site. With the Automat:ee Developer license developers can install Automat:ee an unlimited number of times on an unlimited number of servers.
  • URL Helper (for EE2) by Brian Litzinger
    URL Helper is the combination of a couple of popular plugins/extensions, plus some extra goodness thrown in for good measure. It parses the URL and creates a slew of global variables to use in your templates.

Posted on Feb 16, 2012 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

EE Help Chat Tonight

Blog Entry

It’s Wednesday and that means a bunch of EE users gather in a chat room and spend an hour (or two) asking questions, sharing ideas, frustrations and tips about all things ExpressionEngine. Occassionally, we also talk about web design, development and perhaps coffee. Mmm…coffee.

So, pour yourself your favorite beverage and join us at 9 PM EDT (US) for weekly ExpressionEngine Help Chat.

See you there!

Posted on Feb 15, 2012 by Ryan Irelan

Filed Under: News

blog icon image

New Add-on: moreEvents

Blog Entry

The folks at UK shop moresoda released a new event management add-on today called moreEvents. Chris Imrie sent me an email with information about the add-on:

It’s a complete event management module for EE that lets you sell tickets and manage events through your website. It includes built in payment processing, attendee information capture, earlybird pricing, member group pricing and more.

The add-on also uses regular ol’ EE templates and extends the ExpressionEngine Channel Entries tag pair. Chris sent me a copy of the add-on to play around with and when I do I’ll share more thoughts here.

Also, be sure to read the payment gateway requirements before installing.

The moreEvents add-on is available from Devot:ee for $65.

Posted on Feb 15, 2012 by Ryan Irelan

Filed Under: EE Add-ons, EE Extensions, EE Fieldtypes, EE Modules

blog icon image

What They’re Saying About EE

Blog Entry

This is a on-going series of entries where I highlight EE experiences.

Posted on Feb 13, 2012 by Ryan Irelan

Filed Under: What They're Saying About EE

blog icon image

SXSW ExpressionEngine Party

Blog Entry

Last week I was in Philadelphia and was so preoccupied with a large project that things were slow around here. Because of that I neglected to post about the ExpressionEngine party at SXSW Interactive this year.

Fortunately, it’s going to be fun and sponsored by a bunch of great EE community companies (like my very own Mijingo). Unfortunately, the attendance list has already reached capacity. There might be a chance that they open it up again so stay tuned to We Are Paper Tiger twitter feed for announcements and be sure to add your name to the waitlist.

See you at SXSW in March!

Posted on Feb 12, 2012 by Ryan Irelan

Filed Under: Conferences, Life as a Web Professional, Meetups

blog icon image

EE Podcast: EllisLab Q&A w/ Lisa Wess

Blog Entry

The ExpressionEngine podcast is visited by EllisLab VP of Operations, Lisa Wess, today to discuss her storied history with ExpressionEngine, what’s new with EllisLab and how they operate, and what’s in the pipeline for ExpressionEngine! Tune in!

Posted on Feb 09, 2012 by CTRL+CLICK CAST

Filed Under: EE Podcast

blog icon image

Your Weekly Devot:ee - February 9, 2012

Blog Entry

devot:ee

  • HTML5 Fields ($, for EE2) by Toby Evans
    This fieldtype adds html5 input types: text, url, email, number, range & tel; as well as the applicable attributes: placeholder, pattern, min/max/step, multiple, required, etc.
  • Wufee ($, for EE2) by Chris Monnat
    The simple way to connect your EE site with your Wufoo account.
  • Authenticate (for EE2) by Objectivehtml
    Authenticate brings proper member authentication into ExpressionEngine with inline error handling, removes the ugly redirect screens, and supports logging in with an e-mail address opposed to a username. Authenticate supports forgot password forms too.
  • Safecracker Registration ($, for EE2) by Objectivehtml
    Safecracker Registration brings member management into your Channels by extending the all-mighty Safecracker. Safecracker Registration is perfect for those sites that just need a simple member registration form, but need to use Channel Fields to store the data.

Posted on Feb 09, 2012 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

Wufee hooks Wufoo into EE

Blog Entry

Chris Monnat, who previously brought us dashEE, released a new add-on today called Wufee.

Your favorite form builder now integrated with your favorite content management system! Wufee leverages the Wufoo API to bring all your Wufoo data into EE and allow you to view and integrate it with your website.

Wufee connects ExpressionEngine to Wufoo, the popular form creation and mangagement system from SurveyMonkey. So, how does it interact with Wufoo?

Wufoo users will be able to access their forms, fields, entries and reports all from within the EE control panel. The module ships with a full featured control panel interface (see video above), an accessory so you can access your form data anywhere from within the control panel, a custom fieldtype for relating your Wufoo forms with channel entries, template tags for displaying forms and entries on your website and dashEE compatible widgets so you can access your forms and reports right from your EE dashboard.

To see Wufee in action, be sure to watch the overview video that Chris put together.

Posted on Feb 06, 2012 by Ryan Irelan

Filed Under:

blog icon image

External Editors Survey

Blog Entry

Last week I asked you how you post content to ExpressionEngine sites with a short survey. The survey is still open and I’m going to leave it open for a little while longer.

If you haven’t already, can you take a minute to share your workflow for posting content? It’s free, fun and people will think you’re awesome.

(I’m posting this with the TextMate Blogging Bundle.)

Posted on Feb 06, 2012 by Ryan Irelan

Filed Under: Development Tools

blog icon image

Documenting EE Installs

Blog Entry

The other day I came across this older thread in the EE forums about maintenance packages for clients (EE updates, etc) and how different companies and freelancers approach this problem. That, it turns out, wasn’t the most interesting part of the thread for me. Instead, it was this paragraph from Kurt Deutscher about how he documents the add-ons and configurations for client sites so it’s easy to know what’s installed.

We store a little .txt file called aaUpdateNotes.txt in every hosting account where we work with an EE site. We list all of that site’s add-ons and who last updated the site and sometimes what version of an add-on was used (not typically though). Before we run an update on a site, we open this file and keep it open during the update incase we find something that needs to be added to, or removed from, the file for the next update. With well over 100 EE installs we maintain, that little .txt file keeps us sane when doing updates.

At a glance, Kurt knows all of the add-ons installed and perhaps any potential issues that may arise during an upgrade. It also makes it easy for people new to the site to get up to speed on the configuration. Nice idea.

Erik Reagan chimed in with a link to an add-on they’re working on called Dev Docs that allows you to have documentation within the site Control Panel. From the add-on description:

Dev Docs was born from a desire to have project-specific, developer-based documentation available within a site’s Control Panel.

At Focus Lab we have a file in each project’s repository root that is meant only for developers. This file is in Textile formatting and is meant to be the primary source of information to get “up to speed” on the project.

Erik wrote a great article for EE Insider on creating documentation for ExpressionEngine that should help you get started doing documentation for your projects.

Time to get documenting!

Posted on Feb 03, 2012 by Ryan Irelan

Filed Under: Development Tools

blog icon image

ExpressionEngine 2, MarsEdit and External Editors

Blog Entry

Has anyone been able to get EE 2.2+ working with MarsEdit? I have seen some support threads on the MarsEdit site referring to an “Invalid Access” error (which is what I’m getting) but point back to a problem with EE.

While I’m at it, how many of you even use third party tools for posting content to EE? Take the survey below and let’s find out. I’ll share the results after a few days.

Posted on Feb 03, 2012 by Ryan Irelan

Filed Under: Development Tools

blog icon image

Your Weekly Devot:ee - February 2, 2012

Blog Entry

devot:ee

  • Shine Slugger (for EE2) by Shine Marketing
    Shows or hides its content, depending on whether a specified string is found in the current URL. Ideal for use on development versions of sites (e.g. dev.website.com), or on specific pages (e.g. “contact/thanks”).
  • Login backup (for EE2) by Rein de Vries
    This extension will create a backup of the database on login.
  • Mailinglist Importer (for EE2) by Rein de Vries
    This module will extends the functionality for the mailinglist module. Sometimes you have a mailinglist that you want to completely replace with a new list. With this module it is possible, because you can replace a whole mailinglist for a new one.

Posted on Feb 02, 2012 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

New EE Magazine

Blog Entry

Thomas Boelskifte, the person behind the Nordic ExpressionEngine Users website that I posted about a couple of weeks ago created and released a free magazine called exp:magazine.

In his announcement blog post, Thomas explained his idea behind the magazine and what his plans are. He’s also looking for help writing articles to put in the magazine.

The first issue is available now as a free download and it contains content from the Nordic EE Users website to get started. Thomas hopes the community will submit articles for future issues.

Sounds like a great intiative and good luck, Thomas!

Posted on Jan 29, 2012 by Ryan Irelan

Filed Under: Life as a Web Professional

blog icon image

Gentle Manners, Hard Work

Blog Entry

For the last few days I’ve kept returning to the Corporate Culture statement at Ogilvy & Mather (yes, that Ogilvy). There is, of course, a lot of common sense information in there for businesses of any size. But there’s also some in there that applies to how we should handle ourselves, treat others and generally act in a community.

My favorite section is “What We Admire in People.” Here are the first two paragraphs:

We admire people who speak their minds. At the same time we admire people who listen more than they talk, and make a real effort to understand views that differ from their own. Candor is a virtue; arrogance is not.

We admire people who work hard, who are objective and thorough. Lazy and superficial men and women do not produce superior work.

This goes as much for an advertising agency as it does for an online community of web designers and developers. Especially the part about candor and arrogance.

Read the entire Corporate Culture document at the Ogilvy & Mather website.

Posted on Jan 29, 2012 by Ryan Irelan

Filed Under: Life as a Web Professional

blog icon image

Reactor Team Work in EE 2.4

Blog Entry

I missed this when posting about the release of EE 2.4, but in the changelog for the EE 2.4 release the ExpressionEngine Reactor teams’ contributions to the release of called out (with [ExpressionEngine Reactor]) so everyone can see what the developers are working on. Excellent idea and a nice surprise.

Here’s what they worked on for EE 2.4:

  • [ExpressionEngine Reactor] Added the list of Channels to dropdown under Edit.
  • [ExpressionEngine Reactor] Added third_party_path config item.]
  • [ExpressionEngine Reactor] Changed default text formatting from XHTML to none.
  • [ExpressionEngine Reactor] Fixed a bug with autosave where the save() method would be called for third party add-ons on autosave.
  • [ExpressionEngine Reactor] Added core_template_hook that lets you change the template to be loaded based on the uri_string.
  • [ExpressionEngine Reactor] Added template_post_parse hook that lets you modify templates after parsing.
  • [ExpressionEngine Reactor] Added template_fetch_template hook that lets you see what template is being loaded.
  • [ExpressionEngine Reactor] Added option to suppress errors thrown by loading language files.
  • [ExpressionEngine Reactor] Added all plugins to default text formatting list when creating a new field.
  • [ExpressionEngine Reactor] Abstracted field edit/create logic to the Channel Fields API.

A good description of the team and the idea behind the reactor is available here in this blog post by Leslie Camacho.

Nice work, everyone!

Posted on Jan 29, 2012 by Ryan Irelan

Filed Under: EE Reactor, ExpressionEngine 2

blog icon image

New Add-on: Pic Puller

Blog Entry

I love Instagram. It is one of the best social services around. I use it almost daily to post photos of my daily happenings and see those of my friends and colleagues. So, needless to say it was great to see an add-on available for EE that allows you to pull in photos from Instagram. Enter Pic Puller.

There are two different version of Pic Puller available: Pic Puller Lite, a free version that only pulls in the Popular photostream from Instagram and the full version of Pic Puller, which allows you to pull in user photos, liked photos and photos by tag. The paid version is $15 is available at the Devot:ee store.

Here’s a video from the developer, John Morton, on how to set up the add-on:

Posted on Jan 29, 2012 by Ryan Irelan

Filed Under: EE Add-ons