Social networking giants like Facebook and MySpace have become extremely popular today. And enterprises have realized the potential of social media and started to deploy social networking tools for their internal usage. Social media tools like blogs, wikis, forums, etc. have already made a headway into the intranets of enterprises. Many organizations having e-commerce businesses use social networking tools to develop specific communities on their sites to create a loyal customer base. Elgg is one such social networking tool that can be used to create a full fledged social networking website to be run publicly or within an enterprise.
Applies To: IT Managers
USP: Impressive feature list and advanced administration controls
Primary Link: www.elgg.org
Elgg is an open source social networking framework that provides the functionality to create fully-featured social networking websites. It allows users to be at the center of their activities from where they can collaborate, share and communicate with other users. Elgg comes with an impressive feature set in the form of plugins. These plugins offer various social networking functionalities like blog, bookmarking, tagging, message board, activity tracking, notifications, etc. The administration control panel of a site created with Elgg is easy, and has a very advanced user management and administration control panel.
The administrator can easily setup the default user profile by dragging and dropping the widgets and filling out the information. Upon logging in, a user can also change and even add new widgets to his profile, thus providing users with customization privileges.
Elgg comes as a package of social networking tools, instead of having a collection of different social networking solutions for blogging, wiki, etc. Elgg can be used to create a complete social networking website with multiple view support feature which allows the content to be viewed on mobile applications as well as traditional web browsers.
Add the rewrite and PHP modules to the Apache Web server as it will be required by Elgg for execution.
To run an Elgg based site, you require a combination of Apache Web server, MySQL as its database server, and PHP. With this month's DVD, we have provided the latest version of Elgg . Since a combination of Apache, MySQL and PHP is needed to run Elgg, the DVD also contains WAMPServer, which is a single installation package for Apache, MySQL and PHP, thus providing simpler and easy administration of all these three prerequisites.
There are few requirements that need to be met before starting the Elgg installation. One, the Apache Web server needs to be installed with mod_rewrite and PHP 5 modules and MySQL should be of version 5 or later. You also need PHP 5.2 or later. With this latest release of WAMPServer, we are able to meet all these requisites. First by installing WAMPServer, we will have Apache 2.2, MySQL 5.1 and PHP 5.2 versions installed, which will satisfy the Elgg requirements to run. Now before starting the Elgg installation, we have to add the rewrite and PHP5 module to Apache web server. To add these modules, click on the system tray icon of WAMPServer. And from the menu, select Apache and then from the sub-menu, select Apache modules. A list of available modules will be shown.By scrolling down, select the 'rewrite_module' and 'php5 module' from the list.
Once we have setup the Web server and added the required modules, we can proceed with Elgg installation. Elgg comes as a zipped package, so if you want to install Elgg in your root domain, just extract the content of the Elgg zipped folder into the document root directory of the web server (in our case into the www directory of the Apache web server).
It shows the default profile page for a user. Through the dashboard, a user can customize the layout of his profile page.
Besides, if you want to have a social networking facility added to your existing site, you can then add the extracted Elgg folder as a subdirectory to the root domain. In our case, we will install Elgg on a local Web server, and will keep it as a subdirectory. We will extract the Elgg folder and upload the content of that folder into a folder named 'elgg' in the www directory of the Apache web server. Thus the URL will be of the form like: http://localhost/elgg.
Elgg provides a feature of file sharing whereby users can upload files and share them across other users on the board. For this, Elgg requires a separate folder to be created where such uploaded files, their thumbnails and also the profile icons will be stored. Create a folder named as 'data' outside of the document root folder where you have installed Elgg. And once the folder has been created, make sure that you have enabled the write permission to it.
Now using WAMServer's phpMyAdmin, we'll create a new database for Elgg and name it as 'elgg'. Also we'll have to create a new user 'elgg' that will have administrative privileges for the database 'elgg'. This database name, username and password will be required by the installer while going through the Elgg installation process.
Setting up Elgg
Once the initial steps have been performed, you can visit your Elgg site on the web browser. Going to http://localhost/elgg will open up final installation process, through which you can now configure Elgg to be your own social networking website. After providing the database details in the welcome page, you will be prompted for the system settings on the next page. Here you can provide a name for your website, also you'll have to provide the path of the directory where the uploaded files will be stored. Now from the following setup page, you can create a administrator for the website. Once the administrator logs in from the Tools Administration, he can enable and configure various plugins that will be installed for the website, like blogging, bookmarking, etc. Once the plugins are installed, the default page for the website can be configured by simple drag and drop of widgets.
Elgg can not only be used as an internal social networking site for enterprise usage, but can also be used by companies with e-commerce websites. Adding a social networking facility to their existing website will enable them to have a platform where they can create user communities for their products and interact with their users.