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

EE2 Upgrade Notes

Blog Entry

If you want a look inside one person’s experience upgrading from EE1 to EE2, Jonathan Matlock took notes and shared them on his website.

Jonathan included the add-ons we was using and how he worked around those that weren’t available.

It’s worth the read, so check it out: My EE2 Upgrade Notes by Jonathan Matlock

Posted on Jul 18, 2011 by Ryan Irelan

Filed Under: Development Tools

blog icon image

EEUK Talks Announced

Blog Entry

If you’ve been following the DesignKarma twitter stream, you’ll already know that they’ve been slowly announcing the speaker topics for the August 26th ExpressionEngine conference in Manchester, UK.

Here’s what you can learn at the conference:

  • Design Patterns in EE with Joel Bradbury
  • Faceted Navigation Techniques with John Henry Donovan
  • Commercial Add-on Development for Clients with Stephen Lewis
  • Parse Order with Lodewijk Schutte
  • Setting up the Optimal EE Configuration with Carl Crawley
  • Going Mobile with Jamie Pittock

There is still time to register for the conference (it only costs £99), to meet other members of the community and listen to the talks. Get all of the details at their website: EEUK Conference 201

Posted on Jul 18, 2011 by Ryan Irelan

Filed Under: Conferences

blog icon image

Your Weekly Devot:ee - July 14, 2011

Blog Entry

devot:ee

  • Email Address (for EE2) by Pete Eveleigh
    This simple fieldtype ensures that data entered is in a valid email format.
  • NSM Categories (for EE2) by Leevi Graham (Newism)
    NSM Categories is a superior approach to filtering & rendering categories and entry tagdata. Features: Filter categories using category_id, category_group_id or channel parameters; Render category entries and display totals with the same flexibilty as {exp:channel:entries}; Nested category output with flexible tags and options; Cleaner templates without PHP enabled
  • JCO Entry Catcount (for EE2) by Jerome Coupe
    Want to only display something based on the number of categories that is assigned to a particular entry? This small plugin grabs that number and allows the use of it in conditional statements.
  • Obfuscatee (for EE2) by David Hyland
    A plugin for EE2 that returns a ROT-13 obfuscated string with Javascript decoding. Useful for creating email links.
  • Structify (for EE2) by Thanh Vuong
    When using the publish form, the structure tab displays a drop down box by default. Structify gives you a couple enhancements which serves as visual aids. This accessory requires you to have the Structure module installed in order to work. This accessory is only ideal for sites that have a very large Structure tree where the page load of Structure becomes a performance problem. This accessory makes it easier to create pages via Content > Publish.
  • NSM Publish Plus: Workflow (for EE2) by Leevi Graham (Newism)
    Do you have a website containing content that needs to stay up-to-date? Then you need automated email updates and entry workflow states. NSM Publish Plus: Workflow is the solution.
  • Zoo Visitor ($, for EE2) by ExpressionEngine Zoo
    Total Member freedom, from forms to fields! Zoo Visitor gives you total control over your site members, allowing you to use any fieldtype to define their profile. The days of struggling with member registration, profile updates are over!
  • Comment Badge (for EE2) by Todd Perkins
    Comment Badge is a simple accessory that adds a badge to the top bar of the ExpressionEngine control panel to show you how many unmoderated comments you currently have.
  • Sassee (for EE2) by Wouter Vervloet (Baseworks)
    Sassee is a SASS/SCSS parser for ExpressionEngine. It parses the source files once and serves up the parsed file after that. If the source file is changed, Sassee will compare the dates and automatically parse it again if needed.
  • OSticket Integration ($, for EE2) by w3care
    This Add-on will provide a seamless way to integrate your Expressionengine website with Osticket’s ticketing system. This Integration is based on a SOAP call for almost all functions osticket system has provided.
  • Scaffold ($, for EE2) by iain
    Developer theme for the ExpressionEngine 2.0 Discussion Forum module.
  • IPGeo (for EE2) by Clive Zagno
    Provides geographical based on a users ip address
  • EE Donations ($, for EE2) by Electric Function, Inc. (Brock Ferguson)
    Accept flexible donation payments on your site with any payment gateway including Authorize.net, PayPal, 2Checkout, SagePay, eWAY, and more.  Donors can even create donation subscriptions which auto-recur each payment period, using the same billing engine as our Membrr addon.

Posted on Jul 14, 2011 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

EE in the Wild: The Morning News

Blog Entry

A redesign of The Morning News launched yesterday and, yes, it is running ExpressionEngine (handy work by Matt Weinberg and his Vector Media Group).

The Morning News

Matt Weinberg filled EE Insider in on some more details. They ended up migrating thousands of entries (over 11,000 URLs) and really focused on making the site easy to use from an editorial perspective:

Editorially we’re giving them lots of control to be able to create the gorgeous article pages that Jason Santa Maria designed, such as this:

http://www.themorningnews.org/article/the-man-behind-the-window

Note the customized blue “highlight” color, chosen separately on each feature; the divider stars that they don’t need to manually write HTML for; the different styles and completely arbitrary/controlled by them placement of pullquotes, without them having to deal with writing the HTML.

Another great content site makes the move. Welcome, The Morning News.

Posted on Jul 12, 2011 by Ryan Irelan

Filed Under: EE in the Wild

blog icon image

NSM Publish Plus Workflow Public Beta

Blog Entry

Leevi Graham and folks at Newism released a public beta of their newest EE2 add-on: Publish Plus Workflow. Some of you may know Publish Plus from the EE1 version. For those that don’t, Publish Plus is a workflow tool to help automate content production (email updates, entry workflow states and more).

Publish Plus Workflow by Newism

The original Publish Plus add-on did a lot and, at times, more than some scenarios required. Newism is taking a different approach by slowly porting Publish Plus to EE2 “in chunks.” Leevi wrote in an email to EE Insider:

Each chunk will be an independent addons which are focussed one or two functions. This is the first of such addons.

This is great news and hopefully will make using Publish Plus easier because I won’t have to install a giant add-on but instead only the parts I need. This public beta is for the first add-on (called “Workflow”) and hopefully there are some more on the horizon.

The features list from their site:

  • Set configuration options on a per channel basis
  • Use select template tags in your email notifications
  • Manage an entry’s state and next review date using the Workflow tab
  • Have your website tell you when content needs reviewing via a CRON job URL
  • Find the content that needs reviewing all in one place using the module’s dashboard
  • NSM Publish Plus: Workflow doesn’t affect your website database or template tag data

Learn more about the add-on from their website: NSM Publish Plus Workflow

Posted on Jul 12, 2011 by Ryan Irelan

Filed Under: EE Add-ons, EE Modules

blog icon image

ExpressionEngine Upgrade Errors Guide

Blog Entry

There’s a new wiki page to assist you in addressing issues when upgrading ExpressionEngine. It provides some troubleshooting tips with everything from server requirements to MySQL errors.

If you experience an upgrade error when upgrading ExpressionEngine from either EE 1 or EE 2 to the latest version of EE 2, this guide will help you walk through some troubleshooting techniques to get you back up and running.

The guide was put together by Kevin Smith and looks like a great resource. Perhaps it should be included in the official documentation. Either way, bookmark it!

Read the guide: Troubleshooting Upgrade Errors

Posted on Jul 08, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

blog icon image

New Module: EE Donations

Blog Entry

The people that brought you Membrr released a donations module that you use to allow one-time or recurring donations. It uses different payment gateways, like PayPal, Authorize.net and Sagepay.

I haven’t yet tried it but from it looks very configurable and simple to use. The add-on costs $75.

If this sounds like something you need, check it out: EE Donations

Posted on Jul 08, 2011 by Ryan Irelan

Filed Under: EE Add-ons, EE Modules

blog icon image

Your Weekly Devot:ee - July 7, 2011

Blog Entry

devot:ee

  • Show Me My Assets! (for EE2) by Michael Rog
    Replaces the CP link to the default EE File Manager with a link to the Assets module’s awesome file browser.
  • OmniLog (for EE2) by Stephen Lewis (Experience Internet)
    System-wide message log, for use by ExpressionEngine add-on developers.
  • PS Languish (for EE2) by Patrick Stinnett
    Easy translation plugin that can be used for pulling data from a language file.
  • cpb Garnish (for EE2) by Curtis Blackwell
    cpb Garnish is an ExpressionEngine 2 plugin that allows you to control the case of text between its tag pairs.
  • Cat2 (for EE2) by Mark Croxton
    Convert between category name, category id and category url title. Query results are cached, so you can use the same tag multiple times in your template without extra overhead.
  • News Bar ($, for EE2) by Ahmedeng
    News bar is powerful extension for creating news bar ticker from channels entries automatically.and with simple plugin to display the news bar.
  • Multiplaya (for EE2) by Mark Croxton
    Extends the Playa module to allow retrieval of parent/child relationships for multiple entry ids. Specifically, you can add multiple entry ids to the entry_id parameter.
  • Social Login ($, for EE2) by Yuri Salimovskiy (IntoEEtive)
    Social Login enables people to log in into your site using their account in social networks (Facebook, Twitter, LinkedIn etc.)

Posted on Jul 07, 2011 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

EE Insider Tip: Search EE Docs in Chrome

Blog Entry

Mike Zens contributed a tip to the site about searching the EE docs right in the Chrome URL bar.

View the tip for the quick how-to, but here’s the payoff:

Now when you type the short alias (EE in my case) then space, add your query and it will search the EE Docs. Great way to save time while searching EE Docs, EE Forums, or whatever custom EE query you want to build.

Great idea!

Posted on Jul 07, 2011 by Ryan Irelan

Filed Under: EE Insider Tips

blog icon image

What They’re Saying About EE

Blog Entry

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

Why can’t ExpressionEngine be easy to install as WordPress?

Ron Domingue via Twitter

Ron, I don’t think installing ExpressionEngine is all that difficult but I do agree that it could be made easier. In fact, I think the Drupal install experience is one EE could also learn from, if only for the sleeker UI and, as dumb as it sounds, the progress bar.

Posted on Jul 06, 2011 by Ryan Irelan

Filed Under: What They're Saying About EE

blog icon image

Updates on Socialee Add-on

Blog Entry

In the Devot-ee forums, the developer of Socialee responded to a support request about EE 2.2 support and mentioned that they were no longer actively developing the add-on.

We are supporting it, but have no cause for further development at this point. Given the extensive support we’ve had to provide, we barely break even. When we have another project for which it requires further development then we will certainly do so; as a stand alone project it can not come close to justifying the kind of effort that you might expect from other add-on makers such as Brandon Kelly or Solspace. Our company is focused on client development, not selling modules.

Update: this isn’t really any different than what developers of many add-ons do, so Socialee isn’t an exception here. However, they do charge a premium for their add-on and some customers assume that means it will be updated. We regret the implication otherwise.

There is also an EE Forum thread about the same announcement, which includes a link to a new add-on from Yuri (IntoEEtive) called Social Login.

Social Login enables people to log in into your ExpressionEngine site using their account in social networks (Facebook, Twitter, LinkedIn etc.) Currently only Twitter, Facebook and LinkedIn are supported. Other sites/providers can be added in the future on demand.

Yuri posted some more information on the add-on at his site and is apparently giving free copies to people in the Pro Network (clever idea) Update: the free copies was only during the beta, which is over.

So, Socialee goes the way of the add-on graveyard is no longer being developed, which is a concern for some people, but a new one rises to replace it. This, I believe, is what one would call an “active and vibrant development community.”

Update: See comments for clarification from Socialee developer.

Posted on Jul 06, 2011 by Ryan Irelan

Filed Under: EE Add-ons, EE Modules

blog icon image

Front-End Web Developer Position at Vector Media Group

Blog Entry

The guys at Vector Media Group are top-notch and you’d be lucky to work with them on ExpressionEngine projects. You’re in luck because they’re hiring:

We’re looking for a full time front-end web developer to join our NYC team immediately. Your work will have a heavy emphasis on modern, standards-compliant HTML, CSS, and JavaScript (jQuery). ExpressionEngine knowledge is a bonus. Cool clients, free lunch, and a great working environment are just some of the benefits.

Get all the information: Front-End Web Developer at Vector Media Group

Disclaimer: Vector Media Group is a long-time sponsor of EE Insider. Even if they’re were not, everything we say about them would be the same.

Posted on Jul 06, 2011 by Ryan Irelan

Filed Under: Life as a Web Professional

blog icon image

What’s a Good Rate?

Blog Entry

In the EE forums, a simple question was posed:

How much does an Expression Engine Developer cost?

It was followed by a concern that $100/hour was “ludicrous” and too much money.

I’m not going to begin a discussion about what an hourly rate should be. I have no idea. It depends on so many factors: location, cost of doing business, skill set, experience, desired income and more. There’s no right answer.

John Fuller gave a nice run-down of considerations when looking at the cost of a developer:

Consider this developer may have to pay for an office, accounting services, business related tools, health insurance (perhaps for a full family,) the list goes on.

[…]

Consider that not all hours in a day are billable.

[…]

Think of the average wage of your area, double that wage, and then add something like another 20% for profit and you will get an idea of what developers can cost.

Also don’t forget that freelance developers and other self-employed developers have to pay increased taxes (it varies with your state and city). I can only speak for the United States, but a freelance developer definitely has to pay a self employment tax. That, plus possible state income taxes (if applicable), can easily add up to 30-40% of their income. So, if they’re charging you $100 an hour they only get to keep $60-70 of that money and that’s before factoring in costs of running the business. As John mentions, there are many associated costs: health insurance, office space, hardware, accountant fees and business insurance to just name a few.

There’s a good thread going in the EE Forums (it gets hijacked by people showing their expertise of the Sherman Act) and I hope you’ll chime in with your feedback.

Read the thread: How much does an Expression Engine Developer cost? -ExpressionEngine Community Forums

Posted on Jul 06, 2011 by Ryan Irelan

Filed Under: Life as a Web Professional

blog icon image

My First EE Site

Blog Entry

The other day on Twitter, Richard Young mentioned looking back at one of his first ExpressionEngine sites and being stunned by how he built it. He didn’t mince words about how he felt:

Just had to dive into the guts of one of my first #eecms builds. Holy. Shit. #youcantgoback

For those of us who build EE sites for clients, there are probably too many sites to remember but I’m certain we can all remember the first one we built.

Oh, Podcasting

My first EE site was not for a client but it was for a personal project. The project started during the heyday of podcasting (this when everyone was talking about making money at podcasting but no one was actually doing that unlike today). It was the next big thing and with my longtime interest in audio recording, radio and talking, I thought I’d give it a shot. Because I did have some audio experience from college I started a podcasting how-to site (with tutorials and articles), with the unfortunate name of “Podcast Free America.” Before you criticize it too much, it was a play on the Radio Free Europe network. In hindsight, the name was definitely not the best, the concept confusing and the execution suboptimal. All that aside, it was my first ExpressionEngine site. So, there is that.

Please note: the site is no longer live and I let the domain registration lapse. If you go hunting for it you’ll be disappointed with links to male enhancement products. Or, who am I to judge, maybe you won’t be.

The Mistakes

So, you want to know what the mistakes were. Sure, why wouldn’t you?

First, it’s the mistake we’ve all made: treating channels (or “weblogs” as they were known back then) as a scarce commodity. For me it meant trying to cram too much different content into too few channels. I ended up with a site that was difficult to manage and a major task to improve and extend. I used to joke with people learning EE (and repeating the same mistakes I made) that EllisLab doesn’t charge you based on how many channels you use. They’re free! Use as many as makes sense.

The second mistake I made was similar to the first. It featured my expert ability at underusing the custom fields and field groups I created a single field group with every field I’d need for every channel of content on the site. “Huge mistake!”, you shout while sipping green tea from your ExpressionEngine mug. Oh, I agree. Coming from other CMSes and weblog tools at the time, I didn’t know any better. In fact, I think that’s the case for a lot of people even today. That’s why I get so much great feedback about my ExpressionEngine training videos: viewers are guided toward the lightbulb moment on how to use EE effectively.

Oh, but it gets uglier. After all of this, I wasn’t even very good at building out my templates. I used global variables where it would’ve been better to use an embed template and my templates were far from DRY (Don’t Repeat Yourself). To my credit, I did go back later on and break up the templates to reuse code. The poor template construction was influenced by the poor channel and custom field setup. It all snowballed into one giant mess of an implementation.

It’s no surprise that everything about that site was difficult to manage. It didn’t help that the site was a big flop (low traffic, no revenue, uninspired content). After letting it linger for a few years, I cut the line and ended the misery.

While my lack of skills in properly constructing an EE website wasn’t the only reason the site didn’t succeed, it certainly didn’t help that maintaining it was a chore.

I’m sure we’ve all made the same mistakes but what are some of your least impressive EE build choices?

Posted on Jul 05, 2011 by Ryan Irelan

Filed Under: Life as a Web Professional, Personal

blog icon image

Alter CP Menu with cp_menu_array

Blog Entry

Adam Fairholm finds use for a (still undocumented) CP hook (as discovered by Rob Sanchez):

A few days ago Rob Sanchez tweeted a screenshot that caught my eye – a hook called cp_menu_array that is hanging out in expressionengine/libraries/Menu.php like it’s nothing special. It was added in EE 2.1.5.

/* -------------------------------------------
  /* 'cp_menu_array' hook.
  /*  - Modify menu array
  /*  - Added: 2.1.5
  */
   
if ($this->EE->extensions->active_hook('cp_menu_array') === TRUE)
   
{
    $menu 
$this->EE->extensions->call('cp_menu_array'$menu);
   
}
  
/*
  /* -------------------------------------------*/ 

Adam takes the hooks, builds an extension and shows you how to use it to customize the EE CP menus. Kaboom?

Posted on Jul 05, 2011 by Ryan Irelan

Filed Under: Development Tools, EE Add-ons, EE Extensions

blog icon image

Your Weekly Devot:ee - June 30, 2011

Blog Entry

devot:ee

If you haven’t heard about the release of Assets from Pixel & Tonic, you might have been living under a rock for the last few days. That, or you’re not on Twitter, where Assets blew up the #eecms hashtag. It looks to be a very solid file manager, and has the attention to detail we’ve come to expect from P&T. It may be worth a look if you have a site that relies heavily on uploaded files or images.

  • Assets ($, for EE2) by Pixel & Tonic (Brandon Kelly)
    At last, managing your files is just as powerful and elegant as managing the rest of your content in ExpressionEngine.
  • Strip Line Breaks (for EE2) by One Design Company
    Strip line breaks is a plugin that will remove line breaks in the text within the tag pair.
  • pMailer Contacts Export (for EE2) by Prefix Technologies
    Export ExpressionEngine members directly into your pMailer mailing list(s) with optional Double Opt-In feature
  • VZ Address (for EE2) by Eli Van Zoeren
    Combined address (street address/city/state/zip/country) fieldtype with various output options.
  • Google Weather (for EE1 & EE2) by Marcel Villerius
    Simple plugin that parses Google Weather information (city, current temperature, wind condition, etc).
  • pMailer Message Archive (for EE2) by Prefix Technologies
    Display deployed pMailer email newsletters on your ExpressionEngine website
  • ED Language Switcher (for EE2) by Erskine Design
    The ED Language Switcher allows site owners to set a default language, and limits allowed languages to a defined list. Users can select a preferred language that will be honored on future visits. Developers can use template tags to output default or user selected language.
  • pMailer Subscription Form (for EE2) by Prefix Technologies
    A subscription form for your website to automatically populate the inputted data into your existing pMailer mailing list(s). Includes optional Smart Forms.
  • EZ Link Icons ($, for EE2) by Vim Interactive, Inc.
    EZ Link Icons adds icons to your website’s file and external links quickly and easily.
  • Which browser (for EE2) by Siblify
    A very basic plugin to return the name of a user’s web browser based on PHP’s HTTP_USER_AGENT variable.

Posted on Jun 30, 2011 by Ryan Masuga

Filed Under: Weekly Devot:ee

movie icon image

First Look: Assets

Instructional Video

This is a short First Look video at the new file manager Assets by Pixel & Tonic.

In this video I walk through basic use of the module and field type to manage images in the Channel University website we build in my Learning ExpressionEngine 2 video tutorials.

Download Video: MOV

Download this video and other ExpressionEngine training videos at Mijingo.

Get the Video

Posted on Jun 29, 2011 by Ryan Irelan

Filed Under: Custom Fields, Fieldtypes, Free Video, 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.

Add-ons don’t exist in a vacuum. They exist because EE is constructed for them to exist. Without EE they are nothing.

Ryan Masuga via Twitter

Posted on Jun 29, 2011 by Ryan Irelan

Filed Under: What They're Saying About EE

blog icon image

Removing index.php Support: Does it matter?

Blog Entry

As part of the EE 2.2 release, EllisLab updated their documentation to include instructions on removing index.php from the URL. This is significant because up to this point EllisLab never “officially supported” the widely-used (including on their own sites) technique of using mod_rewrite rules in an .htaccess file to remove the index.php file from the site URL.

The support is only “limited” and this most likely means that while they want you to know how to remove the index.php from your site URL, they can’t (and rightly so) help support every server configuration, host and web stack out there. That would be tough to manage.

There have been two reactions to this news.

Great news!

Excitement abound on Twitter that EllisLab finally support removing index.php. People are happy to see EllisLab embrace what everyone has already been doing. Finally, they approve!

Who cares?!

EllisLab is now acknowledging in their documentation something that they and everyone else building sites with ExpressionEngine have been doing for years. “Welcome to 7 years ago!” some might say.

And I agree, it does seem a little late to the party. 

But there’s more…

As an experienced EE user and developer, no matter your reaction, this isn’t about you (or me).

What is exciting to me is that people new to ExpressionEngine can learn how to do this right from the official documentation. No longer do they have to look to the wiki (if they can even find the page) and then be concerned if it’s even safe. All of that is gone. It’s one small step toward making installing and setting up ExpressionEngine even easier. That’s something we can all support and celebrate.

Posted on Jun 28, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

blog icon image

New Add-on: Assets

Blog Entry

Just when you thought the new File Manager in ExpressionEngine was going to rock your world. Pixel & Tonic begs to differ. Today they released Assets.

At last, managing your files is just as powerful and elegant as managing the rest of your content in ExpressionEngine.

I’ve had access to the add-on for a while now and it is extremely well done and exactly what we should expect from file management in ExpressionEngine.

What’s in Assets?

  • Global File Metadata
  • Subfolders
  • Multiple File Selection

Read the product page for all of the details.

The add-on costs $55 and is available now. Learn more at the Pixel & Tonic website.

(Disclaimer: Pixel & Tonic are a current and long-time advertiser on EE Insider.)

 

Posted on Jun 28, 2011 by Ryan Irelan

Filed Under: EE Add-ons, ExpressionEngine 2