This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Internet & WWW

Roll custom social networking sites with Elgg 1.0

By Mayank Sharma on September 23, 2008 (7:00:00 PM)

Share    Print    Comments   

Elgg is an open source application for rolling out a social network. It installs like any Web-based software, but instead of a blog or a wiki, it gives you all the components of a social networking site -- your own MySpace! It's popular with educational institutes and used by several universities across the world, in addition to powering social networks of companies such as Swatch. The new Elgg 1.0, released last month, is modular in design, making it easier for developers to build social networks around the platform.

In a blog post on the new release, Ben Werdmuller, CTO of Curverider, the company that develops Elgg, explains that the software now incorporates features central to social networking, such as granular access permissions, cross-site tagging, and emphasis on personal ownership (tracing posts and other activity back to the author), right into the core. He says that after four years in development, the Elgg developers decided to rewrite the software from scratch. "While many applications take a simple beginning and try and duct tape social networking and next-gen features over the top, we started again. And as a result, Elgg is fast, flexible, extensible, and ready to power the next evolution of social technology."

Elgg 1.0 is available in two flavors, core and complete. The core version is for developers who want to roll their own social networks and decide what features they need. "As the Elgg 1.0+ community expands," Werdmuller says, "more and more plugins will become available, and who's to say you should have a blog, or forums, or photos?"

The complete version weighs in at around 1.4MB and bundles social networking features such as user profiles, blogs, file repository, forum, social bookmarking, and a dashboard. Many of the features are bundled as plugins and included in the complete version. The company provides detailed documentation on installing Elgg and configuring plugins.

Easier to customize and import/export data

You can customize Elgg by selecting plugins, tweaking style sheets, and, soon, by modifying themes. But depending on how you want to use the social network, you'd want to customize it a lot more. To help ease the customization process, the Elgg developers have built in several APIs and methodologies that lets developers rolling out their own social networks easily modify all user-facing services.

"The major differences with the new Elgg are a simplified data model and a separation of logic from view," Werdmuller says. "Every entity in Elgg now inherits a single ElggEntity class, and any entity can have an arbitrary relationship established between them. That means a user (with an appropriate plugin) could link together a blog post, file, and a user profile, and then the system could traverse those connections in a generic way to enhance search results and provide new kinds of functionality. RDF fans will grok the importance of this immediately."

Behind the scenes, these entities have arbitrary metadata attached to them, which is searchable as tags. Entities also have access permissions associated with them. To see how all this manifests in code, take a look at the tutorial to build a simple blog in Elgg 1.0.

Elgg 1.0 also supports multiple viewtypes. A viewtype lets visitors view Elgg pages for a particular interface. For example, an Elgg-powered site can have a stardard HTML viewtype for normal browsers, and a mobile viewtype for mobile devices.

Werdmuller says that the separation of logic from view means that it's easier to provide and add new viewtypes. For example, the RSS feed in Elgg 1.0 is literally just an RSS view on the same logic as the page you want the feed for. In addition to RSS, Elgg 1.0 also supports other viewtypes, including JavaScript Object Notation (JSON), Friend of a Friend (FOAF), and Open Data Definition (OpenDD). "The JSON view allows for AJAX fun, and we've also got extensible RESTful and XML-RPC API architectures so that plugins can add this kind of functionality easily. All this means that you could easily build a J2ME front end for Elgg, for example, and never bother with the default Web interface."

OpenDD, which is developed by the same developers as Elgg, allows you to copy your data from one social network to another without losing track of your friends network. Werdmuller says that the company is working on federating networks and working with other vendors to provide true data portability. "We think that's important for the future of the Web."

Talking about data portability in a blog post, Marcus Povey, senior developer at Curverider, illustrates Elgg 1.0's data export and import features via the views and actions interfaces.

Povey says that OpenDD will allow administrators to migrate between the previous Elgg releases (now known as Elgg Classic) and the new codebase with "minimum amount of effort." But since Elgg Classic and Elgg 1.0 are two different codebases, upgrading will require an intermediary script, which Werdmuller says the company will be releasing separately, but didn't give a timeframe.

Share    Print    Comments   

Comments

on Roll custom social networking sites with Elgg 1.0

Note: Comments are owned by the poster. We are not responsible for their content.

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 84.55.118.222] on September 23, 2008 10:39 PM
Drupal duplicate?

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 203.131.100.54] on September 24, 2008 10:10 AM
No it isn't. It is a social networking site package, while drupal is CMS (Content Management System).

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 207.45.240.17] on September 26, 2008 09:29 PM
Not a just duplicate - a big time knock off.

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 203.201.149.10] on September 28, 2008 11:56 PM
But I wonder if it has the power to rival social networks like SocialNetwork and DZOIC and PhpFox. It would be nice to see something better coded than these three alternatives too.

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 196.20.170.138] on September 29, 2008 01:30 AM
PHPizabi is another open source product http://phpizabi.net/
It's requirements are less than Elgg and hence reduces the server cost. Elgg is good though.
Here's a network built using PHPizabi: http://studentportal.snitedu.com/

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 24.21.151.76] on September 29, 2008 03:04 AM
We're actually using Elgg Classic (0.9) at http://beaversource.oregonstate.edu/social/ and its working great. I would love to upgrade when they have a script to do so out, but we're using PostgreSQL and 1.0 no longer supports it.

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 75.72.187.122] on September 29, 2008 07:55 AM
I rolled mine but I can't figure out how to smoke it.

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 121.96.112.172] on September 29, 2008 08:23 PM
Tried using the old Elgg 0.9 code and it was slow. Switched to social engine and everything is great. You can compare them by installing Elgg and our <a href="http://katext.com/">social network</a> using social engine. And the Elgg site doesn't even have a sample install you can try out.

#

Roll custom social networking sites with Elgg 1.0

Posted by: Anonymous [ip: 59.184.248.228] on October 12, 2008 03:41 PM
It is a social networking site package, while drupal is CMS (Content Management System).
http://theusefulinfo.com

#

Custom elgg development and customization

Posted by: Anonymous [ip: 122.167.55.128] on October 15, 2008 07:08 AM
Hello,
Elgg is a great open source application to develop social applications quickly and effectively. We have been working with elgg for long time and it looks pretty good. You can contact us if you need any custom development or customization.

Regards,
Lovegin
skype: webcubes
gtalk: loveginjohn

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya