Obsoleted in ND6.x

I’ve been doing some testing to make sure that some applications that are running on an R5 server will be okay when they’re moved over to ND6.5. According to the Notes 6.5 Designer Help, the following things were obsoleted in or left out of ND6:

LOTUSSCRIPT

NotesOutline.AddEntry (supported)

NotesOutline.GetChild

NotesOutlineEntry.IsHidden

NotesDatabase.GetURLHeaderInfo

PROMPT_CHOOSEDATABASE (notesUIWorkspace.Prompt constant - 13)

JAVA

Outline.addEntry (supported)

Database.getURLHeaderInfo

Replication.CNOTES_REPLCONST_PRIORITYNOTSET constant

@COMMANDS

@Command( [AdminSendMailTrace] )

@Command( [AdminOpenStatistics] )

@Command( [AdminOutgoingMail] )

@Command( [AdminOpenServerLog] )

@Command( [AdminOpenAddressBook] )

@Command( [AdminOpenCertLog] )

@Command( [AdminDatabaseQuotas] )

@Command( [AdminCreateGroup] )

@Command( [AdminStatisticsConfig] )

@Command( [AdminOpenUsersView] )

@Command( [AdminOpenServersView] )

@Command( [AdminOpenGroupsView] )

@Command( [AdminDatabaseAnalysis] )

FORM/PAGE EVENTS

HelpRequest

PostOpen (supported, but should use onLoad)

QueryClose (supported, but should use onUnload)

QuerySave (supported, but should use onSubmit)

FIELD EVENTS

Entering (supported, but should use onFocus)

Exiting (supported, but should use onBlur)

Does anyone know of anything else to watch out for in the code? I can search for these things using DDSearch, but I want to make sure I’m looking for everything.

Thanks.

  • Julian

Subject: Obsoleted in ND6.x

Something else that has been removed is opening a document via URL using it’s NoteID. You are forced to either use its UNID, view key, or some other method.

Subject: RE: Obsoleted in ND6.x

LOL! It just occured to me that we did that for short-form URLs somewhere.

Subject: Obsoleted in ND6.x

Apart from the Admin @Commands (which were really only useful for admin client SmartIcons), most of these were actually obsoleted in R5 before R5.0.4. The ones that were left out altogether seem to have one thing in common – they came in with 5.0.2 and went away with 5.0.3.

There is, though, a new preference for “NotesUIWorkspace.GetCurrentDatabase” vice “.CurrentDatabase”. The latter was apparently fatally flawed but unfixable, and maintained for backwards compatibility only.

Subject: Other things to watch out for when migrating to ND6

I’m happy to say that our migration from R5 to version 6.5 went smoothly. In retrospect, I’ve got a few things to add to my earlier comments about what to look for before you upgrade:

* My initial plan included using DDSearch to find obsoleted bits of code, but it didn't occur to me that databases with hidden designs or code that %Includes LSS files wouldn't be searchable. As always, nothing beats a healthy dose of testing.



* I found a Notes/Domino 6 Migration Knowledge Collection in the Lotus Knowledgebase that has a few extra things to watch out for -- http://www-1.ibm.com/support/docview.wss?rs=475&context=SSKTWP&uid=swg21113048&loc=en_US&cs=utf-8&lang=en



* I also found a technote describing a problem with uploads greater than 10 MB -- http://www-1.ibm.com/support/docview.wss?rs=463&context=SSKTMJ&uid=swg21096111&loc=en_US&cs=utf-8&lang=en



* In ND6, the permissions of the signer of a script library will filter down to agents that use that script library, so make sure that you have everything signed properly.



* And the biggest gotcha of all: beware the new security settings that restrict agent operations. By default, the runtime security level on some agents seemed to be set to "1. Do not allow restricted operations", which caused some scheduled agents to fail. After resetting the runtime security level to "2. Allow restricted operations", they worked fine. One thing I noticed though is that the CreateObject and GetObject functions seem to be restricted operations, although they are not listed as such in the Notes Help. For reference, see:

http://www-12.lotus.com/ldd/doc/domino_notes/6.5/help65_designer.nsf/0/ec288ebfaf54fd7b85256d9b0042f05b?OpenDocument

and

http://www-12.lotus.com/ldd/doc/domino_notes/6.5/help65_designer.nsf/0/ee10397697892fa285256d9b0042f1a0?OpenDocument

As I said, the biggest thing to watch out for after you migrate to ND6 and higher is probably the agent runtime security, because your agents can fail somewhat silently if this isn’t set properly in ND6 and 6.5. All you’ll see is that the agents don’t seem to be running, and there might be some errors like this in the Console Log:

Error 201: Operation is disallowed in this session 

Programmer that I am, when I discovered this, I knew I had to write an agent that checks the runtime security settings. So I wrote a LotusScript agent that checks all the agents in all the databases on a server (the ones you have access to, anyway) and spits out a comma-delimited file with information about the $Restricted field for the agents ($Restricted = 1 is level 1, $Restricted = 0 is level 2, $Restricted = 2 is level 3 – if the field doesn’t exist, I think it’s treated as level 1). Here’s a link to the code I wrote:

http://www.nsftools.com/tips/APITips.htm#agentrestrictionlist

Hope that helps someone out there.

  • Julian

Subject: RE: Obsoleted in ND6.x

Thanks for the tips guys. I also found out today that several of the @Command([FileExport]) options seem to have disappeared in the 6.x code stream:

http://www-1.ibm.com/support/docview.wss?rs=0&q1=fileexport&uid=swg21090345&loc=en_US&cs=utf-8&cc=us&lang=en

Other people have already mentioned this elsewhere in the forum, but I figured I’d try to keep all of this in one place if I can. I also saw that Ben Poole posted a few interesting upgrade gotchas on this forum thread:

http://www-10.lotus.com/ldd/nd6forum.nsf/0/088f713f5f929e7280256dc800716cc8?OpenDocument

If we get enough information together, this sort of thing would actually make a nice FAQ.

  • Julian