Now that Elgg 1.0 is finally out of the door, I think it is time to talk a little bit about about some of the more advanced features – namely APIs and data formats!

Elgg 1.0 provides a number of ways at getting at your data, including a number of natively supported data formats; including OpenDD (of course), JSON, PHP, and of course RSS.

If you’re putting together a mashup, you can use these views very simply. You may have noticed when you’re looking at a page with a list of items on it, that there are buttons in the top left which link to either a RSS or an OpenDD view.

Now when you click on one of those you’ll see your data presented in an entirely different way. Now one of the fun things you can do is change that by altering the “view” parameter, for example “view=json” to get a JSON view.

You can export individual items of data (that you have access to) in different ways by visiting the “export” url. For example, to export GUID 1 (which will almost certainly be the first site you set up) visit:

http://mysite.com/export/opendd/1/

Of course, if you replace “opendd” with “json” or “php” you can see this data presented in an entirely different way. Additionally, you can also add support for other formats, as I discussed in a previous article.

On top of that, there is an API system where plugin writers can export a function as public. These functions can then be called via a rest-like api (discussed in more detail here).

You can then select how you want to then see that data – whether its PHP, XML or JSON etc.

So, in a nutshell, Elgg has some quite powerful tools for quickly and easily creating some pretty funky mashups. Have fun!

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.

Give it a try!