Elgg  is one of the most popular open source social networking platform,which runs on the LAMP(Linux, Apache, MySQL, and PHP)

Elgg offers advanced social networking,user management and administration.And elgg has multiple views that allows for mobile applications and embeddable widgets and the web browser view .Elgg has so many features which makes it as the best cms for social networking sites.It has the features friends ,profiles,avatars, and an editable dashboard with widgets.Elgg installation also provides some optional plugins like blog,file,groups etc by default.All these features(Blogs, profiles, communities, files etc)can be shared among users with access levels(private,public and loggedin) and everything can be cataloged by tags.Since everything in elgg is in the form of plugins, it is very flexible to add your own features in to your elgg site .And it also provides a rich library in its core .

Elgg shared the second best award with drupal , in Open Source Social Networking Content Management System awards 2007. and in 2008 Elgg has been featured as the best opensource networking platform award in InfoWorld's 2008 best of opensource awards.

Now Elgg is very popular and it has been used to power social networks for various institutions and organisations.

Elgg Installation :


The basic requirements for Elgg is listed belows :

* Apache web server needs to be installed with the following modules,

1)mod_rewrite : This module handles a rule-based rewriting engine to rewrite requested URLs ,This module provides unlimited number of rule conditions ,which allows flexible and powerful URL manipulation mechanism.

2) PHP 5+ with the libraries (GD : dynamic image creation,JavaScript Object Notation for API functionality ,multibyte string support for internationalisation) and also recomends the php modules,SOAP and DOM for some plugins and extra functionality

* For data storage MySQL 5+ is required

Installation process :

You can download thelatest version of Elgg from http://elgg.org. Unzip Elgg and upload the files in to your webserver.

You have to create a data directory to store uploaded files.For the security reasons Elgg suggests that data folder should be at out side of the elgg installation .And must be writable to Elgg.

Create a mysql database and Add a user to the database with all privileges.and access your site through browser .

Elgg will allow you to enter the following settings

dbuser : username for database( with all privileges)

dbpass :dbuser password

dbname :database name

dbhost :host name(generally local host)

dbprefix: the name you would like to prefix Elgg tables(by default it is elgg )

After Entering these settings you need to refresh the page .

Elgg installer will try to create two files automatically for your installation. settings.php, which contains the database settings for your installation and .htaccess file.

If these files can't be automatically generated, Elgg installer will give you these files and you have to save it in correct path (ie engine/settings.php and /.htaccess (in this example elgg is the root folder) )

Incase, this won't work, you have to copy engine/settings.example.php to engine/settings.php , open the file and fill in your database details and Copy /htaccess_dist to /.htaccess .

.If the settings are success elgg will redirect in to a page where you can enter site sdetails and full path to the data directory you have created .then refresh the page

The next page will allow you to enter administrator login details.submit the page .Now you can login using the administrator login.

 Introduction to GUI :

 In the top toolbar, for admin login you can see an administrator link which allows the site administration.

Through the admin panel admin can manage users(user management),can activate/deactivate plugins(Tolls management).

And each user will have a settings menu in top toolbar formanaging individual account settings .

And the top tool bar has a tools menu which is used for navigation along the site.

 Introduction to DB :

 The elgg provides a flexible  data model .You can see the table schema  in the elgg core engine .( engine/schema/mysql.sql).

The tables are automatically generated by the elgg installer on the Database specified by you in the settings .

Main tables :

The dbprefix will be the string which is entred by you in the settings during installation( dbprefix)

dbprefixentities : This is the main Elgg entity table.Elgg defines four basic entity types, ElggSite, ElggUser, elggObject and ElggGroup

dbprefixentity_subtypes : This table contains entity subtype information: For example an elgg object can have subtype blog

dbprefixobjects_entity :This table stores additional information relating to object entities

dbprefixsites_entity :This table stores additional information relating to site entities

dbprefixusers_entity :This table stores additional information relating to user entities

dbprefixgroups_entity :This table stores additional information relating to group entities

dbprefixmetadata : This table containsadditional informations attached to an entity.

dbprefixmetastrings : This table contain the actual string of metadata which is linked to by the metadata and annotations tables

Both tables(metadata&annotation) will have a name_id and a value_id which will be an id from metastring

dbprefixannotations : This table contains annotations (for example comments for discussions/blog is saved as annotations )

dbprefixrelationships :This table defines relationships between two entities.

dbprefixconfig:This table defines config settings.

Be an Elggist ;)  good luck :)


അനൂപ് അമ്പലപ്പുഴ said... @ Friday, September 4, 2009 at 5:29:00 AM GMT+1

A good elgg explanation.

Post a Comment

Please put your comments here. your questions, your suggestions, also what went wrong with me.