Content Strategy and ExpressionEngine: It All Starts with a Good Plan
Before you install ExpressionEngine and start tweaking preferences, it’s best to take some time to think about the content you’ll be managing with EE and plan out that content’s structure. It goes a long way in making that content valuable and reusable for years to come. (I’ve found it helps the design process immensely to know the chunks of content you’re designing for as well. Otherwise, you’re just designing your visual wish and cramming in content to fit the look.) In this overview, you’ll
ExpressionEngine Site Strategy with Dev Docs
Documentation First! Wait, Documentation First?
You hear it often enough - “Documentation First!”, but for an ExpressionEngine project?
As the Community continues to amaze with the quality, depth and breadth of sites developed in ExpressionEngine, the need for a centralized dev doc repo becomes more important. The nature of projects being built with EE edge ever closer to web apps, with incredible add-ons that are almost apps in their own right!
Documentation may be the least interesting part of any development project, but you and your users will benefit by having high-quality documentation available.
Building an ExpressionEngine Fieldtype
For my turn driving the EE blog, I thought I walk you through the creation of a new fieldtype. Before we get started, I should probably give you a heads up about the approach I’m taking. One of my professors once described an absolutely brilliant lecture he’d attended where a physicist was explaining some uber-high level ‘physicy’ stuff to an audience of laymen. He did it by starting with the simplest of analogies. Of course, the simplest of analogies was totally wrong. But once his audience grasped the logic of the simplest analogy, he would then draw a new, slightly less simple analogy. Which—was also wrong. And he kept building upon all of these simple, but wrong, analogies until the audience could grasp the basics that were NOT wrong.
Or to quote Terry Pratchett, “Actually that sentence is wrong in every particular, but it’s quite a useful lie.” (Night Watch)
So with that in mind, let’s start building our super simple fieldtype.
Building a Plugin: Replacing Magpie
Writing add-ons for ExpressionEngine isn’t terribly difficult once you know what you’re doing. However, before you know what you’re doing it can be a frustrating tangle of guess and check. I vividly remember writing my first plugin, and then my first extension, trying to wrap my head around how hooks work. Then I tried my hand at writing a Multiple Site Manager compatible extension and there was more confusion there.
I want to walk you through writing a plugin, the best first step towards building ExpressionEngine add-ons. This tutorial will be a start-to-finish adventure, starting with the plugin skeleton and working our way to putting it on GitHub for everyone to download. I’ll explain my methods and my approach to building plugins, and by extension, software in general. Additionally, this particular plugin will be replacing the aging MagPie plugin, since MagPie is no longer being maintained.
Outstanding Search Engine Optimization with ExpressionEngine
Editor’s Note: Lee Goldberg is President of Marketing and Strategy at Vector Media Group in New York City. He leads the online marketing initiatives in many Vector projects, including for companies like Nielsen and About.com. Some of you may know Vector’s President of Development and Technology, Matt Weinberg, from EECI 2010 in San Francisco and EECI 2011 in Amsterdam. The vast majority of Vector’s projects are built on ExpressionEngine.
We often get questions regarding SEO and the performance
Download Content Plugin
We just pushed a new, very simple free plugin to our GitHub account. Download Content is handy if you are using channels to manage information that you want to have available as file downloads for your visitors. It’s essentially a very simple way to utilize CodeIgniter’s download helper within an ExpressionEngine template. It takes arbitrary content, and sends it to the browser with the proper file type headers for download.
For example, we’re using it on our intranet to have downloadable
