Your Development & Design Resource
Embedded Windows Explorer/File Browser for remotely-stored file resources in the Lotus Notes Client UI
06/10/2008 03:47:00 PM by Chris Toohey
I had a request from a manufacturing customer who was asking for a document library, which would be used to store CAD files (read: too-large-for-logic drawings). I immediately didn't want to store these mammoth files in a Domino database container, as 1) the Full Text Index really wouldn't do any good for CAD files and 2) well - duh - there's a long list of reasons not to bring 500MB files as attachments into a Domino database container - and that's not what I'm getting at here... so I'll move on.
After some questions, I found that the customer was asking for a "document library" because they wanted to track specific drawings against specific projects and other categorizations that the standard File Store architecture would no longer facilitate. They wanted to be able to apply category labels to grouped files. All things that you'd want to do in a typical "document library" - but I again didn't want to store these large files in Domino. So I thought about using some sort of embedded, programaticaly-accessible Windows Explorer widget - which would allow me to display the "linked" documents, while storing the labeling information on the actual "container" UI document. Simple enough right? Now to just find a Windows Explorer widget... that I could modify within the Lotus Notes client container... in release 6.5.
Got some good feedback from people via my Twittering the question (thanks Steve and Andrei!!!) but me being the stubborn me, there had to be a simple way of doing it... and possibly with the Microsoft Web Browser Control (which was the closest thing that I could find to a Windows Explorer Object). So I googled "Microsoft Web Browser Object" + Lotus Notes...
Now, I should have known that...
- I was getting the idea that this was possible from somewhere.
- That someone like Tommy Valand would already have done it!
The good news? Well, using this approach, I was able to give my customer a quick-since-it-was-already-written solution:
I simply modified their current "project" Form Design Element and added (on a new tab called File Resources) a field called url and am embedded Microsoft Web Browser Object (Control).
Pretty simple right? Yeah - the only this that was missing was the logic to control the embedded object - which I added to the PostOpen event:
Sub Postopen(Source As Notesuidocument)
Dim browser As Variant
Set browser = source.GetObject("Microsoft Web Browser")
If (Len(Source.FieldGetText("url")) > 0) Then
If (browser.width <> 400) Then
browser.width = 400
browser.height = 400
So pretty basic stuff all around - when the "project" document is opened, I check to see if there's a value defined in the url field. If so, launch my embedded "File Browser" of sorts and show the contents!
If there's an interest in having an example of this "approach", let me know and I'll put one out here.