Where to put things in iNotes 8.5.1 customization?

After weeks of modifying our iNotes extension to get the code that worked in iNotes 8.0.1 working in 8.5, I just tried iNotes 8.5.1 only to find out that again things have changed in the customization area.

OK, I created the Forms85_x.nsf file and iNotes is using it. But I’m still wondering where to put things that I’ve customized in my Forms85.nsf?

Code that is in Forms85 subforms Custom_JS and Custom_JS_Lite I’ve put in the equivalent subforms in Forms85_x, and my custom actions are added to the views. So far so good.

But what about custom dialogs, like they are described in the Domino wiki article ‘Manipulating data in iNotes Lite forms’

You created a custom subform for the dialog, you modified the l_StdPageOperations forms and you’ve added a lazy loading codeline in the Scene_Actions_Lite function of Custom_JS_Lite (something like EKc.prototype.EQj[‘com_ibm_dwa_ui_actionMailRetention’] = [‘MailRetention’] )

Where would you put these things in iNotes 8.5.1?

What about custom forms and custom agents?

We use a general error form and an agent form that gets submitted to trigger a custom agent?

Where should I put these design elements? Still in Forms85.nsf or in Forms85_x.nsf as well?

So far my custom dialogs aren’t working anymore and I haven’t succeeded in triggering the agent (which is currently in Forms85_x.nsf)

Any help is very much appreciated (and a little more documentation especially on the differences 8.5 – 8.5.1 with your former examples would be desirable :-)).

Best regards,

Veit

Subject: Custom iNotes dialogs - what I’ve found out so far, trigger of an agent throws error

Here’s how custom dialogs work for me in iNotes 8.5.1.

Put the custom subform with the dialog code in Forms85_x.nsf

For each subform put the following in the l_StdPageOperations forms (IE,Gecko, Safari) in Forms85.nsf

Syntax has changed!!

between the NotesDictionary tags

<InsertNotesSubForm name=@{@If(s_YourName=“1”;“YourSubformname”;“”)}> before the NotesFragment tags

Lazy loading table entry in Custom_Scene_Actions_Lite of the Custom_LS_Lite subform in Forms85_x.nsf

EKc.prototype.EQj[‘com_ibm_dwa_ui_actionYourName’] = [‘YourName’];

Call your ‘com_ibm_dwa_ui_actionYourName’ function in the addActionLite call as described in the examples

I’m still not able to trigger my agent like this (which worked in 8.5). Form s_LLRunAgent is present in Forms85.nsf

var sCmd2 =‘/inotes/Forms85.nsf/iNotes/Proxy/?EditDocument&Form=s_LLRunAgent&PresetFields=’

				+ 'AgentName;' + g_sAgentName + ','

				+ 'MailDbPath;' + API_GetMailfilePath() + ','

				+ 'SelectedDoc;' + fp[0] + ','

				+ 'Command;' + 'Retrieve';

var sEncodedURL2 = encodeURI( sCmd2 );

window.location.replace( sEncodedURL2 );

The server console shows the error

*** Disallowed preset, NOT set: AgentName

*** Disallowed preset, NOT set: MailDbPath

*** Disallowed preset, NOT set: SelectedDoc

*** Disallowed preset, NOT set: Command

10/22/2009 12:58:47 PM Couldn’t find design note

10/22/2009 12:58:47 PM Couldn’t find design note

10/22/2009 12:58:47 PM iNotes Exception - Couldn’t find design note [/inotes/Forms85.nsf/iNotes/Proxy/?EditDocument&Form=s_LLRunAgent&PresetFields=AgentName;LLCreateOrder,MailDbPath;/mail/vwiehler.nsf,SelectedDoc;169C7FCA1EA610B8C125764E002DD9F9,Command;Retrieve]

Subject: 8.5.1 customization info

See this article in the Lotus Notes and Domino wiki for information about the customization changes in 8.5.1. As you’ve noted, all of the customization forms and subforms are now in a new forms file, which you create from a provided template. That way, future updates of Lotus iNotes won’t overwrite your customizations.

Unfortunately, lazy loaded code can’t be put in Forms85_x, because we support that in 8.5.1. We’ll look at supporting that in a future release. Alternately, you can add your Javascript code to Custom_JS or Custom_JS_Lite. It just won’t be lazy loaded.

Custom forms can be added to Forms85_x. To load them, you’ll need to add the optional=“yes” parameter to the InsertNotesSubForm tag. Example:

Agents will need to be added to the main forms file. We’re planning on adding the ability to load agents from Forms85_x in the next release.

Subject: Thanks, Eric, for the information. Regards, Veit.

Subject: Also

You’re welcome. Let us know if you find anything else that should go into Forms85_x.