It’s nice to be back in the groove this week and fully recovered from the ExpressionEngine Conference in Portland. The Customer Advocates’ presentation on troubleshooting ExpressionEngine sites went great. In fact, I’d like to pick up where the presentation left off.
One thing I didn’t get to talk about at the conference was bugs and what to do if you think you’ve been bitten by one. Quinn and Seth have been doing some serious cleaning out of the bug tracker, so I thought this would be a good time to review when and how to submit a bug report.
Mijingo, a fantastic resource for web related video training, is running a Back to School promotion through August 30th. Use coupon code BACKTOSCHOOL for 20% off and load up on some highly professional and useful ExpressionEngine training.
Currently Mijingo offers the following video courses for ExpressionEngine:
- Building an ExpressionEngine Add-on
- ExpressionEngine 2: A Quickstart Guide
- Learning ExpressionEngine
- MySQL and ExpressionEngine
- Relationships with Playa
- Securing ExpressionEngine
- Upgrading ExpressionEngine 2
EllisLab is participating in this year’s ExpressionEngine Conference in full force. Our entire staff will be on hand and available to talk to throughout the event and we are scheduled for four different sessions:
- Opening remarks and the State of ExpressionEngine from EllisLab’s Chief Maker, Derek Jones.
- A Q & A Session with the entire team, moderated by conference organizer Brad Parscale.
- Gremlins in the Gears: Troubleshooting tips and tricks from EL’s own. The EllisLab Customer Advocate Team (CATs) will present hands on walk-throughs of real world troubleshooting. Come discuss the tools, techniques and processes you can use to assess and resolve site problems on the fly.
- Evolving a Large Codebase, presented by veteran Software Engineer Pascal Kriete. How to make sweeping changes quickly without sacrificing stability and backwards compatibility.
We also have a small reward for early bird registrants…
Are you an agency or freelancer in the Southern California area? There’s one week left to register for Train-ee’s Beginner to Intermediate training class in Pasadena, California (March 5th - 7th).
Train-ee is bringing its time-tested instructor-led live-in-the-flesh classroom training to Southern California. Come out to experience the mild spring weather and rub elbows with fellow developers while learning ExpressionEngine. Bring your projects and get some help and direction!
Train-ee has a tremendous track record teaching ExpressionEngine in-person, including EllisLab certified courses. That combined with the opportunity to brainstorm with fellow students from other agencies and schools of thought is priceless. If you’re in the area (or want to be for a few days), you should definitely sign up and attend.
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
In November of 2009, the European Parliament issued EU Directive 2009/136/EC, an amendment to several prior directives concerning data protection and electronic privacy rights. Of primary concern to this article were changes regarding the storing and accessing of personal data on a user’s device via cookies . The amendment changed such storage to require opt-in rather than opt-out permission from end users. EU member states were supposed to implement laws in accordance with the directive by May 2011.
There comes a time in an ExpressionEngine site’s life when it needs to scale. The demand for it’s dynamically-generated pages becomes too much; you can throw more servers at the problem or tweak the ones you’ve got, but that has its own scaling issues.
Or, there’s Varnish Cache.
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.
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.
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.