Domino Directory Type Ahead

Update: 2009 Jan 22 - Added link to dirlookup.css.

Around December 2006 I read a tip on Julian Robichaux's site about Google Suggest-type Lookups In Notes code he had written. I downloaded the code and thought that I could make a few improvements. I changed the code to:

  • Use Object Literal Notation.
  • Added highlighting/auto complete support.
  • Changed to code to dynamically create script elements for data instead of using the XML HTTP request object. Using script files gets rid of cross domain scripting security issues.
  • Supports multiple input fields instead of one field.
  • Supports the ($VIMPeopleAndGroups), ($VIMGroups) and ("Servers") views in addition to the ($VIMPeople) view.

dirlookup.gif

I'm sorry it's taken a year and a half to publish.

Continue Reading "Domino Directory Type Ahead..."

DOMContentLoaded for Browsers, Part V

Update: 2014 March 19 - domReady version II has been created that provides a streamlined domReady function.

For those of you that don't know what the DOMContentLoaded event can do for you, here's a brief description.

The DOMContentLoaded event allows you to add behavior or change the HTML of a page after the HTML has loaded and before the onload event which happens after the complete page, including images has loaded. This allows you to add menu, tree behavior, AJAX functionality or anything else without having to wait for all items on a page to load. You may have experienced the need for a DOMContentLoaded event on a page that includes drop down menus or a tabbed interface which doesn't work until all images have loaded. Using the DOMContentLoaded event allows you to add the behavior before images and objects have loaded.

When I originally added the DOMContentLoaded event handler to Dean Edwards' addEvent function, I wanted it to be just another addEvent type. Since then I've changed my mind and created a domReady() function. By separating domReady in its own module, it can used with most frameworks.

Continue Reading "DOMContentLoaded for Browsers, Part V..."

WebSession Agent Class

Back in August 2007, Jake Howlett introduced a Web Session class for Domino Agents. I liked it a lot and saw the potential for reducing the amount of time to create web query open, web query save and web agents. I write a lot of web agents and often need to get query string, cookie and even form data. These items were missing from Jake's Web Session class. Also, the Web Session class required the programmer to instantiate the class when you wanted to use it. I thought that if you include the class in your agent you will want to use it. With that in mind, the Initialize function in the script library now instantiates a global web variable. I've added methods to get query string, cookie and form data items. With the advice of a co-worker I also protected the class variables by making them private and adding get methods for each variable. The only variables that I couldn't do this with were the lists that store query, cookie and form data information.

Continue Reading "WebSession Agent Class..."

DOMContentLoaded for Browsers, Part IV

Update: 2014 March 19 - domReady version II has been created that provides a streamlined domReady function.

Update: 2008 June 13 - DOMContentLoaded for Browsers, Part V has been created that provides a domReady function without the overhead of the Dean Edwards' events code. If you're a prototype user you should check out Prototype JavaScript framework: document.observe which in version 1.6.0 gives you a dom:loaded event. If you don't have 1.6.0 or above of prototype or don't like their solution, check out domready.js in DOMContentLoaded for Browsers, Part V.

Update: 2008 Feb 14 - Added support for Vista 64 per Goran Miskovic's comment.

For those of you that don't know what the DOMContentLoaded event can do for you, here's a brief description.

The DOMContentLoaded event allows you to add behavior or change the HTML of a page after the HTML has loaded and before the onload event which happens after the complete page, including images has loaded. This allows you to add menu, tree behavior, AJAX functionality or anything else without having to wait for all items on a page to load. You may have experienced the need for a DOMContentLoaded event on a page that includes drop down menus or a tabbed interface which doesn't work until all images have loaded. Using the DOMContentLoaded event allows you to add the behavior before images and objects have loaded.

When I originally added the DOMContentLoaded event handler to Dean Edwards' addEvent function, I didn't provide a way to handle calls to it after the DOMContentLoaded event handler ran. If a developer called addEvent(window, "DOMContentLoaded", myFunction) after the DOMConentLoaded event ran, the passed function would never run. This version fixes the problem so that even if you call addEvent for the DOMContentLoaded event and the DOMContentLoaded event handler has already run, it will run your function.

The previous addDOMLoadEvent function would simply add the passed function to an array of functions which would be handled by the DOMContentLoadedInit function on the DOMConentLoaded event.

Continue Reading "DOMContentLoaded for Browsers, Part IV..."

Land line gone, VOIP is today’s phone service

My land line cost around $60.00USD a month and I was tired of paying that much money for a service we rarely used. We wanted a "family" phone but didn't want to pay what we had been paying. I have been using Skype on my computer for about three years and have been happy with the improved quality of the service, so we decided to go with Skype. A couple of weeks ago, I bought a Netgear Skype phone.

20071001NetgearPhone.jpg

The Skype web site is pretty easy to use if you're going to download their software or purchase Skype Out. However, if you want to find out what you need to setup a Skype phone, you're in trouble. The information is very difficult to find. I finally bought Skype Pro for $36.00USD that gave me a $30.00USD credit for Skype In. I bought Skype In with the credit for $30.00USD and finally bought Skype Out for $29.95USD for a total of $95.95USD for a year of phone service.

The service is very good with excellent voice quality. I can't make 911 calls, but I can use my Cell Phone if I need to make a 911 call. So far the only problem I've had is accidentally hitting the off button when on a call.