Today I have the pleasure of introducing a handful of things:
Elastic 0.0.3, a new website, and a new concept.
Theme Engine vs. Theme Framework
You might’ve noticed that we’ve started calling Elastic a “theme engine” instead of a “theme framework.” While you might say “well, it’s only one word”, that word marks both a shift in focus and a solidification in where Elastic is headed.
The difference is that a theme engine controls how the page is loaded, not how it looks.
Put simply, a theme framework is a theme that serves as a starting point for other themes.
A theme engine is a theme or plugin that changes the way WordPress renders themes. The difference is that a theme engine controls how the page is loaded, not how it looks.
While there are about seven dozen accepted definitions for “theme framework”, we decided that there is a clear difference between the two. Theme engines are a level below themes entirely. All themes run on a theme engine, framework or not.
WordPress’ default theme engine consists of the template hierarchy and a handful of other files like header.php, sidebar.php, and comments.php.
For instance, you could write a theme engine that redirects every single page to the wikipedia article on Cabbage, but it wouldn’t be of much use. The Elastic theme engine is focused on creating module-based themes instead of page-based themes. “But wait”, you say,”then weren’t you a theme engine the whole time?”
Okay, so what’s changed?
The file structure. That and some bug fixes, but that’s about it. But seriously, this is huge. We’ve relocated the central library that we required every theme to include into the plugin itself. Authors don’t have to embed the engine in their themes. Instead, they load it with one line of code ( do_action('load_elastic_engine'); ) and a handful more to warn users if Elastic isn’t installed.
Distribution is where this comes into play. Now, theme structure is cleaner and themes can centrally stay up to date with the Elastic engine through the WordPress plugin repository.
The one temporary downside is this: since we’re not currently maintaining backwards compatibility, themes made with the engine may break on engine updates (and will break when 0.0.4 is released). This is why we recommend Elastic for testing purposes only.
Where we’re headed
0.0.3 is less about new features than it is about regaining our focus.
0.0.3 is less about new features than it is about regaining our focus. Elastic’s been a theme engine all along, we just didn’t know quite how to say it. This version has served as the shift to the new file structure. 0.0.4 will be about solidifying the engine and making rock solid APIs that not only support the visual editor, but theme developers as well. We’re going to be moving back towards the WordPress engine; taking the good parts (because there are quite a few of those), but maintaining our concept of modular theming.
Finally, I want to own up. I keep saying that I want your help, but it’s been hard to track me down, and hard to see where the project is going. The redesign is the first step in increasing project transparency, and will soon be joined by our own trac, documentation, and a comprehensive roadmap. If you’ve emailed me about Elastic and haven’t received a reply, I guarantee I’ll get back to you soon.
So enjoy the new site, experiment with the engine, and let me know what you’d like to see. We have a lot of changes on the horizon, so get excited. Once the engine is stable, then maybe we’ll start talking about theme frameworks. They run on theme engines, you know.
P.S.: If you’re going to WordCamp Ireland next weekend, be sure to come say hi!
by Shimon
09 Mar 2010 at 15:56
Elastic is causing Wordpress 3 to break when using auto upgrade.
I.e. install the Wordpress 3 nightly. Then install elastic and upgrade.
by Daryl Koopersmith
15 Mar 2010 at 12:19
Thanks for letting me know—I’ll look into it.
by Daniel Nautré
10 Mar 2010 at 15:30
Hello,
I’m currently experimenting with Elastic Theme.
It’s a great concept.
One thing that annoys me is that it doesn’t produce “elastic” themes.
By elastic, I mean fluid width themes. I think this would be a great addition to the engine.
Regards,
by Daryl Koopersmith
15 Mar 2010 at 12:25
Hi Daniel,
Thanks! Fluid width themes are a planned addition. However, the feature will be a component of a major editor upgrade (as it requires a significant change to the code), and won’t surface for a while.
—Daryl
by doobbe
12 Mar 2010 at 09:09
Great plugin, do you have roadmap ?
Thanks
by Daryl Koopersmith
15 Mar 2010 at 12:26
Thanks—a roadmap isn’t currently available, but will be coming within the next few weeks.
by Peter
21 Mar 2010 at 08:00
Hi! I would love to follow this project, but as a non-twitterer, it’s a bit difficult, because I can’t seem to get a decent RSS feed from this blog.. last post in the feed is the one from feb 3rd…
by Daryl Koopersmith
22 Mar 2010 at 12:36
Have you tried the link to the RSS feed in the footer? That’s working for me. Let me know if you still have any problems.
—Daryl
by YoYurec
08 Apr 2010 at 09:20
Very interesting project! Tnx!!! You are cool!
by Bob Couttie
22 May 2010 at 04:02
Thanks for the heads-up on 0.4. I use elastic and it works well and will continue to use it.
by Bob Couttie
06 Jun 2010 at 04:57
I’ve hit my first Elastic problem: RSS feed. My previous elastic theme, using a pre-0.0.3 version fed okay. Now using 0.0.3 it does not, and does not validate – the usual validators say it looks like a webpage and no fed can be found. Changing to WP classic theme the RSS feed returns, but that theme is not an option.
by OENOBIOL
29 Jun 2011 at 18:03
Merci Monsieur