With the release of the long awaited Elgg 1 platform now imminent I just thought I’d take the opportunity to go over a few of the things that make this version so cool.
A lot of these things I and my colleagues have covered before in previous blog posts, but I thought I’d give a brief summary of just a few of them.
First of all, this is possibly one of the best looking versions of Elgg ever. A lot of this is due to the efforts of our resident design guru Pete Harris, who has done a fantastic job in making the graphics and the user experience top notch.
There has also been a lot of work done under the hood…
There’s the views system which easily lets you skin Elgg and completely change its look and feel. For example we have the default view, which is the one you see when you log into a site (and can be extended and changed by installed plugins). This could just as easily be a mobile view for display on mobile devices.
We have provided RSS and OpenDD views which you’ll see links for if you look a list of objects.
There’s the database schema which we have mentioned before. We have taken a very abstract view, so now everything is an entity with metadata and relationships between them… those of you familiar with the OpenDD schema will notice some familiarity. This is not an accident.
There is also the concept in Elgg 1 that pretty much everything is a plugin, and therefore we have made plugins stupidly easy to write. A lot of the stuff that every plugin has to do is taken care of by the framework. There are ways to list objects, a notification system, XML-RPC, import/export out of the box, a robust internationalisation system, API and even views designed for data import (which have protection against various forms of attack).
In Elgg there are a whole bunch of things that all come together and mean that plugin writers only need to worry about the thing their plugin needs to do.
There is a comprehensive admin panel which plugins can extend. Plugins can be individually enabled and disabled, and can have administrator and user configurable settings. There’s a framework for displaying widgets on pages which plugins can hook into.
As well as all the framework stuff that make development easier, the actual system is pretty fully featured. You have blogs, forums, messaging, bookmaking, a river of events (which again plugins can easily hook into), and an admin system log.
All this stuff and more come together to make a very easy to use and full featured social networking platform.