EllisLab text mark

Relative Dates in ExpressionEngine 2.8

6 comments

An additional date formatting option is coming to ExpressionEngine 2.8. You will be able to output any date as a relative amount of time using new, flexible, date tag parameters, a la:

{entry_date:relative stop="+1 day" format="%F %d, %Y"

Continue Reading

Memory-Based Caching in ExpressionEngine 2.8

9 comments

ExpressionEngine has always stored cached data on the disk. This is fine for most sites, but for the sites that get heavy traffic, caching to the filesystem can become a bottleneck. The solution is to store cached data in a memory-based cache store for faster retrieval. In ExpressionEngine 2.8, we’ve brought over caching drivers from CodeIgniter, allowing cached data to be stored in the filesystem or in a memory-based store such as Memcached or Redis.

Continue Reading

Sessions, Login Modals, and Secure Forms in ExpressionEngine 2.8

6 comments

Security is one of our biggest concerns. However, all the security in the world doesn’t matter if it’s not used correctly. So in ExpressionEngine 2.8 we are making a few changes to ExpressionEngine’s security features to encourage good security habits.

Continue Reading

ExpressionEngine 2.8.0 Developer Preview

1 comment

We’ve been quiet… which means we’ve been hard at work. Developers in our Preview program just received our latest work for the upcoming release of ExpressionEngine 2.8.0. This is a feature release and we’re stoked.

The purpose of our Developer Preview is to ensure that prevalent commercial add-ons are ready to go on the same day we release. If you’re interested in joining, please email Wes Baker and include a link to your publicly-available commercial add-ons in your request.

Continue Reading

Escape from Parameter Hell

0 comments

I’ve been doing a lot of interface design, of late. When first designing a system, it’s pretty easy to keep interfaces simple. It’s easy enough to write functions and methods such that they only need a few things. But as design progresses, or as you use a system, interfaces change. You need to pass more information. Parameters previously required become optional. Your interfaces become cluttered. Welcome to Parameter Hell.

Continue Reading

An Add-on Developer’s Take on Licensing and DRM

0 comments

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

Continue Reading

ExpressionEngine Site Strategy with Dev Docs

0 comments

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.

Continue Reading

Building an ExpressionEngine Fieldtype

0 comments

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.

Continue Reading

The state of ExpressionEngine 2.5.0…

0 comments

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

Continue Reading

Building a Plugin: Replacing Magpie

0 comments

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.

Continue Reading