How to get to Sesame Street - Embedded Framesets and programmable embedded views
UPDATE AGAIN: The description now includes screenshots for those who are mystified by my complex use of language!
UPDATE: The NSF is available on the sidebar list of downloads now.
If you've watched my demo on Embedded Framesets, you're either going "what's the big deal?" or "how the crap did you do that!?!" (Okay, you might be going "who cares?" but if so, this blog is probably not targeted at you.)
Let's answer the first question. The big deal is...
1) a view embedded on the form will now respect form formulas and preview conditions. This is extremely handy, and something of a big deal.
2) the referenced database for an embedded view becomes programmable at runtime. This is a HUGE deal, because it means that template developers who work with multi-NSF designs can use embedded views that still work when you create an instance of those templates. (Without having to resort to ugly hacks like customized subforms or round-tripping DXL.)
There are other implications that you might be thinking of as well, such as whether this works in a dialog box (no... but that would be insanely cool, wouldn't it?) or whether it works in a layer (of COURSE!) or whether the target frame is addressable with @SetTargetFrame (doesn't look like it, but there's a ton of coding approaches that I haven't tested yet.)
So... how does it work? Read more for details!
It's actually ridiculously simple. I'll update this page with details & screenshots later, but you don't really need them...
1 (hahahaha) - Create the frameset that you want to embed, but include one extra frame on it. I called my frame "Snuffleupagas." (Because it's a hidden frame, dontcha know.)
Put that frame somewhere that you can't see it, such as at the bottom with a height of 0 pixels.
2 (ahahahah) - Create a form that's set to auto-load itself into a frameset. Select the frameset that you just created and tell the form to render in the "hidden" frame.
3 (hahahaha) - Create an embedded editor on any form (or page) that points to "snuffleupagas." It doesn't matter whether we had any fields on the form, because it's not visible.
The auto-frameset renders into the embedded context of the editor. Yeah, it's that easy.
How none of us ever thought to do this before, I have no idea. Maybe someone DID and it was so easy, they didn't think it was worth talking about.
Anyway, because you're loading a frameset, you get all the power of Notes frames. Which means you can use @formulas to determine the contents of the frame. Which means if you want to show a view, you can set the frame's contents to "computed" and then determine the NSF and the name of the view with whatever @formula skills you might possess. (And if you're reading Escape Velocity, odds are good that you're pretty handy with @formulas.)
In my demo, I kept it simple with ENVIRONMENT variables. I'm sure Profile docs would be effective, too. Or @DbLookup. Like I said, you probably know you're way around the formula language.
Here's some shots of how the frameset itself loads...
Oh, and many thanks to Carl Tyler for his assistance in getting the actual demo put together!




Comments
Posted by Tim Tripcony At 12:57:45 PM On 07/15/2007 | - Website - |
Posted by Tim Tripcony At 01:01:55 PM On 07/15/2007 | - Website - |
Seems like you got your wish for embedded framesets.
Posted by Slawek Rogulski At 01:52:38 PM On 07/15/2007 | - Website - |
{ Link }
/me thinks Nathan is the man... That's cool dude!
Posted by Chris Whisonant At 03:09:10 PM On 07/15/2007 | - Website - |
Seriously, great stuff !
Posted by Michael Bourak At 03:35:19 PM On 07/15/2007 | - Website - |
Posted by Kevin Pettitt At 03:54:41 PM On 07/15/2007 | - Website - |
tho, great idea! and I wonder it works. will Lotus say "works as designed"?
Posted by Feri At 05:02:33 PM On 07/15/2007 | - Website - |
Will have to go and have a play with this now. I can see some new UI concepts and interactions not far off!
Thanks!
Posted by Simon Scullion At 06:04:19 AM On 07/16/2007 | - Website - |
Posted by Chris Blatnick At 07:56:19 AM On 07/16/2007 | - Website - |
I had the framesets, I had the embedded editor... I was missing the Auto Frame piece. Sometimes it takes another set of eyes to see what you've been missing on your own. Now I can finish up this app, deliver it in Notes, and everyone will be happy. Or at least as happy as a client can be.
Posted by Charles Robinson At 05:48:00 PM On 07/16/2007 | - Website - |
It is disappointing that it won't work in a dialog box. From what I can tell, once you put focus in an embedded view on a dialog box, it will never come out.
Posted by Russ Mayes At 02:13:04 PM On 07/17/2007 | - Website - |
Posted by Scott At 08:23:55 PM On 07/17/2007 | - Website - |
Posted by Ingo Erdmann At 04:23:30 AM On 07/18/2007 | - Website - |
This is still a very sweet way of dealing with programmable 'virtual' embedded views.
-jeff
Posted by Jeff Abel At 08:44:44 PM On 08/20/2007 | - Website - |
Really a great thing that help me show new possibilities to users.
Have you found a way to get reference to a field of selected document in the view that is in the frameset ?
Posted by Benoit At 05:43:12 AM On 10/25/2007 | - Website - |
My need is to have the various embedded views in the form show only docs by a single category, like a regular embedded view does. The idea is that many different dbs have docs in them by the same key for my review.
Functionally you would create a document with an editable key in it, and the buttons to show the other embedded views use the key for the document display.
Tried this?
Paul
Posted by Paul Gaudion At 09:26:12 PM On 05/01/2008 | - Website - |
But, in fact, I would like to open a retstricted to category view (as we can do in embedded view)
I tried to open the frame on an URL (...?openview&Resticttocategory=xxx) but it doesn't in Notes Client.
Any idea ?
Posted by Pierre Frappé At 09:25:44 AM On 08/01/2008 | - Website - |