Going to repeat what I have said many times before that completely removing these is breaking a lot of sites upgrading to 4.
Yes I know its been marked as deprecated for a long time (but not with a deprecated log)
Yes I know its documented on the backwards compatibility page (what user ever reads that)
Yes I know the pre-update check reports on extensions not marked as j4 compatible (but with so many extensions not reporting anything - for many different reasons)
Is it really so hard to put something in place so at least this code doesnt break a site. This is just being stubborn and is just like when Andrew said just do a search and replace and add legacy to everything and who cares that people just stopped using joomla- lets not repeat the same mistake
Labels |
Added:
No Code Attached Yet
|
The reason we did this is because people tended to use the methods as an if/else where thing went if site else admin (or vice versa). But 80% of these things basically assumed a html page and these just broke cli especially but also to a slightly lesser extend webservices.
Removing doesn't necessarily solve the problem but it basically is developer awareness because as you said Brian they don't read the docs!
Yes, to Brian. A lot of J! 4 websites are breaking because [mostly 3P] system plugins still have isClient() and isAdmin() coded. And we've known that this was going to happen for a very long time. There's ample evidence on The Joomla Forum (for those who visit this site) where people are discovering that their J! 4 websites are capsizing and no amount of "gentle encouragement" seems to be having any great effect.
I guess the main problem is that many of these problems have lain dormant in J! 3.x for years and only now, when people take the leap of faith into J! 4, they're uncovering the rat's nest resident in their websites. Adding to these issues is the eagerness by website owners (operating on a shoe-string budget) who have downloaded free software via the JED (as opposed to, say, purchasing products from reputable, long-serving extension developers who have reputations to maintain and operate their development business on a pay-as-you-download basis). That's not to say that not-for-profit 3PDs are bad news; I'm just saying that a lot of 3PDs have left "the business" but their products are still being downloaded today.
I don't know the solution for this. I understand the need to overhaul the J! APIs and, in doing so, make a "clean break" from the past. Brian, however, makes a good point whereby turning something that was "deprecated" into a fatal error does jeopardise confidence and the motivation among the major section of the community—the tens of thousands of hobbyist website owners—to move ahead with J! 4.
there are plenty of expensive extensions that are currently using isAdmin etc
True, but in my experience, even if you charge a dollar to download an extension, the mere fact that you charge anything is a disincentive and most people will go elsewhere. I'm only saying that there's a higher likelihood of people installing extensions that have outdated code because they got those things for free.
just my 2cts, as a extension developer I put in a lot of effort to create and maintain extensions for Joomla. Replacing deprecated methods is IMO an important part of the maintenance part.
Looking from a Joomla / user point of view I understand that extensions that are not working anymore are reflecting bad: question is bad on Joomla or bad on the extension / extension developer?
On the other hand, I (as an extension developer) face a lot of 'competition' due to these old / unmaintained extensions. Breaking changes are in this situation a good 'reset' for these extensions / the extension market: there are a lot of unmaintained / abandoned extensions out there. Sooner or later these will also reflect bad on joomla (security udates anyone?)
So I feel the frustration, I see the downside, but I also see the upside where in the long run all parties will be better of with good, current and maintained extensions.
the difference between the world we want to live in and the world we actually live in
the difference between the world we want to live in and the world we actually live in
Indeed... that is what makes this a 'dilemma' where what ever decision is made it always has its pros / cons depending on who it affects.
If those badly written 3rd party extensions are reported to JED will they be removed ?
Thats a question you will need to ask the JED
I agree with @brianteeman: that's a question for the team who manage the JED. In any case, while it's [now considered] outdated practice to write isSite() or isAdmin() for J! 3.x extensions—or to use them in J! 4 will generate fatal errors—who can say whether any J! 3.x extension is "badly written"? It may be an idea for the JED Checker to look for instances of these things—and flag them—but it's debatable whether such J!3.x extensions should be de-listed simply because they've been "reported".
It may help to "out" bogus claims about so-called J! 4-compatible extensions or, at the very least, have those claims tested. I couldn't tell you how people would know if an extension is compatible with J! 4 or not unless they tried it out for themselves; some extensions listed on the JED probably exaggerate claims about "J! 4 compatibility"; some extensions are suspicious and some are outright frauds but those are matters outside the scope of this discussion.
It was rhetorical
Perhaps you should have written, "This is a rhetorical question" when you wrote it if you didn't expect an answer or you were being cynical. I didn't know that.
For a bricked site due to Joomla 3.9.23 to 4.0.3 upgrade : "Call to undefined method Joomla\CMS\Application\AdministratorApplication::isSite()" is there any solution ? No backup is available. I have access to ftp and php admin. Thank you so much!
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2021-12-31 21:56:30 |
Closed_By | ⇒ | brianteeman |
Thanks @sozzled for your advice on the Joomla forum. Seeing that my purchase is new at Joomlaworks hopefully they can help. I may have uploaded a 3.0 module that was mixed in with the 4.0. They listed them at the bottom of the page and I may have not noticed as I was going through the install list.
My 2 cents: users don't really care why some functions are deprecated yet they are the majority that's affected by these changes. We should stop removing functions that have been available for years, especially when there's so little overhead to them (isSite() + isAdmin() were just proxy functions). This is why WordPress is so popular, I can literally throw in an old plugin with the latest version of WordPress and it will still work. As a developer I don't like their code at all, but then again, users don't see code, they just use the CMS, and theirs doesn't crash.
Also, lately we've been flooded by messages such as "is your extension compatible with 3.10 / 4.0" (even though they are marked as such). Users have lost the faith in updates and are scared to do them, rightfully so, given that any new version shift breaks something. The Pre-Update Checker is right now our most time consuming 'job', eating up support time for issues that are non-existent. But I digress...