Joomla! 4 Retrocompatibility

Do you have an idea for the Joomla community that you can help implement? Discuss in here.
Forum rules
Global Rules
Posting guidelines for this board <-- please read before posting.

Joomla Idea Pool <-- Add your suggestions for future versions of Joomla and vote on current suggestions.
Locked
ced1870
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 128
Joined: Sun Oct 19, 2008 10:18 am
Location: Alsace
Contact:

Joomla! 4 Retrocompatibility

Post by ced1870 » Sun Sep 06, 2015 5:48 pm

Hi all,
I come here to discuss about one point that is very important in my mind, the retrocompatibility in Joomla! 4

I post here following this
http://volunteers.joomla.org/reports/11 ... dense--dk-

I have noted that
Backwards compatibility management with 3rd party code

Decision

No action required. Some effort will be made to allow J3 extensions to work with J4.

Reason

Decision can’t be made in advance. Ultimately we could bump to next major version to cater for bc break caused.
I think that this is a BIG ERROR. Users and developpers don't want this. The compatibility between all updates is necessary to avoid to loose all the people that are using Joomla! now. We have been confronted to this problem with the previous versions and have lost a lot of users because of this. I don't understand that a new version will totally kill the existing, if the developpers want to do a total new code, then create a new cms with a new name ! and don't do that in our loving Joomla!

I hope that this discussion will open the eyes of the developpers before it's too late .
Regards
CEd
Tutorials, extensions, design and template for Joomla!
http://www.joomlack.fr
Maximenu_CK for drop-down, multicolumn, link description, module loading, and documentation
Template Creator CK - the Joomla! component to create your own templates

ced1870
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 128
Joined: Sun Oct 19, 2008 10:18 am
Location: Alsace
Contact:

Re: Joomla! 4 Retrocompatibility

Post by ced1870 » Sun Sep 06, 2015 5:50 pm

also this part is not possible, this would mean that ALL extensions will be killed
Use of namespacing
Decision

We will use namespacing with the following convention:

Core Components
Joomla\Component\\

Joomla\Component\Content\Site

Joomla\Component\Content\Admin

3rd party Component
\\

Akeeba\Backup\Site

Akeeba\Backup\Admin

Other extensions (modules, plugins)

Module
\Module\\

Akeeba\Module\Site\SubscriptionStatus

Akeeba\Module\Admin\LastBackupStatus

Plugin
\Plugin\\

Akeeba\Plugin\System\BackupOnDemand

The vendor part of Joomla core extensions is ‘Joomla’.

Framework Library:
Joomla\

Joomla\Image

Joomla\Controller

CMS Library:
Joomla\Cms\

Joomla\Cms\Mail

It is recommended that the JED marks extensions not adhering to this scheme.
Reason

This scheme covers the need of the Joomla project(s). 3rd party developers use their own vendor namespace, so collisions are effectively avoided
Tutorials, extensions, design and template for Joomla!
http://www.joomlack.fr
Maximenu_CK for drop-down, multicolumn, link description, module loading, and documentation
Template Creator CK - the Joomla! component to create your own templates

User avatar
HermanPeeren
Joomla! Apprentice
Joomla! Apprentice
Posts: 43
Joined: Tue May 05, 2009 9:47 pm
Location: Rotterdam, Holland
Contact:

Re: Joomla! 4 Retrocompatibility

Post by HermanPeeren » Sun Sep 06, 2015 8:26 pm

Bonsoir CEd,

I understand your worries, but let me try to explain to hopefully give some more understanding. I speak totally on my own behalf; I'm not any kind of Joomla official, although I contributed in the architecture group whose working notes (nothing more, nothing less) you quote from.

Backwards compatibility is very high on Joomla's priority list and we have very rigid rules for it. We don't break backwards compatibility within the 3.x series. We put a lot of effort in keeping that promise. That is already quite a challenge, for it might even mean that we officially support Joomla 3 functioning on php-versions that are now or in the future known as insecure. After the last version of Joomla 3 (which will be earliest somewhere over a year, but possibly even later) it will be supported for 2 more years!

So you can be sure of at least 3 more years of total backwards compatibility of Joomla.

But the world changes, it even changes very fast, and we also want to be able to use new techniques and use some great software that is available but needs a higher PHP-version than what we promised to support. Inevitable there will be some point where backwards compatibility is not totally maintainable. Then it is time to migrate to a next major version. We use Semantic Versioning http://semver.org/

Given a version number MAJOR.MINOR.PATCH, increment the:
  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes.
In your first quote from our minutes "No action required" means: we stick to semantic versioning, no new policy necessary. "Some effort will be made to allow J3 extensions to work with J4." means: we even do something extra, which is not obligated by semantic versioning. Because we care!

When the time inevitably comes for a new Major version, we must do all necessary backwards incompatible changes at that moment, for it will take years from there before we can do that again.

But even within the inevitable backwards incompatible changes we are very careful:
  • to not break anything without necessity
  • to provide a good upgrade path and upgrade tools.
With every proposed change we also discuss how upgrades will be done. And still, daily, discussions about Joomla development end in shooting off good ideas because we cannot convince the others of the possibility of a smooth upgrade path; I can really tell from experience :o

We are developers ourselves and we know the pain of migrations like we had from 1.5 to higher as no other. Never again, we said. We do our very best to provide an upgrade to Joomla 4, also of extensions as smooth as possible! We are not the marketing department, but had some slogans during our meeting like "migration without frustration".

In short:
  • total backward compatibility is not realistic and even worsening Joomla in comparison with others who do offer newer possibilities.
  • we try to make the transition as smooth as possible for everybody (integrators, developers etc).
Another thing: if you want to contribute to an even smoother transition: Joomla certainly need volunteers to help with this! Developers, integrators etc. How much time do you have available? What can be your contribution?
Herman Peeren
Yepr: web - design - applications - illustrations
Info: http://www.yepr.eu and http://www.hermanpeeren.nl

User avatar
HermanPeeren
Joomla! Apprentice
Joomla! Apprentice
Posts: 43
Joined: Tue May 05, 2009 9:47 pm
Location: Rotterdam, Holland
Contact:

Re: Joomla! 4 Retrocompatibility

Post by HermanPeeren » Sun Sep 06, 2015 8:35 pm

Something else: in Joomla 3.6 we want to have webservices available and the idea is that that API won't change in Joomla 4. That can also make transitions much easier.
Herman Peeren
Yepr: web - design - applications - illustrations
Info: http://www.yepr.eu and http://www.hermanpeeren.nl

marcodings
Joomla! Fledgling
Joomla! Fledgling
Posts: 1
Joined: Sun Sep 06, 2015 10:05 pm

Re: Joomla! 4 Retrocompatibility

Post by marcodings » Sun Sep 06, 2015 10:45 pm

Hi,

I think Herman did a good job in explaining SEMVER, joomla! releases and the justification for making changes that do break backward compatibility in J4. Save me from repeating all of that. The reason for breaking is NOT to frustrate developers or users.

We do this to offer a new Joomla! that is contemporary, technically attractive to developers and "designed for change" ( If You're Standing Still, You're Going Backwards ... )
We do understand the issues and we are constantly balancing pro's and cons of things we intend to break. We have shelved many idea's that have to much impact, and we will keep monitoring that

The Joomla! 4 we envision should make life easier for developers, it will make it possible to do "greater" things with less effort but it comes at a cost of some changes to their "extension" code to make it J!4 compatible. As vague as it is i can imagine its scary atm.

We are still in the early stages of development, but we intend to communicate about what is required in advance of any release. And we encourage developers to partake in the discussion and incorporate these changes in their current code already as much as possible. For example stuff that is depreciated now should be avoided already. That way we avoid a big bang migration experience with a lot of headache.

We will make a serious effort to educate and communicate in advance for developers to get on / prepare for the J!4 bandwagon so when the time comes their extensions can be ready. That way our users should notice nothing.

However it takes 2 to tango and historically speaking uptake of Major version has been slow, lets see if together we can do it differently this time.

Marco Dings
PLT
Project manager Joomla! 4

User avatar
HermanPeeren
Joomla! Apprentice
Joomla! Apprentice
Posts: 43
Joined: Tue May 05, 2009 9:47 pm
Location: Rotterdam, Holland
Contact:

Re: Joomla! 4 Retrocompatibility

Post by HermanPeeren » Mon Sep 07, 2015 7:58 am

See https://groups.google.com/forum/?fromgr ... eR19iVm-G4 for a cross post on this same topic.
Herman Peeren
Yepr: web - design - applications - illustrations
Info: http://www.yepr.eu and http://www.hermanpeeren.nl

ced1870
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 128
Joined: Sun Oct 19, 2008 10:18 am
Location: Alsace
Contact:

Re: Joomla! 4 Retrocompatibility

Post by ced1870 » Mon Sep 07, 2015 8:10 am

thank you for your answer. Yes I have double posted as I did not know where to ask :)
I will continue the discussion on the google group
Tutorials, extensions, design and template for Joomla!
http://www.joomlack.fr
Maximenu_CK for drop-down, multicolumn, link description, module loading, and documentation
Template Creator CK - the Joomla! component to create your own templates


Locked

Return to “Joomla! Ideas Forum”