i think that calling elgg 2.x the 'stable' release and 1.12.x the LTS release is misleading

i am not able to use elgg 2.x yet on my live site because of the lack of stable/TESTED code for it in the form of plugins (including my own) and possibly in some of the core aspects too. whereas even elgg 1.12.x is pretty well tested, stable and supported at present. therefore, i think/feel it is a bit misleading to call 2.x the stable version, since that isn't really what it is and new users may install 2.x and then discover they can't use a lot of the plugins they need because there aren't stable versions of them yet.

if i were to name the two branches, i might go with 'cutting edge' for 2.x and 'stable / LTS' for 1.12.x.

just my two bits ;)

  • Which are the plugins that are not working on 2.x?

    I've been testing 2.1 and I find it stable enough to use on any social networking related project.

  • Stable is meant as distiction between Elgg 2.1 (as the current latest stable Elgg 2 branch) and the development branches (named 2.x - will be the basis of a future 2.2, 2.3 etc. - and master).

    Elgg 2.1 is stable in the sense of "you can use it alone or with compatible plugins" at this point also on production servers. Of course, you can't use it with any plugin released for 1.X (or even with older versions of plugins which have newer releases specifically updated already to work on Elgg 2). Everyone has slightly different requirements and uses a different set of plugins. if you would only define Elgg core as "stable" if everyone can use any plugin on it there would never be any stable version of Elgg (not even Elgg 1.12 would be stable if you would use a plugin released for example for Elgg 1.7).

  • there are quite a few plugins that i consider to be basics for social networks that are not compatible with 2.x and some which i have fixed on my own test installation to get them to be compatible, but the changes have not been thoroughly tested and are not available in the community. examples include (from memory) and are not limited to:

    • videolist
    • galli comments
    • mentions
    • pinboards
    • hypeCategories and search_advanced both have issues on my test site

    and there are some i am forgetting, plus others that i haven't really tested much yet.

    the reality is that just because a plugin appears to work when you turn it on and use it, does not mean that there aren't numerous bugs going to be found quite quickly by users who act and think differently to you as an admin - so a stable release is one that has been used by large numbers of people for a while - certainly long enough for bugs to be found and fixed. stable means (to me) that the code rarely has any kind of bugs at all, if ever. that is never going to be the case for the leading edge release of a complicated OS project such as elgg (ESPECIALLY with so many plugins).

  • Stability of core can not be judged by third plugin availability/compatibility. Elgg 2.1 is a stable environment for development, better tested, with a ton of new features that make development a more fun experience. If you want to have stable third party plugins, you either build them yourself, hire a developer or wait for an upgrade. I have devided that my time is better spent contributing to core, so you will see less updates from me and probably no more user facing plugins. I will continue open source development of ui and api tools, but I am leaning towards wrapping other plugins such as categories, gallery, wall et al into paid plugins. I don't have enough time and incentive to work on them, there is barely any controbution from other devs, so I see no reason to invest any more time. It is usually easier to roll in a custom solution in a project than to maintain a generic tool that may fit one way or another for different projects.
    There is no such thing as code without bugs. Unless we reach 100% testable code, which is not possible without breaking changes and interim stable releases.

  • And you would be better off helping developers by contributing back those "fixes". The bugs won't get fixed on their own. There should be some basic open source etiquette. I make it a rule to give back any fix I make even though it costs me time. I have used plugins by others and it was only fair I gave back something in return. It's easy to hack your copy to get it to work, but next time you download the plugin, you will have to do it all over again.

  • i agree that code fixes need to be added to the repositories involved. i have not been able to use github for sometime due to security issues that github's support themselves couldn't figure out.. hence i have not uploaded anything to github for months. i am sure i could fix it eventually. i am not choosing to not upload fixes deliberately. i also haven't got a totally stable installation of 2.x here, with all the plugins i am using, so i am not certain 100% at this point (due to lack of time for testing) that the changes i am making are bug free.

    developing complex systems with no budget is obviously not easy and if this were a commerical project, with a 'budget' then there would probably be many dedicated testers - so i fully understand that there will be bugs. my comment in this thread is primarily aligned towards non devs that look at the software and download 2.1.x thinking it is the best version all around for them to be using - then get a bit frustrated with being told to 'pay someone to make your plugins' (when the same plugins are available in the earlier version that you thought was just old).

    ultimately the naming convention makes no difference to me at all, since i know what the situation is - it was just a thought that might help people new to elgg.

  • Why would we encourage people to use outdated versions of Elgg? They will be stuck with it for good and would have to invest time to upgrade once it reaches EOL. Plus there will be no more plugins written for 1.12. I am for one not willing to go back to writing code for anything under 2.1, and looking forward to 2.2 that revamps the entire icon handling and creates a smoother UX thanks to a ton of JS we have refactored. Once 2.2 is out I plan to stop working with all other versions. I am working with it now on a new project and it saves me 20-30% effort that would go into working with files and devising UX solutions for basic needs like popups. I have put in 2 weeks of unpaid time into this release just to eliminate all the roadblocks that were making me hate Elgg.
    If you feel comfortable using the older version, do so. But I strongly discourage any new projects on earlier versions. Until now you can still backport most plugins, I think aftet 2.2 it will be a lot harder.

  • One main advise I have to anyone starting a project: identify your needs before choosing a framework and committing to a certain version of it. You are gambling with your time. Do your research prior to frustration. And ultimately, it's open, but it's not free. People invest their time that comes at an opportunity cost. Do not expect anyone to do anything forever out of good will.

  • As for bugfixes, github allows you to make pull requests without shell access. And it's a bit frustrating hearing you complain about things when you do seem to understand what lack of time means. Why should others make an effort for you, when you are not willing to make it for them. I am running out of motivation to write open source for this community. It used to be fun, now it's just extra work that I am not willing to do. I will just follow my mercantile interests like everybody seems to be doing.

  • i am not complaining as such, it was just an observation regarding the language used in the download page that i felt might warrant being changed to improve the experience of newcomers. i understand very well that in a society that has been oriented around money it can be very challenging to do what you want to do and i am not intending to pressure anyone to do what they don't want to do.

    i am not suggesting to encourage people to use older versions, but 1.12 is hardly outdated in the sense that it has not been around very long and my ONLY point is that the word 'STABLE' applies to the long term version - which is normal in projects that have long term support versions such as ubuntu and others.

    yes, github does allow changes to be made without shell type access - however, on top of the security issues that frustrated me with github, i also have many other family issues here which have led me to not have time for such things, including the recent death of my mother and the near death of my father. i have given code to everyone who has asked for it.

Feedback and Planning

Feedback and Planning

Discussions about the past, present, and future of Elgg and this community site.