To get the creative juices flowing and as a demonstration of how Elgg can be used, consider the following three case studies.
James wants to create a social networking site for tango dancers around the world. He wants his users to be able to upload tango music and playlists. They can upload videos of tango dancing and rate them. Each city will have its own group where members can discuss tango related activities. The groups should have a calendar that lists the upcoming dances and a place for people to post photos of previous events. James also wants to pull in posts by tango bloggers from outside his site and redistribute them as a feed to make it easy for people to follow what people are saying in the community. He, of course, also wants a slick theme that elicits the emotion of the dance.
James has selected Elgg to run his site. As he looks through what plugins are available, he sees that there is already a file sharing plugin with an extension for playing MP3s in the page. He decides to rename the default blog plugin to playlists so that people can create and comment on them. James is delighted when he sees a video plugin that uses the Kaltura video site as the backend. This means the videos will not be stored on his server, decreasing his storage requirements.
For the city-focused groups, he uses the Elgg group's plugin in combination with plugins that provide an event calendar and a photo gallery. He likes that the gallery plugin provides photo tagging and hopes that the tagging notifications gives people a reason to keep coming back to the site. He still needs to figure out how to pull in the blog feeds of tango bloggers. He finds a plugin that displays RSS feeds on user profile pages, but it requires additional development to make it do exactly what he wants. He happens to have a friend with PHP experience and with a little free development help; he now has an aggregated tango blog feed.
With theming he has two choices: either download a free theme and modify it to fit his needs or contract with a web designer to build one for him. James decides that the visual interface is too important to skimp on and uses a freelance designer.
The only step left is convincing people to use his site. James has been smart. By resyndicating the blog feeds he has won the favor of the bloggers who now link back to his site. He also recruited a few well known dancers from key cities to join. James's final step is to contract a developer to create an invitational system plugin. Each member gets a limited number of invites and the only way to join is to get an invite. This helps to create a buzz about the new tango site.
From this example, you not only see how James used Elgg but also that creating and growing a social networking site is more than software. A common mistake is spending a lot of time building a site and forgetting about the challenges of getting people to use it.
Four of the plugins mentioned are distributed with Elgg: file sharing, MP3 player (zaudio plugin), blogging, and groups. The Kaltura collaborative video plugin by Ivan Vergés, event calendar plugin by Kevin Jardine, the Tidypics photo gallery plugin by the Tidypics team, and the Simplepie RSS feed plugin by Cash Costello are all available from the plugin repository on the Elgg website.
Imagine a theoretical company called Acme Corporation. Acme has deployed applications on their intranet to encourage collaboration among their employees. They are using MediaWiki as their wiki and Sharepoint for file sharing. Management and the employees are not satisfied with the current solution. They still feel that it is difficult to find the right person with the right expertise for a project, quickly organize ad hoc teams, or form communities of practice that cut across organizational boundaries. They need software to tie together the current intranet applications while providing the social functionality needed to address the mentioned limitations.
The collaborative software team decides to create a prototype with Elgg to evaluate a social networking solution. The first requirement is that the users need to be able to log in using their Active Directory credentials. Fortunately, there is already a LDAP plugin available and with a small amount of configuration, it is up and running. The second requirement is supporting the formation of communities of practice. The group plugin distributed with Elgg provides this capability and it is activated on the development server.
Next, on the list is user profiles to help with the challenge of finding expertise. The profile plugin that comes with Elgg has tagged profile fields, but the development team felt they needed a more powerful and extensible profile capability. A third-party plugin that extends the profile plugin to provide profile types and more customizable profile fields was found on the Elgg community plugin repository.
Integration with MediaWiki and Sharepoint are the remaining requirements. Another organization released a MediaWiki plugin that pulls content out of the wiki and makes it available within Elgg. That was a quick solution, but integration with Sharepoint proves to be more difficult. After some research, they decide to write a custom plugin to use Sharepoint's web services API. The developers end up tying in updates on files in Sharepoint to the activity stream provided by Elgg. Now users can get updates on anything that is happening in the wiki, Sharepoint, or Elgg in one place.
A few of the developers have been using Twitter so they try out Elgg's microblogging plugin. The team likes its ease of use and the ability to share quick status updates, so they decide to include it in the production system.
Before making the site available, the development teams decides to create accounts for all the employees first. They write a plugin that extends the LDAP plugin that grabs all the users from the Active Directory server, creates the accounts, and fills in some of the profile fields. To speed adoption of the new application, particular communities that would benefit from the groups capability are targeted. Very soon there is an active group for Java developers with shared code snippets and discussion threads on unit testing, distributed versioning systems, and many other topics.
Core plugins mentioned were groups, the wire (microblogging), and profile. The profile manager plugin by ColdTrick IT Solutions is available from the Elgg community plugin repository. The MediaWiki integration plugin written by the MITRE Corporation is also available there. The LDAP plugin is available from Elgg's github account (https://github.com/Elgg).
Mr. Harris teaches middle school history and wants to use collaborative technology for a group project idea that he has. He needs a web-based application that is simple to set up and requires minimal configuration. Mr. Harris wants the students to break up into teams, research a historical figure, and then create an online profile for that person. The profile will include biographical information along with status updates and blogs written from the perspective of the historical figure. He also wants the students to use the site to collect resources and collaborate on the writing process.
He decides the tools he needs are blogging, groups, bookmarking, and collaborative document editing. Another requirement is that the students need to be able to access it at home and school, but no one else on the Internet should be able to see the data. One last requirement is that it must be cheap—preferably free.
Mr. Harris was recently at a conference on online collaboration in the classroom and remembers Elgg being mentioned. As he looks through the plugins, he sees all the tools that he needs. Blogging, groups, profiles, status updates, and social bookmarking are all available.
The teams will use the social bookmarking plugin to save and share online resources. The pages plugin will be used by the teams to collect the information they have gathered, both Internet and book based, in one place before they create the profile or write the blog posts. Mr. Harris likes that the pages plugin records who has been working on each web page so that he can see who is contributing to it.
The last piece is making the site a walled garden so that only students and school staff can log in and see the data. Fortunately, Elgg got its start in the educational arena and has that feature built-in. Because Elgg is free open source software, Mr. Harris was able to do all of this without any cost other than his time.
The school IT staff installs Elgg on a server. Mr. Harris creates a spreadsheet with all the students' information and uses an importer plugin to create accounts for them. The experiment is a success. The students like working in an environment that feels like Facebook and are comfortable using these types of tools. A few of the blog posts that they wrote are quite entertaining.