Domino 852 - make sure that you test your Xpage applications first
Sean Cull 25 August 2010 11:27:12
Just a quick tip for any other "traditional notes client developers". With traditional Notes applications it has been very very rare that an upgrade has caused problems with functionality, I have only ever seen it a couple of times over thousands of applications.
We upgraded to 8.5.2 yesterday and both of our Xpages applications currently under development stopped working. In both cases 8.5.2 was fussier than 8.5.1 about tolerating some dubious SSJS code.
as an example this code worked on 8.5.1
var Statusnumber : integer = Statustext
whereas in 8.5.2 it required the more correct
var Statusnumber : integer = parseInt(Statustext)
While this may indeed be the correct thing to happen the combination of steep learning curve, significant server changes in a point release and a complacency built up over years as a Notes client developer may also affect a few other people so heads up.
Sean
Admin Tips Dev Tips Lotus Notes 8.5
2Paul Withers 25.08.2010 14:37:56 I agree about testing Yes, I'd strongly recommend testing. There seem to be a few areas where you could code things incorrectly in earlier versions, but they worked. Because of limited documentation, there was nothing to tell you they were wrong or what the correct was. An example I've had was in try...catch(e), using e.getMessage(). It worked in 8.5.1, but the properties and methods were never documented and didn't seem to correspond to what I could find documented for Java or Javascript. e.toString() seems the most reliable method I've come across. With regard to parseInt, I tend to use @Formula equivalents where possible, so @Integer. Hopefully that doesn't get hit by the octal problems, which I've been burned by before when doing date handling in javascript.
Please leave a comment


1Tim Tripcony 25.08.2010 14:20:40 Don’t forget the radix
While unrelated to the point of your post, I wanted to caution you about the behavior of parseInt: you should always supply the radix argument to ensure it's using the numeric base you intend, e.g.:
var Statusnumber:int = parseInt(Statustext, 10);
Without the radix, it will always give you base 10, which is nearly always what was intended, until it ecounters something like "08", which it will assume you want treated as octal.