Blog

Dojo 1.6 Released – Spider Charts, Gantt Charts & Interactive Legends. Too Late For 8.5.3?

  |   Blog   |   8 Comments

Thanks to a tweet from Per Henrik Lausten I was alerted to the release of Dojo 1.6. There are quite a few big changes most notably use of “dojo-data-type” for widgets. This is a huge change but one which has been made to fit in with HTML5 standards. I haven’t followed the discussions in depth but as I understand it (I haven’t tested, so I may be wrong) dojoType is still supported. With the changes to XPages in 8.5.2 on the whole this layer is abstracted because the XSP Command Manager handles rendering of HTML. There are some Dojo controls, like the dojox.image.lightbox, where you have to use HTML – because the Image control doesn’t support Dojo attributes. Equally there may be some places where dojoTypes have been added to HTML directly rather than XPages controls, either because it pre-dates 8.5.2 or from a preference. So work may probably be required at some point in the future, mitigated by the Search function in DDE.

 

Charting has also been extended. I was aware from some research following Lotusphere that work was being done on Legends. We now have interactive legends which can be used to enhance your charts. There are some extensions to axes as well. And there are two new charts – Spider charts and Gantt charts. When I get a chance I fully intend to have a look at exactly what’s changed. I think I have an hour or two maybe late in April! ;-)

 

But with all these changes, has Dojo 1.6 come too late for inclusion into Domino 8.5.3? We will have to wait and see, but it may be. Hopefully it will not, because although you can modify the xsp.properties file to change the Dojo version at server-level, from my experiments leading up to Lotusphere, modifying the xsp.properties file at nsf-level has no impact on the version of Dojo used by that nsf. It appears that the XSP Command Manager loads Dojo because it is required for the loads of basic XPages functionality: partial refreshes, sections, dirty listeners, client-side validation. That means if you specify a different Dojo version in the nsf’s xsp.properties or in the xp:head tag, it has no effect. You can incorporate all the Dojo files into a separate nsf and reference that explicitly, but performance will be impacted. So it would be nice if Dojo 1.6 can be incorporated in 8.5.3, but it may be too significant a change to fit in to the timescales.

 

Oh, and Internet Explorer 9 has also been released. So why are companies still on IE6?

AUTHOR - adminsadie

8 Comments
  • Erik Brooks | Mar 16, 2011 at 11:59 am

    8.5.3 has been in beta for a bit, I’d bet that the chance chance of Dojo 1.6 getting in and fully tested in time for the advertised Q2 release is low.

    I also doubt XPages would leverage the data-* attributes immediately. That’s a significant rendering change that can’t be applied to pre-HTML5 browsers so there would need to be logic added to handle it as well. I expect usage there to be phased in over a (very) long time.

    IE6 will still be around for a long time in corporations, there’s simply too much legacy proprietary code built on top of it that doesn’t run correctly in IE7/8/9 (let alone FF or another browser) at all. After companies have spent millions rewriting/migrating/upgrading their apps to use none-IE6-specific hooks, we’ll finally see things shift. Which is going to take years.

  • Erik Brooks | Mar 16, 2011 at 12:04 pm

    Oh, and I also meant to say: The easiest way to drop a new Dojo version on your server is to simply place the new version in your domjs/dojo folder. When HTTP starts up it looks for the folder name with the latest version and automatically uses that as the version to serve to the user.

    Now, the XPage renderer may not know to use certain newer attributes (e.g. the “data-*” pieces) but one of the beauties of Dojo is that the 1.x.x versions are all supposed to be forward-compatible. Meaning that everything generally works.

    You can actually see this is you install Domino 8.5.0 and upgrade to 8.5.1 and then 8.5.2. Your /domjs/dojo folder will contain folders for “dojo-1-2-1″, “dojo-1-3-2″ and “dojo-1-4-3″. If you then downgrade back to 8.5.1 it will leave (and use) the dojo-1-4-3 folder.

  • Jeremy Hodge | Mar 16, 2011 at 12:23 pm

    “That’s a significant rendering change that can’t be applied to pre-HTML5 browsers”

    Actually, its not really that significant of a change since all dojo-enable components should be rendered from com.ibm.xsp.renderkit.dojo.DojoUtil i believe, its just a matter of changing the string … and as for the “can’t be applied to pre-HTML5 browsers” thats not really true either … any tag in any browser can have any attribute, the just aren’t HTML spec compliant. This change by dojo just moves the dojo specific attributes into the data-* domain to make them spec complaint, its just that the only spec that includes this is HTML5 .. so it really has no effect on other browsers …

    While I don’t think it will make 8.5.3, I wouldn’t be surprised to see it 8.5.4 (if that comes to be) … The big change will be in Dojo 2.0 were the support for the deprecated dojoType, etc will be removed … I’m hoping next will be using Dojo 2.0 ….

    Also there are some implications to upgrading your Dojo Version on your own, and you do need to be careful. In order to do it successfully, you do need to copy the ibm folder over from the previous version to the new version and delete all gz and compressed dojo files .. these were built with a dojo compressor and include the base version of dojo from the previous version. You can then recompress everything again with gzip to save space (although it wont be as good as it was before since you’ll have to make a few more http requests for a few files that we’re bundled together previously)

  • Erik Brooks | Mar 16, 2011 at 1:45 pm

    @3 – It’s significant in that IBM has to now add code forks for HTML5 browsers, test, etc. AFAIK there isn’t currently any browser sniffing/forking for generation of HTML for Dojo components. I could be wrong, though. I definitely could see Dojo 1.6.x making its way into 8.5.4.

  • Jeremy Hodge | Mar 16, 2011 at 3:00 pm

    @4, no thats my point, the don’t need to “fork” for html5 browsers. It not html5 browser specific. The previous dojoType was in violation of HTML4 and XHTML spec as well… all this does is make it compliant for HTML5 … data-dojo-type will work with both non-html5 browsers, and html5 browsers … the only difference is HTML5 considers it in spec, and it will continue to be in violation of the spec for HTML4 and XHTML ..

    As for “significant to IBM for testing”, no more so than changing dojo versions and the testing that goes on there … especially since both attribute types are supported in 1.6 … the big change and big effort will be in 2.0 when the deprecated dojoType= will be dropped … like I said, I’m guessing 2.0 will be a Rnext release timeframe thing, supposing 2.0 gets released soon enough.

  • Erik Brooks | Mar 16, 2011 at 6:27 pm

    @5 – Ah, gotcha. Yeah, then the RNext/Dojo 2.0 question is all that remains.

  • Paul Withers | Mar 16, 2011 at 9:07 pm

    So, 8.5.2 was released shortly after 1.5.0 went live, 8.5.3 almost certainly too soon after 1.6.0 went live. With XPages and Dojo being core to Domino now, is it time for Domino releases to be better aligned with Dojo releases?

  • Fredrik Stöckel | Mar 17, 2011 at 11:06 pm

    version 1.6 contains several compatibility fixes for IE9 and FF4 – so I guess the only option is to manually upgrade dojo version on 8.5.3 if it ships with 1.5 (I already have users upgrading to IE9). I think it will be hard for us to wait for 8.5.4.

    @Paul, I think you are right, it would be a very good thing to sync domino releases with dojo releases, or to have a separate dojo-specific patch strategy in place.

Post A Comment