Elgg 2.0.0-alpha.3 released

Elgg 2.0.0-alpha.3 is now available for download. This pre-release is meant for early testers and plugin developers. Please do not use it in production.


  • Evan Winslow (6)
  • Jeroen Dalsem (3)
  • Juho Jaakkola (3)
  • Steve Clay (3)
  • Jerôme Bakker (1)
  • Juho Jaakkola (1)
  • Matt Beckett (1)


  • developers: Always show human-readable translations (43c19644, closes #8834)
  • i18n: abbreviations for months and weekdays (889617ed)
  • views:
    • added html5 audio support to the file plugin (e5a32390)
    • Allow sites to specify views.php at root (625c1ddd)


  • nginx: Turn on gzip by default (49f776d3)

Bug Fixes

  • cli: Rewrite ::installDir() to Directory\Local::root() in CLI server (1e1f446b)
  • discussions: Body of discussion notification mail is not empty anymore (23ab3e51)
  • entities: Entity creation no longer needlessly checks owner container (5adf98fd, closes #4231)
  • icons: sizes of Font awesome icons are now more consistent with old icons (11386003, closes #8733, #8861)

Breaking Changes

  • If a plugin has removed or replaced messages_notifier to hide/alter the inbox icon, the plugin must instead do the same for the topbar menu handler (messages_register_topbar).

Fixes #8862 (67cff474)

  • When creating within a group, ElggEntity::create used to always separately check if the current user can use the owner's account as a container. This made sure that one group member could not post to the group using another member as owner. This separate check led to confusion, as handlers of the container_permissions_check hook were told that the owner was to be the container, when it was actually the group.

Here we bypass the separate owner container check if the desired owner_guid is the logged in user GUID. This eliminates the check under all normal circumstances but leaves it in place in case a poorly coded plugin allows the impersonation described above.

This also denies creation if the owner/container GUIDs are set but can't be loaded. Before, create() would simply bypass the permissions check if it couldn't load the owner/container.

Fixes #4231 (5adf98fd)

  • We've removed the "categories" plugin from core.

You may access it at https://github.com/Elgg/categories

Fixes #7584 (ba0c12f2)

  • approximately when I can take ELGG2.0 for production.  I am eagerly waiting for 2.0 for speed improvements.

    one of my website is recently up, I think I can take a risk of moving to ELGG2.0

  • @Juho... unless I am missing something, the above link still downloads Elgg 2.0.0-alpha.2... regards.

  • Bugger. The starter project which is used to install Elgg 2.0 was still using alpha 2 when I made the zip package. We'll need to create a new zip.

    Thanks for reporting this!

  • I have started a new project with 2.0. By the time I am ready for deployment, it will be stable. So far there were no major issues, just minor hick-ups due to changes that are being made on rolling basis. I am quite happy, I must say. Extremely excited about static view registration features, theming and writing JS is a bliss.

  • I've fixed the zip package. Now it contains alpha.3 instead of alpha.2.

  • Love the font awesome integration! Keep up the great work guys.

  • I don't see any BC breaks left planned. Next version should be beta.1. Maybe this version could have been beta.1... Will release betas until there are no remaining issues to close, then will do an rc.1. If no new blocking issues surface in the two weeks after an rc, will do a final release.

    So I'm thinking 6 weeks minimum. Maybe longer depending how many bugs turn up.

    Once we release the first beta we should add 2.0 as a valid elgg version so plugin authors can start releasing any needed upgrades.

  • I agree that this could have been beta.1. I was a bit busy so I didn't have time to think that through.

  • 1> Yesterday i install elgg 2.0 alpha it instal  perfect.

    but when i see the mod folder there are all plugins.

    but i confuse when i check vendor\elgg\elgg\mod     there also all plugin 

    so what purpose of it its mistake or new logic for elgg please inform me.

    2> and the second question is 

    the file is not load .===require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");

    please inform me i am eager to know it

    1. Core plugins get installed under vendor/ directory because they are part of the elgg/elgg package. Third-party plugins get installed under the root mod/ directory. Most likely in the long run we're going to install all plugins under the root mod/ directory.
    2. Yes. Elgg 2.0 is not including start.php. What is the question? :)
  • It might be best to start a separate discussion for the usage of \Elgg\Application class. Could you add it e.g. to the Technical support group?

  • on my makbook local host when I tried to install this elgg2.0   I get this error, even before I hit /install

     PHP Parse error:  syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /vendor/elgg/elgg/engine/classes/Elgg/Di/ServiceProvider.php on line 99

    I have PHP5.4.10

  • I believe you need PHP 5.5 for Elgg 2.0

  • I'm on a shared Linux hosting with GoDaddy and currently the latest version of php I can run is 5.4. If elgg 2.0 requires 5.5 hopefully I'll be able to upgrade to 5.5 not long after version 2.0 is released.

  • @Juho, @enRaiser, Glad to hear the install went well. When building with Composer, core plugins are symlinked from mod/* to vendor/elgg/elgg/mod/*. When we bundle this as a zip, the symlinks gets removed and replaced with copies of the file instead, so that's what you're seeing.

    @Dan, bug your host about upgrading. PHP 7 RCs are coming out and PHP 5.4 is not even receiving security patches anymore starting 9 days from now.


  • Is Elgg  2 running well and tested on php 7 ? Thanks.

  • I upgraded to 5.6 on MAMP server and it works well. the TTFB time (response time reduced from 2700 ms  to 270 ms. that means it became 10 time faster)  but I will confirm after total migration of site.

  • Well my first impression of the install experience of 2.0 on OS X 10.10.4

    composer is a new concept for me... not that straight forward (took me a bit to get it running).  Ultimately I ended up doing the following because of various errors about not finding 'composer'

    # sudo cp composer.phar /usr/local/bin/composer

    I used the following to install composer from their website.

    # curl -sS https://getcomposer.org/installer | php

    But this produces composer.phar and not composer.

    The next issue... in order for me to get the "delete" icons working again I had to add the following class items:

    fa fa-times

    class="elgg-icon-delete elgg-icon" -> class="elgg-icon-delete elgg-icon fa fa-times"

    This seems like a bug to me...  I am no css pro ... so I am not able to point out the issue.

    And the following URL's are not working for me:


    Other then that so far so good for the 10 mins I have been playing around with it.

  • @Evan ,When building with Composer, core plugins are symlinked from mod/* to vendor/elgg/elgg/mod/*. 


    So what are we supposed to do on windows, and linux,   shall we also delete root /elgg and create link. 

    how we can create link in NT?   and  why is this required? are you going to remove symlink in future?

  • shall we also delete root /elgg and create link

    I don't know what you're asking here.

    I don't know much about windows. I figured symlinks were supported on Windows, too. We use the PHP function to create them.

    If all else fails, then just copy the plugins from vendor/elgg/elgg/mod/* to mod/*

  • @kanha

    Is Elgg  2 running well and tested on php 7 ? Thanks.


  • This comment section is getting a bit crowded! Please open a new discussion thread in the forums if you have any specific technical questions. That way it will be easier to concentrate on each subject individually, and you'll get answers more easily.

Latest comments