Elgg 3.0.0-rc.2 has been released

The release of Elgg 3.0 is getting ever closer. Here is a new release candidate to test with.

Please keep in mind this is a Release Candidate, it's not yet ready for production without extensive testing.

If you find any bugs please report them on GitHub.

Release notes

Contributors

  • Jerôme Bakker (90)
  • Jeroen Dalsem (43)
  • Ismayil Khayredinov (4)
  • iionly (2)

Features

  • cli: seeder can use local image directory (d9be6784)
  • core: added helper function to find empty values (c0eea6e3)
  • icons: automaticly detect cropping coordinates during icon upload (ddcf18e1)
  • river: add extra class to river items based on object and action (1941ad2d)
  • upgrades:
    • addes ability to run a single upgrade (6868abf5)
    • add ability to reset an ElggUpgrade (b55a53ea)
    • add listing of completed (async) upgrades (4c547b79)
  • views:
    • implemented helper view to handle entity icon upload (f13192a9)
    • control the list item view for lists (a39892bd)

Performance

  • activity: improved performance of group river filter (dbfdbd6a)
  • composer: plugin autoloaders are registered after core autoloaders (925c5830)
  • plugins: store path in local class variable (5614d315)
  • upgrades: no longer check filesystem for need to run upgrade (94248fbc)
  • views: elgg_list_entities will default preload owner and container (6c84c8b7)

Documentation

  • upgrade: simplify the upgrade docs (7d86f85c)

Bug Fixes

  • activity:
    • correctly select group activity (13ac5617)
    • group activity uses QueryBuilder instead of sql (6f7cbb56)
  • admin: allow removal of hidden users by admins (4630e3a7)
  • annotations: no longer update entity last_action on annotate (a85293eb)
  • blog: group archive using correct options (2cd9766c)
  • blogs: only generate archive menu for supported pages (3f9b07ea)
  • bookmarks: restored the footer menu item to bookmark a page (e1214612)
  • ckeditor: require correct build of ckeditor (59eb753a)
  • comments: ajax loaded comments list updates correctly (b57f26d2)
  • core:
    • serve file with spaces no longer fail with HMAC mismatch (39c3b97a)
    • entity delete will correctly delete owner/container entities (62ab9800)
  • discussions:
    • river items get correctly updated to comments view (9697d74e)
    • do not show entity navigation on full view (f17d1fed)
  • docs: display all code examples with syntax highlighting (30db1053)
  • file: don't use legacy group module extension (129a5b02)
  • groups:
    • allow group icons to be removed (2b990059)
    • group members page not sorting by name (baa9f684)
    • provide correct subtype to title menu button (54583645)
  • icons:
    • correctly report icon delete result (75fe08e0)
    • cropping logic is now controlled by config settings (78a1b5de)
    • correctly set max-width and max-height on avatar icons (a88c2394)
    • easier targeting of different styles of fontawesome icons (febc999f)
  • js:
    • trigger a custom event for FormData preparation (d2200de5)
    • no longer rotate content on ajax reload (3e1c2911)
    • page/components/tabs JS supports all links (4d2ee70c)
  • likes: correctly replace menu item content (603d8f05)
  • menus: sort site menu by menu item text (2776ea0e)
  • messages: no longer strip HTML from notification (cbb9ec62)
  • navigation:
    • breadcrumbs set correct value for empty links (cbafe2c1)
    • make navigations/tabs view support BC tab params (20bee03e)
    • incorrect detection of selected menu items (4b8e1a79)
    • decouple tabs.js from html position (bf263b7a)
    • use ElggMenuItem rendering for tabs (88bc8f4c)
    • added helper class for parents of selected menu items (3b45c0e0)
  • output: no longer output empty classes with elgg_format_element (a4353e95)
  • plugins: reduce callstack and optimized cached for boot plugins (241a74df)
  • rss: correctly check if rss is disabled in config (cd58cc72)
  • schema: restored lost subtype index on entities table (07cd4557)
  • search:
    • allow passing of variables to search result view (d80684c1)
    • improved normalization (#12210) (9ffefc36)
    • pagination no longer rebuilds search params (461c07f6)
    • allow custom sorting (05093512)
    • use correct params for search_type menu items (59e36ad5)
    • prevent duplicate subtype registration (abbfae14)
    • allow entity views to use default search entity view (cca3b8a9)
    • correctly set subtitle in default search entity view (99a8fb79)
    • determine search entity view based on entity viewed (702a3a89)
  • tests: correctly test Ajax.objectify (68ff2bf8)
  • thewire: load correct wire posts for thread (3d03ac5e)
  • views:
    • set no results in vars when no_results is true (ca48d675)
    • improved allowed output values in a module (709e2e72)
    • correctly handle non-default list type in entity listing (6923ebbb)

Deprecations

  • messages: messages_set_url is replaced by ElggEntity::getURL (5f3488a2)
  • Its really a great moment. Gratitude and thanks to all Devs who selflessly are working towards Elgg 3x. HAPPY happy Christmas.
    Some queries and concerns, if I am permitted to express :
    - will there be any possibility of any bundled theme like Aarlborg in final 3x so that usability / UI / nav apperance can be kept the same for convenience of the 2x users
    - Many codes were made by Ismail probably but now it is announced that he has ended support. Will it affect 3x dev ?
    - Can there be a blog post and / or repeated new topics or announcement atop Plugin section requesting plug in devs to update theirs for 3x
    - Any neutral benchmarking that shows speed benefits or speed difference between core 2x and core 3x ?
    Thanks !

  • Will there be any possibility of any bundled theme like Aarlborg in final 3x so that usability / UI / nav appearance can be kept the same for convenience of the 2x users

    As of now, the current theme for Elgg 3.0 is mobile friendly and will be used as the default theme. You can try if the 2.0 plugin is working with 3.0 or not, If not then probably some developer who needs Aarlbong theme can upgrade the theme for 3.0 and share the same with the community.

    Many codes were made by Ismail probably but now it is announced that he has ended support. Will it affect 3x dev ?

    Yes, those plugin might need some code upgrade to support 3.0

    Can there be a blog post and / or repeated new topics or announcement atop Plugin section requesting plug in devs to update theirs for 3x

    I believe that all the developers (who are actually waiting for 3.0) might have already begun with their code updation. Like me, I have 3 website running on elgg and 80% of those plugin are self developed. So I have already started to write/upgrade my codes for 3.0.

    Just have some patience. Once stable version of Elgg 3.0 is officially release you will find developers updating their plugins on the site.

    Bonus: Do keep an eye on the github repo of the plugins. Most of the popular plugin has comitted 3.0 code there. (however, they might not be stable)

  • Thanks Jerome Bakker and Rohit Gupta. Yes Aarlborg, which is already responsive and mobile ready, if has a 3X version will be great, otherwise site members in an upgraded 3x site will have many broken user experiences. Question is : there is NO active theme Dev in the community at present it seems. Same about all the Hype plugins : no Dev has uptaken those orphan modules so far. Yes, I will look at github repos for plugins with 3x code. Overall, Elgg is fantastic ( except the fact that 2 essential features: blocking another user by an user and data content export for users ), Elgg structure and UI is most logical BUT the dwindling number of community coders, and actual code Devs really concerns me in that if I make a new site in Elgg 3x
    - how long I have to wait
    - how long after the needed mods will be ready
    - will Elgg 3x work with php 8x IF Elgg 4x does not become reality due to Coders migrating away for financial reasons and other priorities.
    Many popular php scripts have thus died or dying in face of Fbook and young Devs ultimately needing money and career, many popular php scripts are NO longer usable as hosts refusing to host earlier version php ( do you demolish all old buildings and museums?) . Drupal and Wordpress are surviving because of their business models and Elgg I am not sure. The number of plugins, themes, mods for Elgg as well as number of Devs participating in CODE and community discussions as well as number of ordinary users like me is seriously decreasing as compared to what was even a few years ago. On the other hand Elgg 3x code is said to be much better and faster and yes, shiny and new due to the massive efforts of the few Devs I really worship.

  • Otherwise site members in an upgraded 3x site will have many broken user experiences.

    I will not completely agree to this, facebook has changed it theme from time to time to improve user experience and people has adapted to the new theme every time. I believe Elgg 3.0 theme is better than Aarlborg theme.

    Overall, Elgg is fantastic ( except the fact that 2 essential features: blocking another user by an user and data content export for users)

    Blocking User: https://github.com/arckinteractive/block_users

    What exactly do you mean by "data content export for users"

  • Hello Rohit, many thanks. Yes Fb has "changed" themes for UI improvement and not broken experiences but the basic pattern has remained same over years. Elgg 3x has changed base pattern as evident in many github issues, Elgg docs and in demo running of Elgg 3x RC 1. RC 2 has ammendments and what is "basic pattern" is, I agree, debatable. If the changed UI creates no problem for those 2x 》 3x changed site users and if Elgg 3x can bring back the past glory of increased number of Elgg adopters, Coders and users here in this community then obviously Elgg 3x UI will be winner. But there has been loss of nav features in wide Desktop screens and lost Bookmark, ?RSS shortcuts have come back in RC 2.

    Block users mod does not work as expected as far as I tested. Will test again if it works in 3x [from that github : "a good blocking function is needed, but the Elgg core doesn't really have a good global capability for it." ]

    Export-user-content allows any user to take a download of her all contents in the site, at least text ones, easily, if she wants this anytime or at the time of self deletion of her account.
    Many thanks and regards.

  • Elgg 3.0-rc.2 is FEATURE COMPLETE, so there won't be a theme plugin added in the last minute.

    Up to Elgg 1.8 Elgg core came with no bundled theme plugin but only had a default theme. With Elgg 1.9 the Aalborg theme plugin was added and due to its functionality became the "default theme". Still Elgg could be used without the Aalborg theme if wanted (though not responsive etc. etc.). Defacto Elgg contained two default themes that had to be maintained all the time. So, Elgg 3 will only return to the old way by coming with just a single default theme in core and not as a plugin to simplify maintenance.

    Is that such a big problem? I think not because you still can create a theme plugin as before and customize the UI to your liking. At the very start it might seem more complicated with no bundled theme plugin you can use as starting point to customize but it still works in the same way: overriding views or extending views. So, you would just have to copy the original views of Elgg core into your own theme plugin and then you can make any modifications you like. Some aspects of theming are even easier with Elgg 3 than before.

    Elgg 3 has not yet been released. PATIENCE! I think I might create a plugin with some theming functionality in due time as I want to change a few details I got to like on Elgg 2 with Aalborg theme. But I think there might be other more important tasks for me to be done right now (like updating my plugins for Elgg 3). I also don't like to speak of "broken user experience". Not at all. Some features have changed a bit with the Elgg 3 UI compared to Elgg 2 but I see nothing that has been dropped but only changed. And these changes can be re-built (I think "backported" might be the wrong term here) like putting the footer menu entries (e.g. reporting a page, bookmarking a page, RSS) again into the sidebar or changing the tab orientation. EASILY changed! Wait for my theme or give it a try yourself if your so impatient.

    It's sad about Ismayil having stopped to work on Elgg and his plugins. Very sad indeed! But the code of his plugins is available on github and anyone can take over. OR hire someone who upgrades them to Elgg 3. Maybe it opens the eyes of some of you if you learn how much money it might cost and how much time a hired developer would think it takes to give you an idea what Ismayil has done FOR FREE over all these years! Maybe some other will take over some plugins of Ismayil and publish new and updated releases for free (due being in need of these plugins themselves first of all). But the whole bunch of plugins are certainly not that simple and partly depending on each other to make full use of all functionality. But anyone could take over the job as the code is there to be used and others have done similar things in the past (just like I did back in the days when Elgg 1.8 came out and I was stuck with almost all the plugins I used abandoned by the original developers...).

    PHP 8... Elgg 4... What's the point of making any prophecies one way or the other right now? Elgg 3 has not even be released for heavens sake. Nobody can tell today what might or might not be in a year or two 5, 10 years! Maybe PHP 8 will have only minor incompatibilities compared to PHP 7 and only in so very specific cases that for typical code you might not even need to make any adjustments. And with Elgg 4 it will be similar to Elgg 3: a new MAJOR Elgg release is the opportunity to introduce new things that are not fully backward compatible with the former major Elgg release. Otherwise, Elgg could still be at 1.some_number and could be until the end of time. But then I would also expect some outcry if Elgg wouldn't be able to support certain things that come up in course of time and can only be supported by changing some things in the engine by breaking some things once in a while.

  • Very likely my last post for this year (coming back from holiday only next year after hopefully having re-charged my batteries at least a little bit):

    Merry Christmas and a Happy New Year!

  • @iionly, Happy Holidays and Happy New Year! When did Ismayil stop to work on Elgg and his plugins?

  • Okay, now really the last post for this year. See

    https://elgg.org/profile/ihayredinov and the message at https://hypejunction.com/. I don't think that the reply in the discussion linked by RvR is the reason. I guess it might have been a decision in the making since a while.

    The github repositories (like https://github.com/hypeJunction/hypeWall) of all hype* plugins are put into read-only mode, i.e. you can still fork them and download the releases but you can no longer open issues or make pull requests. So, the plugins can still be used but they won't be any more development on them for the time being (until either Ismayil gets some funding, reconsiders for some other reason or someone else takes over).

     

  • Thanks a lot Iionly. Surely waiting for your theme. I apologize if I sound impatient but I am not that at all.
    I will not like my new site to die in next 15 or 20 years and better still, will like it stay for the life of internet. What I mean in reality is I want to base it on a script that gets update on its core plus mods with advancing versions oh php, as well as updated versions of core are not causing any user experience changes ( apart from improving). It was just the other day we saw php 3x and internet bursting with lots of php scripts. But many "died" along the line and sites based on them got stagnated or expired. To some extent, its my guess what happened with many mods of Elgg 1x and 2x and sites dependent on those not met with good fate thus. Its actually never too early to "think" about future imho. Probably I am facing a language problem to express my exact concern : Drupal and Wordpress look solid because of their business wings, and will seemingly stay for as long as the life of the net. Elgg ? I know no one can predict future but do we see signs of growth in Elgg plus its mods and users or we see a retardation ? A few core Devs (as compared to past) and a still fewer plugin Devs are giving heroic effort and I applaud that. With that is there a good community model or business model to thrive and sustain the tempo ?

    I am not being impatient or apprehensive or creating FUD or anything but just being free in expressing my thoughts, and this can be rejected by one's free will. This page https://github.com/elgg/elgg/milestones says
    Elgg 4x is due by March 31, 2019 which means = another 3 months.
    Zeev Suraski and others are already discussing PHP 8 https://www.freelancinggig.com/blog/2018/04/30/php-8-0-release-date-update-and-the-status-of-jit-in-php/amp/
    https://externals.io/message/102378

    "objects in the rear view mirror always appear closer than they are"

    The dilemma is for a new site do you adopt 2x and then tackle the UI changes while upgrading to 3x PLUS wait for the mods also to upgrade to 3x ? Or do you straightway go for Elgg 3x but find the mods you need work for 2x only with not even paid Devs available to take those to 3x ? Or you slowly go developing your site with Elgg 3x and wait slowly for the mods to become 3x and by the time your core plus mods is all ready with 3x you find Elgg 4x (march 31, 2019) is there and you need to upgrade but mods for 4x still not there and so the disparity cycle starts all over again.

    Its just some thoughts. Best wishes everybody for a Merry Christmas and a great New year. Cheers and all the best.

  • @dranii, We all know that most people are in Holidays mindset season or  hibernation period. However, as you have mentioned in your above comment, Elgg will be with us for a long time... whether Elgg future versions might be slowed down due to fewer developers --- that is left for speculators! The best way is to keep developing the Elgg 3x plugins on your testing servers and once the official Elgg 3x core is ready for production - your site will be able to run with few bugs after upgrade.

    The main problem is that there are Soooooo many people who want free scripts/code but do not give back either by donations or reporting back the changes that they have made so that the main developers can incorporate those changes for future growth of the plugins and new users here in the community.

    The result has been more downloads, less feedback, and that normally leaves the same developers on the hook to keep up with updates all years long...

     I don't mind donating my free time for the common good of humanity but others might need something in return in order to balance their income and expenses rows and columns also know as the Budget Spreadsheet!

    Wish everybody Happy Holidays and Happy New Year!

  • The only thing i am really afraid of is Ismayil Hypegallery plugin it's really sad to see him leave & yes he has done so many modern plugins for free which the elgg community need to be thankful..  I really don't know how to switch over to tidypic & get all the hypegallery data be shifted this is going to be the biggest task & i need to find a fund for that bcz i am still finding it difficult in monetizing my website.. The beauty of Elgg is i have never hired any developer to help out my website & the community has done all the help i need to just fix my problem. 

  • I guess elgg need to change the way the developers can get monetized.. Just a suggestion so that we can get more developers involving in elgg.. 

    1) Elgg core community need to pick developers who can access elgg fund raising plugin page where they can fix a minimum amount once attained allow the users to download (Thus elgg policy of free CMS & Plugin in the community does not die & the developer gets an earning).

    2) If a new developer enters elgg he needs to provide a no of plugin say keep basic of (5-10) plugin free (that absolutely works well) Then he can request for an access of fund raising plugin which the core community decides on providing the access.

    I guess we have discussed on this topic a several times but the core community need to decide on this so the top developers get some earning from elgg & this can give them a boost. 

  • Some feedback from the Core team:

    Theme

    The default theme for Elgg 2.x was the Aalborg theme, there was however the possibility to disable this plugin and still have a 'theme'. This meant that we had to maintain 2 sets of HTML/CSS. This is a lot of work.

    In Elgg 3.x we choose to drop the additional Aalborg theme, but integrate all the HTML/CSS from that plugin into the base HTML/CSS. This means you get the Aalborg theme look and feel (including responsiveness) in Elgg 3.x.

    PHP 8+??

    I can't even see anything mentioned on the website about that. But thanks to a lot of work by Ismayil the unittest of Elgg cover a lot more in Elgg 3 than in Elgg 2. So when a new version of PHP is available we'll add it to our automated tests and see what happens.

    Elgg 4

    There is no timeline yet for Elgg 4, if we follow our own planning this should be 1 year after Elgg 3.0 gets released.

    Plugin development

    Elgg 3, broke a lot, but also made thins easier for developers. It will take some time for plugins to get updated. If you really want a plugin to get updated quickly contact the plugin developer and see if you can fund (part of) the development of the Elgg 3 version of the plugin. Plugin developers need to eat to ;)

  • Just got Elgg 3 installed. I don't know anyone here, but wanted to thank you all for the incredible amount of hard work and dedication to this project.

  • Thank you al working hard on this upgrade. I wish to be able to help in some way but can't.

Latest comments