We hope you enjoy your visit.

You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Username:   Password:
Locked Topic
Update jQuery?
Topic Started: Apr 4 2015, 01:29 PM (1,030 Views)
Quozzo
Member Avatar
By the blood of Sanguinius!
[ *  *  *  *  * ]
Hi everyone.

Can I ask if it would be possible to update the jQuery across the boards?

It's currently using version 1.7 and jQuery is up to 1.11 or 2.1.3 if you drop support for the older browsers (read: IE)

It would solve some problems I'm having such as event propagation with deep copy clones like this

Thanks.

[edit] I meant propagation instead of delegation :facepalm:
Edited by Quozzo, Apr 4 2015, 06:29 PM.
Offline Profile Goto Top
 
Reid
Member Avatar
È una trappola!

We are considering upgrading to a newer version of jQuery, but we do need to evaluate any potential backward-compatibility issues with the latest version. For instance, we even had to modify version 1.7 to remove the enforcement of mandatory quotes in attribute selectors. So, you can imagine that the upgrade is perhaps not as simple as it appears...
Offline Profile Goto Top
 
Quozzo
Member Avatar
By the blood of Sanguinius!
[ *  *  *  *  * ]
Hasn't jQuery always required quotes for attribute selectors? A bit weird if not.

The jQuery Migrate plugin might be of use to ensure older methods are still compatible. It's only 3.6KB minified and compressed.
Offline Profile Goto Top
 
Reid
Member Avatar
È una trappola!

As far back as I can remember, the jQuery API has specified that attribute selectors must use quotes. However, this restriction was not enforced until quite a late version of jQuery (1.5 or later, I forget the exact version).

That change wasn't even in the compatibility notes, from what I remember. That is why we are somewhat wary about upgrading: what if coders have developed some habit that worked but was actually against the spec, and that habit got patched later?

Thanks for the link, though. We'll definitely take a look into it.

Reid
Offline Profile Goto Top
 
Viral
Member Avatar
Viral
[ *  *  *  *  *  * ]
What about an option for admins to change their jQuery version. Default to the newest, and if there are problems then admins (and yourself and Brandon) can go back to the old version (no loss of functionality) whilst you guys work out how to solve the compatibility issues. Best of both worlds.
Offline Profile Goto Top
 
Reid
Member Avatar
È una trappola!

That sounds like a nightmare.

Mod authors would essentially be in two camps. First, you could target the newest jQuery features and so therefore lose compatibility with old mods that are still broken (and probably unmaintained). This causes a great deal of consternation for board owners, as they now must care about what jQuery versions a mod operates under. And if your mod requires jQuery >=1.9 and they want mods that are strictly <=1.7, well...

On the other hand, if you try to preserve compatibility with older versions of jQuery, then the whole jQuery upgrade was useless in the first place.

Not to mention that many board owners won't see or understand what the jQuery version option means. Instead, they'll simply think that the modding community is unreliable - look at all these wonderful things that simply don't work. Sure, if they submit a support ticket (or ask on the forums), someone might be able to tell them about the jQuery version, but then you're talking about investing support resources, and the majority of board owners who can't get a mod to work simply give up.

It could be a huge, painful ordeal (depending on precisely what might break with a new jQuery version), and all that for relatively little (?) gain to boot. No, I would much prefer to upgrade the entire network in lockstep and simply try to maintain backwards compatibility as much as possible at that point, even if it means we're multiple versions behind.
Offline Profile Goto Top
 
Arrogant
Member Avatar
Member
[ *  *  *  * ]
Reid
Apr 5 2015, 10:03 PM
That sounds like a nightmare.

Mod authors would essentially be in two camps. First, you could target the newest jQuery features and so therefore lose compatibility with old mods that are still broken (and probably unmaintained). This causes a great deal of consternation for board owners, as they now must care about what jQuery versions a mod operates under. And if your mod requires jQuery >=1.9 and they want mods that are strictly <=1.7, well...

On the other hand, if you try to preserve compatibility with older versions of jQuery, then the whole jQuery upgrade was useless in the first place.

Not to mention that many board owners won't see or understand what the jQuery version option means. Instead, they'll simply think that the modding community is unreliable - look at all these wonderful things that simply don't work. Sure, if they submit a support ticket (or ask on the forums), someone might be able to tell them about the jQuery version, but then you're talking about investing support resources, and the majority of board owners who can't get a mod to work simply give up.

It could be a huge, painful ordeal (depending on precisely what might break with a new jQuery version), and all that for relatively little (?) gain to boot. No, I would much prefer to upgrade the entire network in lockstep and simply try to maintain backwards compatibility as much as possible at that point, even if it means we're multiple versions behind.
I think the real nightmare would instead be when ES8 is released and ZetaBoards is still using jQuery 1.9 to remain backwards-compatible..

The resource database is still being worked on, right? Select only the plugins that would work with the newest version of jQuery and require mod authors to write and maintain their scripts so that they're always compatible. Allow board owners access to the board wrappers still, but make a statement that all scripts added without using the database would be unsupported.

Problem solved. Sure, you're going to have all sorts of issues when board owners become confused, but that's just something you have to deal with now for not thinking ahead when you decided jQuery would be a good idea and that you'd let scripters do whatever the hell they want when writing scripts for others to use.

Moving forward, you could start using conditionals to make use of both branches of jQuery, allowing those with modern browsers to reap the benefits. It'd also allow board owners who write their own scripts to make use of new functionality/optimizations without having to load another version of jQuery on top of the one that ZetaBoards loads by default (defeating the purpose of using a library with a small footprint to begin with).
Edited by Arrogant, Apr 6 2015, 08:08 AM.
Offline Profile Goto Top
 
Reid
Member Avatar
È una trappola!

I am disappointed in your reply.
Offline Profile Goto Top
 
Viral
Member Avatar
Viral
[ *  *  *  *  *  * ]
Reid
Apr 5 2015, 10:03 PM
That sounds like a nightmare.

Mod authors would essentially be in two camps. First, you could target the newest jQuery features and so therefore lose compatibility with old mods that are still broken (and probably unmaintained). This causes a great deal of consternation for board owners, as they now must care about what jQuery versions a mod operates under. And if your mod requires jQuery >=1.9 and they want mods that are strictly <=1.7, well...

On the other hand, if you try to preserve compatibility with older versions of jQuery, then the whole jQuery upgrade was useless in the first place.

Not to mention that many board owners won't see or understand what the jQuery version option means. Instead, they'll simply think that the modding community is unreliable - look at all these wonderful things that simply don't work. Sure, if they submit a support ticket (or ask on the forums), someone might be able to tell them about the jQuery version, but then you're talking about investing support resources, and the majority of board owners who can't get a mod to work simply give up.

It could be a huge, painful ordeal (depending on precisely what might break with a new jQuery version), and all that for relatively little (?) gain to boot. No, I would much prefer to upgrade the entire network in lockstep and simply try to maintain backwards compatibility as much as possible at that point, even if it means we're multiple versions behind.
Not sure why it would be a nightmare. You allow people to reap the benefits of the newest version of jQuery, and manage the risk with the chance that an old modification may not work. So if people find that their modifications are broken, all they need to do is click a button in their ACP and voila, everything is back to normal. Then that information could be relayed to the code author to fix that specific problem. After a while, all inconsistencies will be straightened out and there won't be a need for the version toggle. Essentially, it allows you to bring in the new version whilst minimising errors until all problems are sorted instead of playing the waiting game hoping that such inconsistencies are going to magically disappear .
Offline Profile Goto Top
 
Arrogant
Member Avatar
Member
[ *  *  *  * ]
Reid
Apr 6 2015, 09:36 AM
I am disappointed in your reply.
Could be because I'm disappointed with how things have turned out here and my reply reflected that. You guys are horrible at keeping things up-to-date.

The poll on the Portal page was created Jul 18 2010, 10:31 PM (just noticed that now). There have been no updates on the resource database. Or the API. Or anything at all.

I wasn't happy when I found out ZetaBoards was going to be using jQuery, but I accepted that change from InvisionFree because the web was evolving and it made sense to pick a library that would evolve as well.
.. but that now seems to have been a wasted effort because that's not even being kept up-to-date.

You're eventually going to have to make some sweeping changes that will render a lot of things obsolete.. so why not now? The web is always evolving. You can't expect to move forward and live in the past at the same time.
Offline Profile Goto Top
 
Reid
Member Avatar
È una trappola!

Viral
Apr 6 2015, 11:49 AM
Not sure why it would be a nightmare. You allow people to reap the benefits of the newest version of jQuery, and manage the risk with the chance that an old modification may not work. So if people find that their modifications are broken, all they need to do is click a button in their ACP and voila, everything is back to normal. Then that information could be relayed to the code author to fix that specific problem. After a while, all inconsistencies will be straightened out and there won't be a need for the version toggle. Essentially, it allows you to bring in the new version whilst minimising errors until all problems are sorted instead of playing the waiting game hoping that such inconsistencies are going to magically disappear .
Well, my entire post was devoted to explaining why it would be a nightmare :/ . To reiterate, not all board owners will know that it is "as simple" as changing a very opaque "jQuery version" option. What do board owners do with conflicting jQuery versioning requirements in the meantime? Just be unable to use some mods? Plus, I am not convinced that the problem will eventually be fixed - not every mod author is still active on ZB. At that point, do we just trash old mods that no longer work with the new jQuery version? Maybe so: but then we are literally throwing away working code.

I mean, it's certainly easy to wave away all of that and just say "oh, the support team can do it." But, of course, between PayPal, CloudFlare, and restorations, the support team has had its hands pretty full here lately. It's nice to use the support team as a crutch - until you are actually neck-deep in support and realize that even a very "simple" issue will have hundreds of tickets about it...

Arrogant
Apr 6 2015, 11:58 AM
Reid
Apr 6 2015, 09:36 AM
I am disappointed in your reply.
Could be because I'm disappointed with how things have turned out here and my reply reflected that. You guys are horrible at keeping things up-to-date.

The poll on the Portal page was created Jul 18 2010, 10:31 PM (just noticed that now). There have been no updates on the resource database. Or the API. Or anything at all.

I wasn't happy when I found out ZetaBoards was going to be using jQuery, but I accepted that change from InvisionFree because the web was evolving and it made sense to pick a library that would evolve as well.
.. but that now seems to have been a wasted effort because that's not even being kept up-to-date.

You're eventually going to have to make some sweeping changes that will render a lot of things obsolete.. so why not now? The web is always evolving. You can't expect to move forward and live in the past at the same time.
So, I am disappointed in your post because you are disappointed with how things have turned out here? That doesn't seem right. Anyway, please stick to the issue at hand. Don't turn this topic into your personal complaint thread. You won't effect change in jQuery versioning by complaining about the portal, resource DB, or API.

Anyway, look: ES7 is a non-issue for now (ES6 is barely on the horizon and jQuery support here is unaffected). The resource DB suggestion doesn't help outdated mods whose authors are long gone or too busy to maintain them. And you can't just say "Problem solved" and then in the next sentence say "sure, you're going to have all kinds of issues". Conditionally-selected versions aren't even relevant.
To be clear, we will upgrade jQuery; it's just a lower priority item that requires some investigation on our part. It may not even be a big deal: the upgrade to 1.7 only required a single character to fix the issue. Plus, if some minor mods here and there are broken, that's OK - so long as it's not widespread. Ultimately, though, the upgrade isn't a dead trivial matter, like some may believe, and we gain very little out of it.
Offline Profile Goto Top
 
Arrogant
Member Avatar
Member
[ *  *  *  * ]
Reid
Apr 6 2015, 03:08 PM
So, I am disappointed in your post because you are disappointed with how things have turned out here? That doesn't seem right. Anyway, please stick to the issue at hand. Don't turn this topic into your personal complaint thread. You won't effect change in jQuery versioning by complaining about the portal, resource DB, or API.

Anyway, look: ES7 is a non-issue for now (ES6 is barely on the horizon and jQuery support here is unaffected). The resource DB suggestion doesn't help outdated mods whose authors are long gone or too busy to maintain them. And you can't just say "Problem solved" and then in the next sentence say "sure, you're going to have all kinds of issues". Conditionally-selected versions aren't even relevant.
To be clear, we will upgrade jQuery; it's just a lower priority item that requires some investigation on our part. It may not even be a big deal: the upgrade to 1.7 only required a single character to fix the issue. Plus, if some minor mods here and there are broken, that's OK - so long as it's not widespread. Ultimately, though, the upgrade isn't a dead trivial matter, like some may believe, and we gain very little out of it.
I think past examples of things not being updated are perfectly relevant when a staff member says things will be updated. The resource database and API are certainly more important than updating jQuery, yet we hear nothing about them. The poll on the Portal page is quite trivial, sure, but if you want people to use your software, you should probably provide a better, more active example of what it's capable of.. but that's rather subjective, so moving on..

ES7 is a non-issue for now, but the mentality that backwards-compatibility > functionality is going to make it an issue at some point. Same goes for ES5 and ES6, only sooner. jQuery is all about keeping their API as consistent as possible and retaining backwards-compatibility, but changes will eventually be made that will break scripts that were written years ago. That's just the nature of the web.

The resource DB suggestion doesn't help outdated mods, but that's the point -- they're outdated. Why would they be put into a database for board owners to use when they're on the verge of breaking and the mod author is long gone?

Conditionally-selected versions are relevant in that this is a thread about updating jQuery. Why would you update jQuery? Additional functionality, better optimizations, and bug fixes. What do conditionally-selected versions allow you to do? Provide better optimizations for modern browsers. They're also less likely to suffer from the type of bugs that the thread author referenced (they rely less on quirky workarounds, after all).

I don't think anyone questions whether or not you'll upgrade jQuery, just the amount of time that will pass before you do so. ZetaBoards certainly is a great service, but it's lagging behind while competing services are only getting better.
Offline Profile Goto Top
 
Reid
Member Avatar
È una trappola!

My interest in this discussion has declined significantly. But, a few points anyway...

Yeah, the RDB and API are more important than jQuery, but they're also many orders of magnitude more complex. Even when developments emerge in those areas, we as staff aren't great at apprising the community of them. For example, Tapatalk integration requires a backend API to interface with ZB - yet this very complex aspect of its development has been totally obscured from public view. To me, comparing jQuery's version with the RDB/API is like saying "you haven't opened the Hoover dam yet, so how can I trust you to repair this hole in the drywall?" Surely you can agree that such a question seems disingenuous.

I do not agree that "backwards compatibility > functionality" will necessarily become an issue. Mod authors have dealt with jQuery 1.7 (or lesser!) for years, and if we didn't upgrade it, I doubt the success of ZB would be materially harmed. Also, outdated mods may be outdated, but they are still often useful to board owners; I think discarding them recklessly is foolish. Nor are the majority of outdated mods "on the verge" of being broken: there are many outdated mods that never will be. In general, the web is pretty good about backwards compatibility.

Conditionally-selected versions have their place, but they don't solve the issue of maintaining backwards compatibility with mods broken under newer versions of jQuery. That is why they are irrelevant here.

I've really let this topic go on long enough. Usually, staff are reluctant to engage in development discussions in an open forum: this thread nicely demonstrates why, I think. But as the modification community is near and dear to my heart - as I originally started programming years ago for InvisionFree and later ZetaBoards - I indulged. Nonetheless, this topic has exhausted its usefulness, so I am locking it.
Offline Profile Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Service Discussion and Feedback · Next Topic »
Locked Topic