Thanks for that writeup.
It is good to get some more background on the issue.
I also find it enlightening that the Drupal and Wordpress packages
(debian) use their own internal versions of Dojo.
This suggests that my assertion that we are not including the dojo
library, but a customized version of dojo, is acceptable within the
debian packaging policy.
On 03/01/16 13:25, John Locke wrote:
On 01/01/2016 09:57 AM, Erik
So I actually have not even used 1.9 or 1.10, my experience is
based on moving from 1.2 to 1.3, to 1.5, to 1.7... every time we
upgraded our single-page app, stuff broke and needed to get
The stuff that broke were largely custom widgets we wrote, using
underlying Dojo classes for widgets and templates -- they kept
refactoring these and changing the API in subtle ways that broke
our custom code.
For LSMB this might not be much of an issue -- yet. At least not
before LSMB 1.5. But 1.5 relies upon Dojo far more than any
previous version (is it even in 1.3? And for 1.4, it's only used
for simple form elements and some layout stuff in the Contacts
area -- I don't think we've built any actual custom complex
It's certainly possible that things have shaken out and gotten
more stable -- as it is the jump from Dojo 1.5 to 1.7 (which
introduced AMD) was so great we still have not completely upgraded
our internal app, and are still using 1.5.
And then also realize that there's no server-side testing that
would reveal a problem with Dojo -- it's purely client-side. So
testing it properly is largely visual regression testing, stuff on
top of Selenium/PhantomJS or similar, or using writing tests for
Dojo's own test runner, DOH (if that's still around... looks like
they now promote "intern" which looks interesting...)
Dojo does have its own test suite. But the problem I've
experienced with Dojo upgrades is in its base widget classes
(dijit/_Templated, dijit/_Widget, etc) which have changed far more
than you would think should be acceptable within a minor release.
If we're not extending those, then we're not affected -- yet. But
the ability to extend those to have smart widgets is the main
reason I was advocating for Dojo in the first place, over simpler
widget systems like jquery.ui and the like.
And as previously noted, I have not experienced any issues with
updating a patch release within the same minor version (e.g. 1.5.1
to 1.5.3), only between the minor versions (1.5 to 1.7). And Dojo
itself is still releasing patch releases for 1.5 -- if they
expected everyone could upgrade easily, they would not still be
issuing patches for 1.4....
Remember that JS libraries don't need to only consider what else
is on the Linux server -- it's something that needs to support all
major browsers on all operating systems. Microsoft Edge, IE11,
IE10, Safari, Chrome, Firefox on Windows, Mac, Linux, Android,
6, with greatly varying degrees of OS support, JS libraries need
to evolve and change much faster than probably any other package
on a Linux server. And HTML5 was in its infancy 5 years ago -- we
were still mostly doing XHTML. And unfortunately, sometimes JS
libraries have functions that get turned into reserved words in
newer JS version or particular browsers... jQuery has the same
issues with upgrading between minor version releases.
Can you point me to any major web application that actually
depends upon the Debian dojo or jquery packages, instead of
bundling the exact version they have fully tested? What I see
using apt-rdepends are a bunch of local applications -- so many
system JS library for a desktop app. Not for a web app with a huge
range of other targets... Drupal and WordPress both have Debian
packages, and both ship/use jQuery... and do not require or
reference the Debian libjs-jquery (or any other jquery) package.
Ledger-smb-devel mailing list