Book Image

Elgg 1.8 Social Networking

By : Cash Costello
Book Image

Elgg 1.8 Social Networking

By: Cash Costello

Overview of this book

As an updated version of the first ever Elgg book, this is an excellent resource for those interested in Elgg development due to its attention to detail, clearly written style and knowledgeable author. - Dave Tosh, Elgg co-founder. In his book, Cash Costello makes full use of his skills in development and communication to tackle the complex subject of Elgg social networking. This easy-to-read guide gives end users, new developers, and old pros alike a solid base to start their venture into social media with Elgg. I highly recommend it as a useful and enjoyable read. - Brett Profitt, Elgg Lead Developer The web is becoming increasingly social as millions of people use it to blog, share, post, 'friend', 'unfriend' (which was made the Oxford word of the year in 2009), comment, and chat. Elgg ñ your award-winning open source social networking engine ñ is tailor-made to create any social networking or social media website you can imagine. If you want to create a social networking website from scratch using Elgg, then this book is exactly what you need.Elgg 1.8 Social Networking covers everything you need to know about building a social networking site with Elgg. It begins with instructions for installing Elgg, continues with a guided tour of its capabilities, and finishes with practical advice on deploying Elgg on a production server. And in between, it is packed with information on configuring and customizing Elgg through plugins and themes.This book is a learn-by-doing guide to creating your own social networking site. It includes three sample case studies on how Elgg could be used as an e-learning tool, an intranet application for organizations, and a niche social networking site. Step by step it takes you through the installation, configuration, and customization of Elgg. Valuable advice is sprinkled throughout the book to enable you to build your site like an expert. For developers, this book provides a multitude of options. First, there is a tutorial-based section that systematically teaches you how to build plugins. Soon you will have ten plugins for use on your site in addition to all the knowledge you have gained. Second, if you prefer a quick overview, this book has an appendix that describes Elgg using the terminology and design patterns common in web development. Third, if you are interested in creating a theme, it also includes a design tutorial and a catalog of Elgg's view templates. The book then goes on to describe what is involved in running a production website. It has sections on selecting a hosting provider, configuring and tuning the server, backing up the site, and dealing with spammers.
Table of Contents (21 chapters)
Elgg 1.8 Social Networking
About the Author
About the Author of 1st edition
About the Reviewers

The Elgg engine

The Elgg platform is divided into two parts: a core engine and plugins that extend that engine. The engine contains the basic building blocks needed for a social website. It also provides the framework for developers to create new social tools through plugins. Here is a quick overview of what the Elgg engine does for your site.

User management

The Elgg engine handles basic user account creation and management. Registration, logging in, password resets, and e-mail address changes are all handled for you by the engine. Elgg also supports external authentication so that sites can integrate user accounts with other services. For example, there are plugins available that use this capability to enable users to log in with their credentials from Facebook or Twitter.

Privacy controls

Users want to control who has access to their data and the Elgg engine does this through a granular permission system. Every piece of content in Elgg has an access level assigned to it. It could be a blog post, a video, or an individual profile element. The engine gives users tremendous flexibility in who can see their data through simple privacy controls and custom access lists.


The engine has all the hooks so that you can do anything from tweaking the default theme to writing a completely new one. You have control over every line of HTML, every layout, every CSS statement. Chapter 9, Theming Elgg describes how to theme Elgg.


It is no fun to share your latest vacation photos without people commenting on them. Elgg has a built-in commenting system that can be applied to any content in the system, whether blogs, bookmarks, or videos. This is great for plugin authors because they do not have to write any code to handle comments. It is also good for you as the commenting system looks and works the same way throughout the site.


A feature common to social sites is tagging. Tags are keywords attached to content. When you click on a tag, it shows you all the content that shares that keyword. Elgg has a common interface for tagging content—whether blog posts, files, or a user's profile. The engine also makes it easy to create tag clouds.


Widgets are draggable, customizable components that are often found on web portals such as iGoogle or My Yahoo!. Many of the plugins that are distributed with Elgg have their own widgets that can be placed on a user's profile page. The widgets display members' latest blog posts, who they are friends with, or what groups they have joined. Most social media sites provide bits of JavaScript that can be used to create new widgets within Elgg. For example, there is a widget that displays a user's latest tweets from Twitter.


Your users may not all speak the same language and you might want your site to support their native languages. The Elgg engine can load different language files based on user preference. By default, Elgg's engine and the bundled plugins come with English language files. People in the Elgg community have created translations for languages ranging from German to Chinese to Basque.


A challenge for any social site is how to keep people coming back. E-mail notification is one popular technique that Elgg supports. Another option is providing RSS feeds so that users can monitor activity on your site. The Elgg engine can turn almost any page into a RSS feed. Do you want site-wide activity? There is a feed for that. How about the latest posts in a group forum? There is a feed for that. Looking to stay updated on the newest comments on a blog post? There is a feed for that, too. Just look for the orange feed icon at the top of the sidebar menu or in your web browser's location bar.

Web services

A majority of Twitter's traffic comes from desktop and mobile clients. How does this work? Twitter provides a web services API so developers can write applications such as TweetDeck, which interfaces with Twitter. The applications can pull the latest tweets out of Twitter and can post new tweets for the user. Elgg has a framework for building web services APIs much like those of Twitter or Flickr. Think of all the possibilities: desktop clients for notifications, mobile clients for sharing photos, mashups that use your site's data.