Blogs

  • Browse Blogs
  • My Blog
  • My Updates

Tags Help

  • View as cloud  | list

Similar Entries

photo

Compile Problem fixe...

Blog:  Jan Schulz
Jan Schulz
Updated 
No Ratings 0     No Comments 0
photo

Sending Designer int...

Blog:  Jan Schulz
Jan Schulz
Updated 
No Ratings 0     Comments 1
photo

I was wrong: plus is...

Blog:  Yellow is the...
Tim Tripcony
Updated 
No Ratings 0     Comments 2
photo

Recompile in 8.0.2

Blog:  Urs Meli
Urs Meli
Updated 
No Ratings 0     No Comments 0
photo

How to test if an ar...

Blog:  Jan Schulz
Jan Schulz
Updated 
No Ratings 0     Comments 1

J. Keil Wilson

Blog Authors:  Keil Wilson  

Previous |  Main  | Next

A Revolutionary Understanding

Keil Wilson  |    |  Tags:  event binding the_revolution lotusscript  |  Comments (0)

When Nathan Freeman talked about his revolution back in July, I immediately saw the potential to ease my pain with a Notes UI component that I use time and time again in my application design: the Embedded View. I almost always use embedded views for creating and working with response documents. My users don’t want to sort through some enormous hierarchical view to find that one piece of data they need to work with. They want to start with the top-level, basic data and drill down to find specific details. Embedded views are a great tool to allow users to work in this way and build more simple mental maps that allow them to easily navigate complex data structures.

For years, though, there’s been a major pitfall to using embedded views to create and edit these response documents. The UI events and objects of the embedded view cannot be directly connected to the UI events and objects of the parent form. If your form needs to know which response document is selected in the embedded view, that’s a very difficult (sometimes impossible) task. If you change a response document in the embedded view and want to update a field on the parent document, you have to be very careful about how you do that, or an NSD dialog is in your future.

So when Nathan came online ranting and raving about this amazing method he’d discovered for sharing objects and variables across Notes class objects that previously couldn’t talk to each other, I was very interested. Then I looked at his code and my face melted like I was staring into the lost ark of the covenant. What he was describing was really complex and used a bunch of LotusScript language statements and functions I barely knew existed, let alone had ever used before. And since I was hip deep in deadlines and had work-arounds for my immediate problems, I set Nathan’s revolution aside in hopes someone would come along and explain it all so I could understand it. That never really happened.

Earlier this week, I finally had a requirement that could only be met by allowing my parent form to talk directly to the embedded view’s NotesUIView object. From a button on that parent form I needed to know which document was selected in the embedded view. So, I rolled up my sleeves, took some Xanax, and tried to understand what is going on in Nathan’s head. I really did struggle trying to figure out what was absolutely necessary to get object and variable sharing to work for what I was trying to do. As I followed Nathan’s examples and entered code into the different forms, views, and script libraries, I really thought there was no way this could work. A couple of days into the struggle, though, I found the magic. In the end, what I really had to do was to stop needing to understand why this would work and to just have faith that it would. The result is really an amazing leap forward in UI design capabilities for Notes Client applications.

I've put together a fairly simple example of how this works in five steps. Look for another post in the next few days: "How to Become a Revolutionist"

Comments

Previous |  Main  | Next
Skip to main content link. Accesskey S
IBM Lotus Connections Help Tools About

Tags

A tag is a keyword that is used to categorize an entry. To view the entries with a particular tag, click a tag name or enter a tag in the box.
The tag cloud indicates the frequency of tag use. Popular tags appear darkest. The slider control adjusts how many tags are displayed in the tag cloud.