Contact Information

Chris Toohey

Like what you see? Help feed-the-beast by donating to the site and it's humbly thankful author!

    Examples & Downloads
    xCopy v0.2 - OS xcopy Client for Lotus Notes 08/07/2008
    Examples and Downloads
    xCopy - Local Archiving and File Copying Utility for Lotus Notes 07/22/2008
    Examples and Downloads
    SOTU - Remote Console Reporting v0.2 07/11/2008
    Products
    Self-Discovery leading to more content, downloads, and examples 07/01/2008
    Examples and Downloads
    Sorting Hat v0.1 06/30/2008
    Lotus Notes
    Site Resources

    RSS Site Content
    Syndicate This Site!
    DG Banner Logo
    BleedYellow.com Dogears
    Advertisements

    IBM Lotus Notes and Domino 7 now available

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

    06/10/2008 03:47:40 PM | Chris Toohey | Bethlehem, PA

    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.


    Like what you see? Help feed-the-beast by donating to the site and it's humbly thankful author!

    Comments

    Wayne Sobers
    06/10/2008 08:34:40 PM

    Tim Tripcony has done the same thing, except he was detaching attachment files to a temp folder and pointing the url at the temp file.
    The result is a fantastic file preview application which ranks as one of the *most* useful notes client mechanisms blogged to date.
    I've combined it with the Adobe SVG viewer and a generated SVG file to create enbedded charts and graphs.

    Is it possible to embed the Mozilla browser in this way?

    Wayne


    Ed Maloney
    06/10/2008 09:08:51 PM

    Actually... I just saw a similar application that wasn't built with Notes. I thought that it would be easy enough to build one of these with Notes, but as you mention, some things are better left to the file system. Of course, Mac/Linux clients are excluded but they're used to that. I'd love to see the demo if you find time to post it.


    Nathan T. Freeman
    http://nathan.lotus911.com
    06/10/2008 09:29:58 PM

    "ranks as one of the *most* useful notes client mechanisms blogged to date."

    lol. You're welcome.

    There are many Tim Tripcony moments of brilliance that I could never take credit for. But this was not one of them. :-D

    That being said... head over to http://www.timtripcony.com for his latest -- which is most definitely him!


    Chris Toohey
    http://www.dominoguru.com
    06/10/2008 09:35:33 PM

    For the record:

    Tim hates babies, small animals, and the eldery.


    Charles Robinson
    http://cubert-codepoet.blogspot.com
    06/10/2008 10:09:59 PM

    I'd like to see your example. I'm not sure exactly how you're presenting the files to the Web Browser control. Are you using a view and exposing that via HTTP?

    I have some other ideas that won't require running HTTP, I just need to get them into Notes in a way that makes sense.


    Charles Robinson
    http://www.cubert.net
    06/11/2008 09:36:45 AM

    Oh, okay. You're using the web browser control to DISPLAY the file. That's completely different than where I was going. :-)


    Rob Shaver
    http://dowork.com
    06/11/2008 12:20:43 PM

    I hate to be such a dunce, but what does having one web browser embedded into another web browser really get you?

    In one place you talk about the "Windows Explorer Object", which is not a web browser, right? It's like "Finder" on the Mac ... lets you look at and manipulate your file system.

    Then the the code says "GetObject('Microsoft Web Browser')". Now that sounds like a web browser. Perhaps my problem is that I'm just not up on the Microsoft architecture.

    So where are the files actually stored? Is this application on the Internet or the company intranet? How is access to the files controlled and security permissions applied? How do the files get there to begin with? You also mentioned associating meta-data with the drawing files; how does that get done?

    The reason I ask is that I've designed a couple of systems kind of like this using Notes including detaching and renaming the files from the uploaded document, but the files were small. I've found no way to control access to the files stored on the server so I still do that through Notes. That is, I put the files on the server outside of the HTTP base address.

    My plan to handle large files, if I ever need to, is to dynamically attached the file requested to a document so the user could download it. I don't know what that would do to performance, however.

    Peace,

    Rob:-]


    Wayne Sobers
    06/11/2008 09:31:22 PM

    @ Nathan: That doesn't surprise me really, I guess I mentioned Tim 'cause I got the sample DB from his blog. That being said, I've downloaded samples from your blog plenty of times. I'm just thankful that *someone* is coming up with ideas for furthering the use of the Notes client.

    Wayne



    Add a New Comment


    (Not Published/Public)
    Remember my Information!

    (Enter the text from the image to proceed)

    (Full markup allowed in the comment field below; play nice!)

    Live Comments Preview