Elgg Default Theme Should be a Plugin

I finally upgraded to Elgg 1.5 the other day. I was frustrated that custom themes were broken in this version, but I got over it. It is worth the upgrade with all the improvements. There are still no custom blog title tags, but that is easy enough to fix yourself.

Now, that custom themes no longer work, I decided to modify the default theme. It is not that hard to modify default views in Elgg, if you know what you are doing, but in doing this, I realized a fundamental problem with the default theme. The default theme should be a plugin rather than part of the core files. Because it is not, if you want to modify the default theme at all, you have to create a plugin.

Let’s say that you want to add Google analytics to your template. Unless you want to modify the core files, which you shouldn’t, you have to create a plugin. This should be much easier. Compare with WordPress. WordPress comes with a default theme. To make changes, it is easy to modify, add a new one or make your own. It is not easy to do this in Elgg.

Another problem is that a custom theme is the same as a plugin, so when you are looking at your list of plugins, it is hard to tell which ones are themes. Also there is no preview for themes, not even a thumbnail.

So for the next version of Elgg, I would break out the default theme as a plugin. Then I would separate the themes from the plugins in the backend. This will make it much easier to customize your themes in Elgg.