Elgg Beginners' Guide - What is Elgg?

What's Elgg?

Elgg is a social networking framework. It provides the necessary functionality to allow you to run your own social networking site, whether publicly (like Facebook) or internally on a networked intranet (like Microsoft Sharepoint).

Elgg is an open source product. Not all open source products are free to download, but Elgg is. That means, in its simplest form, Elgg costs nothing at all. This does not mean it's public domain: Elgg is released under the GNU Public License v2, which means the source code is licensed to you (e.g. you can create your own social network and earn money from ads, but you can't............help me please.........). With any software, it's always a good idea to read the license.

To run Elgg, you need to install it in a web server, but if you are a real beginner, you may find a hosting provider that can easily and cheaply do it for you! Search on Google or take a look here! (If you aren't new at these things you can find more detailed installation requirements over here, the installation guidelines and a list of Features).

A certain amount of technical knowledge will make you able to quickly customize your website, but don't worry if you have NO programming skills! We are creating this guide for you!

A panoramic view of Elgg - Demo website - User-side/Admin-side.

Most of the end user functionality in Elgg comes from plugins, that's why we provide the installation with some of them pre-loaded, which are listed below. In addition to them you can find a list of other available plugins over at elgg.org.

Take in mind that Elgg, as many other CMS, has two "operating sides" in which the administrator has to work: the User-side (that's what all the members are going to see and take part of), and the Admin-side (all it's hidden and works on the backstage).

Let's begin with the User-side.

Maybe you tried other CMS and before to install it (later we'll talk about how to do it) you would like to know if Elgg can fit your needs: we are going to give you a picture of the full Elgg bundle. Here's the demo site running a standard installation of Elgg.

The first page you face with is the front page, where you find the log-in/register form. Once logged in you are redirected to the main page or activity page that shows you all the members' activities: you can filter them through the tabs All, Friends and Mine. It is more a notification page than a content page.

This framework is more an actions-and-interactions-among-members "provider" (like Facebook), than a content from admin "displayer" (like Wordpress). It is about members creating content rather than administrators publishing content. You have to look at the website you've just installed with the Member's eyes, not with the Admin's eyes. To extremize the concept: Elgg is not to show the people something, but to let them interact. All you see in the menu (Blogs, Groups, Files, Bookmarks, Members, Pages) are things that all the members can create and share with other members. You don't have to look for static pages or a menu linking to the classical "Home", "About us", "Contacts", "Mission", "Products", or so. If you (admin-site creator) want to create new static pages for all the members you can't use the built-in "pages" section (in the user-side menu), because it is a collection of pages created by members and are not parts of the website structure. For those things you'll have to find extra plugins.

The components of your menu reflect the plugins pre-loaded functionalities, so be sure they are all activated: Activity, Friends, Groups, Members, Blogs, Pages, Files, Bookmarks, The Wire. Other User-side funcionalities are: Avatar, Profile, Dashboard, Message board, Private messaging. Anyway, admins are able to turn plugins on/off to get the functionality that they want: just because we distribute Elgg with a set of plugins doesn't mean that you should use all of them!


If we cross to the Admin-side... Well... the Admin-side is very intuitive, it doesn't need so many considerations. If you spend some minutes browsing through it you will learn very quickly. Maybe we should spend some words about the "Flush the caches" and "Upgrade" buttons......help me here.......

A few suggestions to get started!


Now if you want to learn how to fully customize your Elgg site, you'll need to jump into a deeper level of knowledge: the structure, the code, the core, the pugins... the development.


  • I would like to contribute to the Elgg documentation improvement. I'm a very beginner, so I'll ask many many questions. I'll try to elaborate the Community Users' answers in these pages to be a collection of suggestions for the wiki.

  • First, a trifle: in the wiki page there's the search field expanding too much on the right and covering some text, what about shortening it?

  • Agree on the search bar - it happened after we upgrade the wiki software and we haven't fixed it yet.

  • Basicly I'm re-arranging the wiki according to my beginner's feeling. I tryed Wordpress, Buddypress, Dot-Net-Nuke and Dolphin, maybe I'm not the only one, that's why the wiki has to immediatly "redirect" the newbies in what to expect from Elgg.

    Finally... I'm italian, be clement with my English!

  • Thanks for working on this. A few comments:

    1. We used to distribute Elgg in two packages - core and full, but we only do full now. If the current wiki says that, we should update it.
    2. Good point that this is about members creating content rather than administrators publishing content (like a Wordpress blog)
    3. The tour approach is a good one.
  • Thanks for the comments Cash. I used your phrase: "is about members creating content rather than administrators publishing content" and updated the packages' matter. Now I'm facing with the differences between dashboard and profile; between the activity river and other notifications; but also among blogs, the wire and message board.

  • The profile is what others see of you. The dashboard is your personal view of the social network. No one else can see your dashboard.

    I think of the activity river as a permanent stream of user activity shared among the users. Notifications are things that you can delete and are just for you. We are talking about how to unify notifications and the activity stream but have not made any progress on that.

    My guess is that many sites pick between the wire and the message board. There is not that much of a difference between them. I guess the wire is more public than the message board. It is also possible to have wire posts sent to Twitter automatically.  

  • Ok... so, in my opinion...

    The "dashboard" is a page where I get a picture of what's happening (and what's happened) in the site, right? A kind of control panel about those things I'm interested on. These things are single user's or groups' activities, latest posts in blogs, new created pages, notifications, news from admin etc, etc... So you have to make this control panel customizable (to the admin).

    There should be only one such a page, otherwise the user can be confused. I think the activity page may be the best choice; the actual dashboard is not so useful. What about adding the widgets and the wire to the activity page? If we invent some widget for keeping the notifications well ordered, we'll have the whole situation under control. No one can see our activity page. In the profile we put all what we want the other can see about us, including our activity stream with personalized privacy settings. Just like facebook, but facebook doesn't have a customizable activity page. In the column(s) the admin can choose which widget to insert and in which order.

    Finally, from the wire and the message board you have to make one. I think it is better to implement a unique commenting, sharing (and, why not, voting) customizable sistem than creating a number of "editing boxes" with different features. The Blogs have to acquire importance, but I don't know how yet.

  • Elgg is a framework for building social sites. Admins are able to turn plugins on/off to get the functionality that they want. Just because we distribute Elgg with a set of plugins doesn't mean that you should use all of them. 

  • So, what can we say about the "Flush the caches" and "Upgrade" buttons?

  • So totaly greenhorn here. I've downloaded xampp software which has all the up to date mySql, php, apache, etc. Do I need to get cloud based webserver host service setup as well? I'm apologize if this is a really easy question but I've never done this before 

  • Xampp will let you install Elgg locally. There is a tutorial for it at http://docs.elgg.org. See section under installation.

  • I am comletely new. How can I start? How do I use this software? I want to use a domain hosted on Godaddy. Used to work with WP a lot. So what is the first step?

  • BTW, The "GNU ... Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it." So the source code is licenced to you to USE, but you do not have the freedom to change it and then go sell it. You don't own it.

    That said, there obviously are people charging for, say, custom index pages in Elgg, and Wordpress too. So I'm not exactly sure how that works.

  • How do I edit a comment? I only see an X for delete. (This is why I was reading "Beginner's Guide":)

    That quote was from http://www.gnu.org/copyleft/copyleft.html

    But now that I'm here, I'll add, Gabriele -- Check out Cash's excellent book! The "Official" Elgg guide is excellent, and really really funny! (Not to say this thread is not also a good idea, but it is a supplement. And, you know, you were the last commenter, almost a year ago, so you'll probably get more questions answered in the book, faster.)