PHP JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.scripts feat(cli): add flush and upgrade commands Apr 17, 2018
.tx chore(i18n): plugin documentation can be translated in Transifex Jan 19, 2018
actions fix(upgrades): remove pending upgrades notice upon completion Apr 19, 2018
bower_components/jquery-ui-extensions chore(composer): moved ImgAreaSelect and Jeditable libs to composer Jul 28, 2017
docs feat(logger): Logger now uses Monolog Apr 24, 2018
elgg-config feat(cache): boot cache is now enabled by default Jan 25, 2018
engine chore(tests): get a clean logger state for each test Apr 24, 2018
grunt chore(docs): Improves UX for docs editors Jan 15, 2015
install chore(i18n): use long array notation for easy Transifex client support Jan 22, 2018
languages fix(upgrades): delete entities associated with removed plugins Apr 19, 2018
mod feat(developers): screen logging is now written to file Apr 24, 2018
views Merge pull request #11931 from jdalsem/last-beta-issues Apr 24, 2018
.gitignore chore(legacy_urls): removed the plugin from Elgg core Jan 19, 2018
.mailmap chore(mailmap): canonicalize all to Evan Winslow Jun 9, 2014
.travis.yml feat(cli): add flush and upgrade commands Apr 17, 2018 Merge remote-tracking branch 'remote/2.3' into upmerge-2.3-20180329 Mar 29, 2018 Merge branch '1.9' into 1.10 Dec 3, 2014
CONTRIBUTORS.txt chore(docs): update contact info in readme and contributors Jun 9, 2014
COPYRIGHT.txt chore(docs): Updated copyright and license. May 10, 2017
Gruntfile.js chore(docs): Improves UX for docs editors Jan 15, 2015
LICENSE.txt chore(docs): Updated copyright and license. May 10, 2017 feat(logger): Logger now uses Monolog Apr 24, 2018
autoloader.php chore(core): correctly exit with a error state when including autoloader Nov 22, 2017
composer.json feat(logger): Logger now uses Monolog Apr 24, 2018
composer.lock feat(logger): Logger now uses Monolog Apr 24, 2018
elgg-cli feat(logger): Logger now uses Monolog Apr 24, 2018
index.php chore(core): Overhauls installer, boot, and configuration Aug 6, 2017
install.php fix(install): Set default timezone on installation Jan 2, 2016
package.json Merge remote-tracking branch 'remote/2.3' into upmerge-2.3-20180119 Jan 19, 2018
phpunit.xml feat(system_log): move system log to its own plugin Dec 22, 2017
upgrade.php feature(composer): Fully support installing Elgg as a composer depend… Jul 1, 2015
version.php chore(schema): removes legacy salt/password columns Apr 12, 2017
yarn.lock chore(build): move JS package mgmt from npm to Yarn Apr 19, 2017


Build Status Scrutinizer Quality Score Scrutinizer Code Coverage Read the docs build status

Elgg is an open source rapid development framework for socially aware web applications.


  • Well-documented core API that allows developers to kick start their new project with a simple learning curve
  • Composer is the package manager of choice that greatly simplifes installation and maintenance of Elgg core and plugins
  • Flexible system of hooks and events that allows plugins to extend and modify most aspects of application's functionality and behavior
  • Extendable system of views that allows plugins to collaborate on application's presentation layer and built out complex custom themes
  • Cacheable system of static assets that allows themes and plugins to serve images, stylesheets, fonts and scripts bypassing the engine
  • User authentication is powered by pluggable auth modules, which allow applications to implement custom authentication protocols
  • Security is ensured by built-in anti CSRF validation, strict XSS filters, HMAC signatures, latest cryptographic approaches to password hashing
  • Client-side API powered by asynchronous JavaScript modules via RequireJS and a build-in Ajax service for easy communication with the server
  • Flexible entity system that allows applications to prototype new types of content and user interactions
  • Opinionated data model with a consolidated API layer that allows the developers to easily interface with the database
  • Access control system that allows applications to build granular content access policies, as well as create private networks and intranets
  • Groups - out of the box support for user groups
  • File storage powered by flexible API that allows plugins to store user-generated files and serve/stream them without booting the engine
  • Notifications service that allows applications to subscribe users to on-site and email notifications and implement integrations with other their-party services
  • RPC web services that can be used for complex integrations with external applications and mobile clients
  • Internationalization and localization of Elgg applications is simple and can be integrated with third-party services such as Transifex
  • Elgg community that can help with any arising issues and hosts a repository of 1000+ open source plugins

Under the hood:

  • Elgg is a modular OOP framework that is driven by DI services
  • NGINX or Apache compatible
  • Symfony2 HTTP Foundation handles requests and responses
  • RequireJS handles AMD
  • Zend Mail handles outgoing email
  • htmLawed XSS filters
  • Composer asset plugin for NPM/Bower dependencies
  • DBAL
  • Phinx database migrations
  • CSS-Crush for CSS preprocessing
  • Imagine for image manipulation
  • Memcached support
  • Redis support (not CI-tested)
  • Error handling with Monolog

Elgg Foundation

Elgg is managed by the Elgg Foundation, a nonprofit organization that was founded to govern, protect, and promote the Elgg open source social network engine. The Foundation aims to provide a stable, commercially and individually independent organization that operates in the best interest of Elgg as an open source project.

The Elgg project was started in 2004 by


Copyright (c) 2008-2017, see COPYRIGHT.txt

Elgg is released under the GNU General Public License (GPL) Version 2 and the Massachusetts Institute of Technology (MIT-X11) License.

See LICENSE.txt in the root of the package you downloaded.


For installation instructions, see

For upgrade instructions, see


The project site can be found at

Visit for more information about Elgg.


For development credits, see CONTRIBUTORS.txt.