Hi,
On 01/01/2016 09:57 AM, Erik Huelsmann wrote:
On Fri, Jan 1, 2016 at 6:45 PM, Robert James Clay <j...@rocasa.us
<mailto:j...@rocasa.us>> wrote:
On Thursday, December 31, 2015 09:50:59 AM David G wrote:
>
> It is worth pointing out that it is undesirable to use an OS
package to
> provide dojo as there are known to be issues from minor release
to minor
> release that would break LedgerSMB.
What are those issues and how do they break LedgerSMB? That is;
how is that
being tested and what does that find? And why are those minor
releases" being
used, if they cause such issues?
John says he has experience that there are slight incompatibilities
between versions 1.7, 1.8, ... and that very careful testing is
required to be sure your code remains working. Assuming that's true, I
can be nothing but extremely disappointed about the development
processes used.
One of the questions that come to mind though is: how do they keep
their own stuff working if the various versions break expectations? It
seems some widgets haven't been changed since the early days of Dojo.
Surely those would be broken now if this goes on too long?
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 rewritten.
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 widgets).
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, iOS, ChromeOS, etc. As
Javascript itself evolves into ECMAScript 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 desktop toolkits work with
Javascript, it makes sense to use a 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.
Cheers,
John
------------------------------------------------------------------------------
_______________________________________________
Ledger-smb-devel mailing list
Ledger-smb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel