dominoGuru.com

Your Development & Design Resource

Embedded Windows Explorer/File Browser for remotely-stored file resources in the Lotus Notes Client UI

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...

  1. I was getting the idea that this was possible from somewhere.
  2. 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
  End If

  Call browser.navigate(Source.FieldGetText("url"))

 End If

End Sub

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.


About the author: Chris Toohey

Thought Leadership, Web & Mobile Application Development, Solutions Integration, Technical Writing & Mentoring

A published developer and webmaster of dominoGuru.com, Chris Toohey specializes in platform application development, solutions integration, and evangelism of platform capabilities and best practices.



More from dominoGuru.com


dominoGuru.com is powered by IBM Notes Domino XPages & hosted by Prominic.NET

Contact Us

Use our Contact / Feedback form or one of these email addresses:

Creative Commons License

Except where otherwise noted, dominoGuru.com by Chris Toohey is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.