We've just successfully upgraded 35 Domino servers (mail, application, BES, Sametime and LEI). It all went swimmingly, no outages, no incidents.
I just wanted to share a few things that we stumbled across along the way that will help another upgrade go even smoother.
Policy Documents
As part of the upgrade it is recommended opening, editing and saving all of your policy documents after an R8 upgrade. We did this. However, we have a bespoke application that a subset of trusted users can use to register mail users. The bespoke app used LotusScript to perform the registration. It stopped working after the upgrade.
We logged the following error:
Error: Notes error: Document is not signed. (Reader) in RegisterUser
After checking the obvious we ended up cutting all of the policy and policy settings documents out of the names.nsf and pasting them back in. Then going back into the policy documents and adding the policy settings back to each policy (the UNID's of the settings are stored in the policy document not the name and these change when we paste them back in).
It worked OK after that.
Duplicate Subforms.
We had reports of people no longer being able to open some applications on the web. In particular when they were opening views.
In the log.nsf of our application server this message was appearing:
HTTP Web Server: Application Exception - Duplicate Subform found
It is common amongst developers pre R8 to take advantage of duplicate subforms for things like page headers and footers on web pages. Indeed, this is the technique used on many of our web enabled applications. I immediately thought we would have to do code changes in lots and lots of applications.
Thankfully, a fix was released in 8.5.2 that involves making a change to the servers notes.ini (DominoAllowDuplicateSubforms=1). Documented here:
http://www-10.lotus.com/ldd/R5FixList.nsf/SPRNum/3593D74FE51C0D898525778500581F68?OpenDocument&ca=drs-fo
NotesSession Platform property returns "AIX/64" instead of "UNIX"
We had LotusScript agents that relied on knowing what OS they were on in order to work e.g. to extract files. It used session.platform to do this. Expecting it to return "UNIX" or "Windows". See below
Select Case session.platform
Case "Macintosh" : getFileSeparator = ":"
Case "UNIX" : getFileSeparator = "/"
Case Else : getFileSeparator = "\"
End Select
The upgrade means it now returns "AIX/64". That's not in the case statement above! This has only just been documented as a problem by IBM and was not part of the code searches that we did prior to the upgrade. This potentially affects any code that relies on "UNIX" being returned as a value when using session.platform.
Details here:
https://www-304.ibm.com/support/docview.wss?uid=swg21499642
Essentially we need to add the following to our servers notes.ini
PLATFORM_RETURNS_UNIX=1
Closing Note
We used TeamStudio Analyzer to help us audit the design of our applications prior to our upgrade but two of the gotchas above were not part of our analysis. I'll be feeding this back to them and see if they can add it to their list of Analyzer filters.
I just wanted to share a few things that we stumbled across along the way that will help another upgrade go even smoother.
Policy Documents
As part of the upgrade it is recommended opening, editing and saving all of your policy documents after an R8 upgrade. We did this. However, we have a bespoke application that a subset of trusted users can use to register mail users. The bespoke app used LotusScript to perform the registration. It stopped working after the upgrade.
We logged the following error:
Error: Notes error: Document is not signed. (Reader) in RegisterUser
After checking the obvious we ended up cutting all of the policy and policy settings documents out of the names.nsf and pasting them back in. Then going back into the policy documents and adding the policy settings back to each policy (the UNID's of the settings are stored in the policy document not the name and these change when we paste them back in).
It worked OK after that.
Duplicate Subforms.
We had reports of people no longer being able to open some applications on the web. In particular when they were opening views.
In the log.nsf of our application server this message was appearing:
HTTP Web Server: Application Exception - Duplicate Subform found
It is common amongst developers pre R8 to take advantage of duplicate subforms for things like page headers and footers on web pages. Indeed, this is the technique used on many of our web enabled applications. I immediately thought we would have to do code changes in lots and lots of applications.
Thankfully, a fix was released in 8.5.2 that involves making a change to the servers notes.ini (DominoAllowDuplicateSubforms=1). Documented here:
http://www-10.lotus.com/ldd/R5FixList.nsf/SPRNum/3593D74FE51C0D898525778500581F68?OpenDocument&ca=drs-fo
NotesSession Platform property returns "AIX/64" instead of "UNIX"
We had LotusScript agents that relied on knowing what OS they were on in order to work e.g. to extract files. It used session.platform to do this. Expecting it to return "UNIX" or "Windows". See below
Select Case session.platform
Case "Macintosh" : getFileSeparator = ":"
Case "UNIX" : getFileSeparator = "/"
Case Else : getFileSeparator = "\"
End Select
The upgrade means it now returns "AIX/64". That's not in the case statement above! This has only just been documented as a problem by IBM and was not part of the code searches that we did prior to the upgrade. This potentially affects any code that relies on "UNIX" being returned as a value when using session.platform.
Details here:
https://www-304.ibm.com/support/docview.wss?uid=swg21499642
Essentially we need to add the following to our servers notes.ini
PLATFORM_RETURNS_UNIX=1
Closing Note
We used TeamStudio Analyzer to help us audit the design of our applications prior to our upgrade but two of the gotchas above were not part of our analysis. I'll be feeding this back to them and see if they can add it to their list of Analyzer filters.
Hopefully this post was useful to someone.
2 comments:
Great Tips! When I saw the blog title I was little bit surprised why someone upgrading to R8 instead of stable R8.5.2. I think R8.5.2 would be appropriate for the blog title
Hi Jyotiprakash,
That's a very fair comment. I agree the title of the post is misleading. I've changed it.
Thanks,
Ed
Post a Comment