After researching, hand-wringing, and making pricing and licensing decisions for commercial software, there are a number of ancillary decisions left to be made. In a recent post outlining the removal of a particular license type from his shop (one purchase, unlimited use), Eric Lamb of mithra62 recently found himself analyzing some of the approaches available to add-on developers for addressing illegal file sharing, which is bound to happen with any successful software product. Even if you
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.
The ExpressionEngine 2.5.0 release has been moved from late March so that we can incorporate a first party solution for the “Euro cookie” law in 2.5.0 instead of having two releases within a very short time frame.
For those unfamiliar with the “Euro cookie” law, here’s a brief summary of the situation and why its important that an official first party solution is available.
As part of the European Parliament’s Directive 2009/136/EC, storing information on a user’s computer (through cookies
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.