<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24863326</id><updated>2012-01-24T15:59:28.094-05:00</updated><category term='Youth Ministry'/><category term='Gadgets'/><category term='Lotusphere2007'/><category term='Miscellaneous'/><category term='Computers'/><category term='Vacation'/><category term='Travel'/><category term='Lotus Notes'/><category term='Lotusphere2008'/><category term='Show-n-Tell Thursday'/><category term='Lotusphere'/><title type='text'>Don McNally</title><subtitle type='html'>Thoughts on technology, Lotus Notes/Domino, Catholic youth ministry, music and whatever else pops into my head.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>87</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24863326.post-2992224986114743334</id><published>2012-01-24T15:26:00.002-05:00</published><updated>2012-01-24T15:56:29.043-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>More Excel Code: Inserting and Copying Rows</title><content type='html'>I was working on some code to export data to a pre-formatted Excel file and, as part of that, needed to be able to insert rows into a range so that the data I added would be included in formulas below it (they were column totals and data summaries). As I find typical when trying to control Excel from LotusScript, I couldn't locate examples of the code I needed. That doesn't mean they aren't out there, just that I couldn't find them.&lt;br /&gt;&lt;br /&gt;After some experimentation and some dumb luck stumbling on information that referred to methods I wasn't aware of in the COM interface, I came up with the code below.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;div style="FONT-FAMILY: sans-serif; COLOR: black; FONT-SIZE: 9pt"&gt;&lt;span style="COLOR: blue"&gt;Sub&lt;/span&gt; CopyFormulas&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;xlSheet &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Variant&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; rowNum &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Integer&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; firstCol &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Integer&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; lastCol &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Integer&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; x &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Integer&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; cellVal &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;br /&gt; xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Activate&lt;br /&gt; xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Cells&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;rowNum&lt;span style="COLOR: blue"&gt;-&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;EntireRow&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Copy&lt;br /&gt; xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Cells&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;rowNum&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;EntireRow&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Select&lt;br /&gt; xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;PasteSpecial&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;7&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt; xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Application&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;CutCopyMode &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: purple"&gt;False&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;For&lt;/span&gt; x &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; firstCol &lt;span style="COLOR: blue"&gt;To&lt;/span&gt; lastCol&lt;br /&gt;  cellVal &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Cells&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;rowNum&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;x&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Formula&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Left&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;cellVal&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;"="&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   xlSheet&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Cells&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;rowNum&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;x&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ClearContents&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Sub&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="MARGIN: 5px 50px; FONT-FAMILY: sans-serif; COLOR: gray; FONT-SIZE: 8pt"&gt;&lt;br /&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This takes the Worksheet object you pass it, copies the content and format of the row above your current row into your current row and then removes the contents of a defined set of columns if they are not formulas. The problems I had were that the copy was not done in the proper place and I wasn't maintaining the formulas and formatting of the row I was copying.&lt;br /&gt;&lt;br /&gt;The copy location was solved by adding the xlSheet.Activate line. My code was writing data to three different worksheets (one each for month-to-date, quarter-to-date and year-to-date) so I found that adding that line made sure the proper sheet was active.&lt;br /&gt;&lt;br /&gt;The formatting issue was resolved by a combination of two methods. One is .PasteSpecial(7) , where the 7 represents the xlPasteAllExceptBorders paste option. The other is the .ClearContents method. I was using the .Paste and .Clear methods initially. I suspect I could use the .Paste and .ClearContents methods, since I think the .Clear method was the culprit that was deleting the formats, but I am going to leave it the way it is since a) I know it works, and b) the .PasteSpecial method indicates what I am really trying to do.&lt;br /&gt;&lt;br /&gt;By the way, the code to insert a row is xlSheet.Cells(row,col).EntireRow.Insert.&lt;br /&gt;&lt;br /&gt;Enjoy! Now, how many times do you think I'll find this blog post when I search for this in the future? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-2992224986114743334?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/2992224986114743334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=2992224986114743334&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2992224986114743334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2992224986114743334'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2012/01/more-excel-code-inserting-and-copying.html' title='More Excel Code: Inserting and Copying Rows'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-2679860905803702791</id><published>2011-06-28T12:38:00.004-04:00</published><updated>2011-06-28T12:49:22.128-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Inheriting Field Values for Names Fields</title><content type='html'>I had a problem last week with a couple of forms that have fields that inherit values from fields on the document that is open when the new document is created. On one form, the field values were set properly, but on the other they were not. The form being created is a response-to-response form. The form that worked was a response form, so at first I thought the problem with the form that was not working was because it was a main form. I discovered that wasn't the problem when I was able to get that form to inherit a text field.&lt;br /&gt;&lt;br /&gt;The fields I was trying to inherit were names fields. And the two "parent" forms used different names for the names I wanted to inherit. On the form that worked, the fields were named the same on that form and on the child form I was using for my new document. Aha! I changed the field name on the child form to match that of the form that didn't work, and that started working; of course, that also broke the other form that worked previously.&lt;br /&gt;&lt;br /&gt;What I ended up doing was adding a Computed For Display field to the child form that was named the same as the field on the form that didn't work. It has a value in it when a new child is created and is blank at all other times. I then reference that field in the formula for my name field and it works for both forms.&lt;br /&gt;&lt;br /&gt;I couldn't find anything that said Names fields inherit differently than other fields. but they apparently are different. After spending about 4 hours trying to figure it out, I figured I'd write it out here, just in case it comes up again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-2679860905803702791?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/2679860905803702791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=2679860905803702791&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2679860905803702791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2679860905803702791'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2011/06/inheriting-field-values-for-names.html' title='Inheriting Field Values for Names Fields'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1743509010277995756</id><published>2011-03-31T15:45:00.005-04:00</published><updated>2011-03-31T16:00:24.255-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Barcodes in Lotus Notes Applications</title><content type='html'>&lt;p&gt;&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;If you have ever wanted to implement barcoding in a Notes application, it may be easier to do so than you think. You really need four things to make it work: &lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;A barcode font that is deployed to machines that will be printing the things (eg. paper or labels) that have the barcode on them. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;LotusScript code to generate the field value for the barcode. Simple barcodes, like Code 39, just need start and stop characters before and after the number you are putting on a barcode, but they have a limited character set. More complex barcodes, like Code 128, require start and stop characters as well as check digits but are able to include the alphanumeric character set. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;A barcode scanner. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;An input form to handle the scanner’s output and cause processing to happen. &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;Though the application I am working on is encoding a 12-digit number, we are deploying a Code 128 font so that we will be ready if we expand the use of barcodes into an application that requires alphabetic characters as well. Scanner set up is pretty easy now, with most being able to plug and play with your computer hardware and able to be configured by scanning barcodes. They function similarly to keyboards, in that if you are some sort of input area (eg. a field or even the body of a mail message), the scanner will feed the data from the barcode into the field as though you typed it on a keyboard. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The vendor we used for the font also supplies code for many different applications, including LotusScript. However, to get the number I encoded to print as part of the barcode, I had to take their VBA script and modify it for LotusScript because their LotusScript code does not support human-readable codes. It was a pretty simple code change though. I configured the scanner to append a tab to each scan that it completed (explanation of why is below). I just plugged it in and then scanned seven codes on a sheet that came with the scanner and it was ready to go. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;The Application&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The processing form is displayed as a dialog box that allows the user to set some processing options before the input field is displayed. This is done with a programmable table with the options on one tab and the processing actions on a second tab, with buttons to toggle between the two tabs. This helps to ensure the cursor is in the input field when ready to scan by making it the only editable field visible. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-jHOTU1ups8Y/TZTbBdapK-I/AAAAAAAAACU/vXGBq01SrQQ/s1600/barcode-designer.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5590333855596358626" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 268px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/-jHOTU1ups8Y/TZTbBdapK-I/AAAAAAAAACU/vXGBq01SrQQ/s320/barcode-designer.JPG" border="0" /&gt;&lt;/a&gt; The form has the main input field (TrackingNum) and a second, unmarked input field (ActionField) on it. By unmarked, I mean that it is a simple text field that has the Show Field Delimiters option unchecked. The scanner sends the decoded data from the barcode plus a tab character. The tab moves the cursor from the TrackingNum field to the ActionField field. The processing code is in the OnBlur event of the TrackingNum field; that code takes the number from the barcode, finds the document and updates it as necessary. The ActionField field has code in the OnFocus event to move the cursor back to the TrackingNum field, which makes the dialog ready for the next scan. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The form needed to be functional manually as well as with the scanner so the TrackingNum field is defined as a combobox and the form has a button on it that, when clicked, moves the cursor out of the TrackingNum field. The combobox lists items that are available for the user to process and can also be used to type in any number manually. The button just puts the cursor into the ActionField field, which then moves the cursor back to the TrackingNum field. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is what the dialog looks like. Processing Messages is a reverse-chronological list of the actions taken each time an entry in the TrackingNum field is processed. &lt;a href="http://4.bp.blogspot.com/-HEjgUyl1JZs/TZTbQn7DiMI/AAAAAAAAACc/jmlLc3jalQ8/s1600/barcode-client.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5590334116114696386" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 226px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/-HEjgUyl1JZs/TZTbQn7DiMI/AAAAAAAAACc/jmlLc3jalQ8/s320/barcode-client.JPG" border="0" /&gt;&lt;/a&gt; I couldn’t find a lot about barcoding in Notes, and found nothing about how to actually code an application to interact with a scanner, but I did receive a hints from a couple of Lotus peeps that really helped. In the end, it was a lot easier than I expected. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1743509010277995756?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1743509010277995756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1743509010277995756&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1743509010277995756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1743509010277995756'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2011/03/barcodes-in-lotus-notes-applications.html' title='Barcodes in Lotus Notes Applications'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jHOTU1ups8Y/TZTbBdapK-I/AAAAAAAAACU/vXGBq01SrQQ/s72-c/barcode-designer.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8125985813531860771</id><published>2011-01-27T13:37:00.002-05:00</published><updated>2011-01-27T13:59:42.656-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Get Database Information for Configuration Documents</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;I've done a lot of work lately to make our applications more configurable.  Most of it is related to having separate servers for development, QA and production, and needing to be able to change reference databases without requiring code changes at each stop in the change control process.&lt;br /&gt;&lt;br /&gt;As part of that, I wanted to make it easier to enter the information we required for the reference databases.  Sure, you could find the database and then type in the server name and path name (or replica ID), but we had so many that it became a burden to do it that way.&lt;br /&gt;&lt;br /&gt;So I created the script below.  This could be a function in a script library or could be added in the form globals.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;div style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: sans-serif"&gt;&lt;br /&gt;&lt;span style="COLOR: blue"&gt;Sub&lt;/span&gt; SetDatabaseInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;actionID &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; docObj &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Variant&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; titleField &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; serverField &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; pathField &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt; repIDField &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: green"&gt;%REM&lt;br /&gt; This function allows the user to select a database and set up to four fields with information from the selected database:&lt;br /&gt;(0) Database Title&lt;br /&gt;(1) Server&lt;br /&gt;(2) File path&lt;br /&gt;(3) Replica ID&lt;br /&gt;&lt;br /&gt;Parameters are:&lt;br /&gt; actionID = 'Set' to set the field values, 'Clear' to clear the field values&lt;br /&gt; docObj = the document to be modified.  Can be a NotesDocument or NotesUIDocument&lt;br /&gt; titleField = item name for the database title&lt;br /&gt; serverField = item name for the database server name&lt;br /&gt; pathField = item name for the database path&lt;br /&gt; repIDField = item name for the database replica ID&lt;br /&gt;&lt;br /&gt;If Cancel is chosen in the dialog, the document passed in is not changed.&lt;br /&gt;The user receives an error if the file they chose cannot be opened.&lt;br /&gt;%END REM&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; ws &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;New&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesUIWorkspace&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; nname &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesName&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; session &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;New&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesSession&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; db &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesDatabase&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; notesDataPath &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; filePath &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Variant&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; result &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Variant&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Const&lt;/span&gt; PROMPT_CHOOSEDATABASE &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; 13&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;3&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Dim&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;As&lt;/span&gt; &lt;span style="COLOR: blue"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; docObjType &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Typename&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;docObj&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;"NOTESDOCUMENT"&lt;/span&gt; &lt;span style="COLOR: blue"&gt;And&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;"NOTESUIDOCUMENT"&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Exit&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="COLOR: blue"&gt;Select&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Case&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Ucase&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;actionID&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="COLOR: blue"&gt;Case&lt;/span&gt; &lt;span style="COLOR: black"&gt;"SET"&lt;/span&gt;&lt;br /&gt;  notesDataPath &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Ucase&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;session&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;GetEnvironmentString&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;&lt;span style="COLOR: black"&gt;"Directory"&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: purple"&gt;True&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;&amp;amp;&lt;/span&gt; &lt;span style="COLOR: black"&gt;"\"&lt;/span&gt;&lt;br /&gt;  result &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; ws&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Prompt&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;PROMPT_CHOOSEDATABASE&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;"Choose Database"&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;"Choose the database for which you want information:"&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Isempty&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;result&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;Exit&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Sub&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span style="COLOR: blue"&gt;Set&lt;/span&gt; db &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;New&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesDatabase&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Not&lt;/span&gt; db&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;&lt;span style="COLOR: blue"&gt;Open&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;result&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;result&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;Messagebox&lt;/span&gt; &lt;span style="COLOR: black"&gt;"Error opening database; you may not have access to it"&lt;/span&gt;&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;48&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;"Error"&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  filePath &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Ucase&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;db&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FilePath&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; result&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   filePath &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Strright&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;filePath&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;notesDataPath&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; db&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Title&lt;br /&gt;  fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; result&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;  fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;2&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; filePath&lt;br /&gt;  fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;3&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; db&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplicaID&lt;br /&gt;  &lt;br /&gt;  &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: black"&gt;"NOTESDOCUMENT"&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; titleField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; pathField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;2&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; repIDField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;3&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; serverField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;Set&lt;/span&gt; nname &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;New&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesName&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;fileinfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;nname&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Abbreviated&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;  &lt;br /&gt;   &lt;span style="COLOR: blue"&gt;Elseif&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: black"&gt;"NOTESUIDOCUMENT"&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; titleField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;0&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; pathField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;2&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; repIDField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;fileInfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;3&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; serverField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;Set&lt;/span&gt; nname &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: blue"&gt;New&lt;/span&gt; &lt;span style="COLOR: black"&gt;NotesName&lt;/span&gt;&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;fileinfo&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;1&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;     &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;nname&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Abbreviated&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt; &lt;span style="COLOR: blue"&gt;Case&lt;/span&gt; &lt;span style="COLOR: black"&gt;"CLEAR"&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: black"&gt;"NOTESDOCUMENT"&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; titleField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; pathField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; repIDField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; serverField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;ReplaceItemValue&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;  &lt;br /&gt;  &lt;span style="COLOR: blue"&gt;Elseif&lt;/span&gt; docObjType &lt;span style="COLOR: blue"&gt;=&lt;/span&gt; &lt;span style="COLOR: black"&gt;"NOTESUIDOCUMENT"&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; titleField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;titleField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; pathField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;pathField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; repIDField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;repIDField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; serverField &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;""&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span style="COLOR: blue"&gt;If&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;Document&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;HasItem&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Then&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Call&lt;/span&gt; docObj&lt;span style="COLOR: blue"&gt;.&lt;/span&gt;FieldSetText&lt;span style="COLOR: blue"&gt;(&lt;/span&gt;serverField&lt;span style="COLOR: blue"&gt;,&lt;/span&gt;&lt;span style="COLOR: black"&gt;""&lt;/span&gt;&lt;span style="COLOR: blue"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt; &lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Select&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: blue"&gt;End&lt;/span&gt; &lt;span style="COLOR: blue"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt; MARGIN: 5px 50px; BORDER-LEFT: 1px solid; COLOR: gray; BORDER-BOTTOM: 1px solid; FONT-FAMILY: sans-serif"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com/" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The comments at the top of the code explain pretty well what is going on: pass it the action you want to take, the field names you want to update and the object containing those fields and it does the work. I honestly don't remember why I wrote it to be able to update either a NotesUIDocument or a NotesDocument, since I think I always pass it a NotesUIDocument, but it gives you the flexibility to pass either object type.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8125985813531860771?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8125985813531860771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8125985813531860771&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8125985813531860771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8125985813531860771'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2011/01/get-database-information-for.html' title='Get Database Information for Configuration Documents'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-9021056312671381972</id><published>2011-01-20T13:11:00.008-05:00</published><updated>2011-01-20T13:57:47.434-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Configurable Embedded Views (Single Category Views in External Notes Databases)</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;Have you ever had Notes application A that had related data in Notes application B where you wanted to show the application B data when you opened a document in application A? I have, and I found there are lots of ways to combine data like this. If it were all in one database, it would be pretty trivial to create an embedded view and show the single category that relates to the open document. It gets complicated when you want to leave the data in its source database rather than copying it to where you want it, and feels almost impossible if you then introduce multiple environments (eg. development, QA and production).&lt;br /&gt;&lt;br /&gt;Composite Applications, introduced in Notes 8, were one way to accomplish this, but they never really caught on, due in part to their own deployment issues. XPages is the latest silver bullet that can be used to slay this beast. But what if you don’t have Notes 8.5.1 and aren’t going to move to it in the near future? Or you don’t have the time to focus on learning XPages right now?&lt;br /&gt;&lt;br /&gt;There is a way to make these related applications work in a configurable way in the Notes 6 and 7 client. This is not original thinking. See Nathan Freeman’s blog (ntf.gbs.com) for the Sesame Street and Area 51 demos for the earlier documentation. I just thought it was worth bringing up again.&lt;br /&gt;&lt;br /&gt;The entire solution is based on three features of Domino Designer and Notes that haven’t gotten a lot of attention: computable frameset contents, embedded editors and forms that open in framesets. Nathan’s Sesame Street demo showed how you could embed a fully functional frameset on a form. That was great, unless you only wanted a single category of a view. That problem was solved in the Area 51 demo.&lt;br /&gt;&lt;br /&gt;For this demo, I have an application catalog. Not *the* application catalog that each Domino server has, but one that adds on to that catalog to add a description, an application owner and technical support staff. Rather than copying everything from the system catalog, we’ll reference the catalog from within our application. I’ll refer to the application catalog as the “source” database and the system catalog as the “target” database. The source database documents will contain the replica ID of the application database that will be our lookup key for the target database.&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;/ol&gt;&lt;a href="http://1.bp.blogspot.com/_Ba7FRw6fOf4/TTh__O7K4CI/AAAAAAAAABo/sFiOgrUq4gc/s1600/AppTab1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5564338063931007010" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 158px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_Ba7FRw6fOf4/TTh__O7K4CI/AAAAAAAAABo/sFiOgrUq4gc/s320/AppTab1.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Target Database&lt;/strong&gt;&lt;br /&gt;1. Create a form in the system catalog with an embedded view on it, with the view being one categorized by replica ID. You can create a view specific to your needs or use one that is already in the system catalog.&lt;br /&gt;&lt;br /&gt;2. Set the form so that it does not appear on the Create menu.&lt;br /&gt;&lt;br /&gt;3. On the embedded view, the Show Single Category property should be set to @Word(@Environment(“Catalog_Ref”);”~” ;4). The environment variable will be set by the source application and will be explained in the next section.&lt;br /&gt;&lt;br /&gt;4. Save the form with the name OneReplica.&lt;br /&gt;&lt;br /&gt;This must be created in the target database so that you can choose the “Current Database” option as the source of the embedded view. Because there is not a way to programmatically select the source of an embedded view, this ensures the proper view will always open, whether you are looking at your Dev, QA or Production system catalog.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Source Database&lt;/strong&gt;&lt;br /&gt;This database should already have a form in it for the application items that you want in addition to what is in the system catalog. To make this work, you need a field on the form for the replica ID of the application, and the value should be in the formula format (12345678:87654321), unless you created a new view in the target database that reformats the replica ID. You should also have a view that lists the application documents.&lt;br /&gt;&lt;br /&gt;There are two elements that need to be added in the source database and one change to the application form you already have. The new elements are a frameset that will display the form from the target database, and a wrapper form that is set to display in a frame of the new frameset. On the application form, you need to add an embedded editor that will display the wrapper form.&lt;br /&gt;&lt;br /&gt;1. Create a frameset with three frames: two side-by-side on top and one full width on the bottom. Set the top frames to a relative height of 1 and 50% width. The borders should be set to not be 3D and 2 pixels in width.&lt;br /&gt;&lt;br /&gt;2. Name the top left frame NotesView and set its target to NotesDocView. Set the Content Type to Named Element and click the ‘@’ icon to enter formulas to determine the element. The kind of element should have the formula @Word(@Environment(“Catalog_Ref”);”~” ;2), the database should be the formula @Word(@Environment(“Catalog_Ref”);”~” ;1) and the element name should be the formula @Word(@Environment(“Catalog_Ref”);”~” ;3). The kind and name of the element could actually be constants, but it is a better practice to compute them in case they need to change later or you want to use this frameset for more than one purpose.&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;/ol&gt;&lt;a href="http://4.bp.blogspot.com/_Ba7FRw6fOf4/TTiAsjAjLdI/AAAAAAAAAB4/wUbZFZFvfjo/s1600/ComputedElementDialog.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5564338842416393682" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 280px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_Ba7FRw6fOf4/TTiAsjAjLdI/AAAAAAAAAB4/wUbZFZFvfjo/s320/ComputedElementDialog.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Name the top right frame NotesDocView.&lt;br /&gt;&lt;br /&gt;4. Name the bottom frame InvisibleMan. The height of InvisibleMan should be 0 pixels, Scrolling should be Off and Allow Resizing should be No. We don’t want to see this frame; it is used only as the target for the form we want to open in a frameset.&lt;br /&gt;&lt;br /&gt;5. Save the frameset as CatalogView.&lt;br /&gt;&lt;br /&gt;6. Create a form. It should be set so that it does not appear on the Create menu. On the Launch properties, set it to open in the CatalogView frameset in the InvisibleMan frame. The only purpose of this form is to open in a frameset so the frameset can appear to be embedded on another form. This form could also set the environment variable, but we are not doing so in this example.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ba7FRw6fOf4/TTiA_CcVShI/AAAAAAAAACA/R3wCCu-i_XE/s1600/FormProperties.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5564339160092068370" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 307px; CURSOR: hand; HEIGHT: 313px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_Ba7FRw6fOf4/TTiA_CcVShI/AAAAAAAAACA/R3wCCu-i_XE/s320/FormProperties.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Save the form with the name Wrapper.&lt;br /&gt;&lt;br /&gt;8. In the application documentation form (assumed to have been created previously), add an embedded editor that opens the Wrapper form. In the PostOpen of this form, you need code to set the Catalog_Ref environment variable. The variable should be in the format server!!filepath~Form~OneReplica~replicaID. The server could be computed based on the location of the source application and the filepath is probably constant across the environments, so you could probably enter it directly (remember to escape any ‘\’ in the path). The element type and name will be constant and the replica ID is the name of the field containing the replica ID. More likely, the server and filepath for the catalog would be read from a configuration document. Just keep in mind that the location of the target database (that is, both the server and file path) should not be hard coded, because that defeats the purpose of this solution: to make it possible to migrate from your dev to production environment without making programming changes as the moves are completed.&lt;br /&gt;&lt;br /&gt;9. Save the updated form.&lt;br /&gt;&lt;br /&gt;Once everything is saved, go to your source database and open or create a document using the application documentation form. If all goes well, you should see an embedded view that contains the documents from the system catalog for the replica ID of the database you are looking at, and a box to the right that should display the document you click in the view. See, a real embedded frameset!&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ba7FRw6fOf4/TTiCBVqy3pI/AAAAAAAAACI/f1lCTqCiJQc/s1600/AppTab2.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5564340299124366994" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 220px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Ba7FRw6fOf4/TTiCBVqy3pI/AAAAAAAAACI/f1lCTqCiJQc/s320/AppTab2.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to prove that it is configurable via the environment variable, set the environment variable to @Implode(@MailDbName;"!!")+"~Folder~($Inbox)" and see that it opens your mail box.&lt;br /&gt;&lt;br /&gt;Once you wrap your head around how this works, the possibilities become nearly endless. Multi-database applications can become far more informative.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-9021056312671381972?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/9021056312671381972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=9021056312671381972&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/9021056312671381972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/9021056312671381972'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2011/01/configurable-embedded-views-single.html' title='Configurable Embedded Views (Single Category Views in External Notes Databases)'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ba7FRw6fOf4/TTh__O7K4CI/AAAAAAAAABo/sFiOgrUq4gc/s72-c/AppTab1.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-6238153821260654043</id><published>2010-03-27T21:15:00.003-04:00</published><updated>2010-03-27T21:18:25.686-04:00</updated><title type='text'>Export AOL Address Book</title><content type='html'>I moved my in-laws from AOL to Thunderbird (they just aren't ready to use just web mail) and needed a way to get their address book out of AOL.  I did some searching and found a couple of possibilities, but nothing easy and free.  I'm pretty sure there isn't an option to export from the AOL client, but I found the way to do it.&lt;br /&gt;&lt;br /&gt;Use the AOL webmail interface and you can export your address book to an LDIF file.  Clean it up if you need to and then import it into Thunderbird.  Simple!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-6238153821260654043?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/6238153821260654043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=6238153821260654043&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6238153821260654043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6238153821260654043'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2010/03/export-aol-address-book.html' title='Export AOL Address Book'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8483203208013781938</id><published>2009-10-29T14:30:00.003-04:00</published><updated>2009-10-29T14:39:12.624-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Create Excel Lists Using LotusScript</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;I have created some code – as many others have over time – to export a Notes view to Excel.  The code creates the Excel application object, a workbook and a worksheet and then populates the new worksheet with data from the view.  The twist to this request was that once the export was done, they wanted to have some of the columns use the List function of Excel; that is, they wanted to be able to filter the columns based on the values in them.&lt;br /&gt;&lt;br /&gt;I recorded a macro in Excel to get the VBA code so I could translate it to LotusScript, and this is what I got:&lt;br /&gt;    Range("I1").Select&lt;br /&gt;    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$I:$I"), , xlYes).Name = "List1"&lt;br /&gt;&lt;br /&gt;Uh oh.  How do I pass parameters to the Add method and set the value for the Name property in the same line?  I remembered from past experience, this type of code is tricky to do in LotusScript.  Searching didn’t reveal where anyone had done this exact thing before but I found an example that led me to the solution.  The code is (I found that xlSrcRange and xlYes both have a value of 1):&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class=lotusscript&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; xlApp &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-function&gt;CreateObject&lt;/font&gt;&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-quote&gt;"Excel.Application"&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; xlWkBook &lt;font class=ls-operator&gt;=&lt;/font&gt; xlApp&lt;font class=ls-operator&gt;.&lt;/font&gt;Workbooks&lt;font class=ls-operator&gt;.&lt;/font&gt;Add&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;Set&lt;/font&gt; xlWkSheet &lt;font class=ls-operator&gt;=&lt;/font&gt; xlWkBook&lt;font class=ls-operator&gt;.&lt;/font&gt;Worksheets&lt;font class=ls-operator&gt;.&lt;/font&gt;Add&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;With&lt;/font&gt; xlWkSheet&lt;font class=ls-operator&gt;.&lt;/font&gt;ListObjects&lt;br /&gt;  xlWkSheet&lt;font class=ls-operator&gt;.&lt;/font&gt;Range&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-quote&gt;"I1"&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;font class=ls-operator&gt;.&lt;/font&gt;&lt;font class=ls-statement&gt;Select&lt;/font&gt;&lt;br /&gt;  &lt;font class=ls-function&gt;Call&lt;/font&gt; &lt;font class=ls-operator&gt;.&lt;/font&gt;Add&lt;font class=ls-operator&gt;(&lt;/font&gt;1&lt;font class=ls-operator&gt;,&lt;/font&gt;xlWkSheet&lt;font class=ls-operator&gt;.&lt;/font&gt;Range&lt;font class=ls-operator&gt;(&lt;/font&gt;&lt;font class=ls-quote&gt;"$I:$I"&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;1&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt; &lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;With&lt;/font&gt;&lt;br /&gt; xlWkBook&lt;font class=ls-operator&gt;.&lt;/font&gt;InactiveListBorderVisible &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-constant&gt;False&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="FONT-SIZE: 8pt; COLOR: gray; FONT-FAMILY: sans-serif; BORDER: 1 solid Grey; margin : 5px 50px 5px 50px;"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;The xl* objects are defined as variants.  The last line turns off the borders for the inactive lists.  Note that I didn’t worry about naming the list as the VBA script does.  I’m not sure if that has any long-term impact or not.  The actual code also duplicates the two lines in the With clause for three other columns.&lt;br /&gt;&lt;br /&gt;When the Excel file opens, the column headings are bolded and, when you click in the column, an arrowhead appears.  Click on that and it gives you the unique values in the column plus a few default options (eg. All, Top 10, blanks, etc.).&lt;br /&gt;&lt;br /&gt;It isn’t perfect since I haven’t figured out how to keep the border hidden when they click on a filtered column nor how to make the arrowhead that indicates a filter is present be visible at all times.  But, considering I wasn’t even sure how to do it in the first place, I’ll call it a success.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8483203208013781938?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8483203208013781938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8483203208013781938&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8483203208013781938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8483203208013781938'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2009/10/create-excel-lists-using-lotusscript.html' title='Create Excel Lists Using LotusScript'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-2273834443112679920</id><published>2009-10-29T14:27:00.003-04:00</published><updated>2009-10-29T14:30:25.288-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>SnTT: One Thing I've Learned</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;A few months ago, I developed a new interface to consolidate a number of our applications into what would look like a single-database application.  The main part of the interface is a frameset in the “portal” database that consists of a top navigator frame and a bottom “main content” frame.  The hotspot links in the top frame execute LotusScript code to write an environment variable to notes.ini that indicates the database server and path, element type and element name that should be opened, then targets the main content frame and opens a single-frame frameset whose content is computed using the environment variable.&lt;br /&gt;&lt;br /&gt;Still with me?  Anyway, this has worked really well with just a few oddities.  Object focus is an issue sometimes, and I can’t get everything that opens in that frameset to update the window title properly (they say “Untitled” instead of the name of the application and view).&lt;br /&gt;&lt;br /&gt;But the biggest problem I had was that some of the applications have buttons to create documents in the background and then display them when the build process is done.  This is when the loss of focus becomes an issue.  Notes seems to just lose track of where it is and does what appears to the user to be a random change of the view.  Plus they don’t get the document (report) they are expecting.  I can only attribute this to the nesting of objects (the code is in a button, which is in a view, which is in a frameset, which is in an application, and that application is contained in a frameset in another application).&lt;br /&gt;&lt;br /&gt;Still there?  When the document is built, I use NotesUIWorkspace.EditDocument to open it so the user can see it.  The solution to the random (incorrect) behavior is to add the line Call NotesUIWorkspace.SetTargetFrame(“_blank”) before the EditDocument command.  This forces the new document to open in a new tab.  Plus, it works whether the application containing the code is open within my portal database or in its own tab, as if it were opened from a bookmark or the workspace.&lt;br /&gt;&lt;br /&gt;I’d post a picture of the portal application, but I’m not sure I’m allowed yet.  I will try to get a mockup of something I can post since that may help this make more sense.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-2273834443112679920?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/2273834443112679920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=2273834443112679920&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2273834443112679920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2273834443112679920'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2009/10/sntt-one-thing-ive-learned.html' title='SnTT: One Thing I&apos;ve Learned'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-2581501447531534318</id><published>2008-09-22T20:37:00.001-04:00</published><updated>2008-09-22T20:39:16.203-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Miscellaneous'/><title type='text'>Does this make me a bad person?</title><content type='html'>I don't think I could care any less that David Blaine's next stunt could leave him blind. And no, I'm not going to link to anything - his 15 minutes should have run out a year ago.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-2581501447531534318?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/2581501447531534318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=2581501447531534318&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2581501447531534318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2581501447531534318'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/09/does-this-make-me-bad-person.html' title='Does this make me a bad person?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7288488965024786598</id><published>2008-08-07T13:32:00.001-04:00</published><updated>2008-08-07T13:34:57.892-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gadgets'/><title type='text'>Phone Goodness</title><content type='html'>I really enjoy my phone.  It’s not a Blackberry, but it’s close enough for me.  I’ve had my LG Rumor for about 3 months now and find it can do just about everything I want it to.  It doesn’t have push email but I don’t get that much important stuff that I need to know immediately when I get a message.  The keyboard is great for sending messages and texts (although I’m still not very fast at it because my thumbs are big).  I can access Facebook from it and can send Twitter messages and receive Twitter direct messages (that’s all I want at this point).  I downloaded the Gmail and Google Maps apps and they work really well.  It can play music and videos and takes decent pictures and accepts a micro-SD card for added space.  It’s a “smart phone” without being a “smartphone” (which would cost more each month).&lt;br /&gt;&lt;br /&gt;I wish it could upload pictures to Facebook or let me send them via email, but I think that is more of a Sprint thing than a phone thing.&lt;br /&gt;&lt;br /&gt;I also got an &lt;a href="http://www.zagg.com/invisibleshield"&gt;Invisible Shield&lt;/a&gt; to protect the screen.  VERY worth the investment in my mind.&lt;br /&gt;&lt;br /&gt;I don’t know why I wanted to post this.  I guess just to say I appreciate the constant advances in phones.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7288488965024786598?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7288488965024786598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7288488965024786598&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7288488965024786598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7288488965024786598'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/08/phone-goodness.html' title='Phone Goodness'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-4325461488162087375</id><published>2008-08-07T13:24:00.002-04:00</published><updated>2008-08-07T13:32:42.193-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacation'/><title type='text'>Summer Vacation</title><content type='html'>&lt;a href="http://www.ns-tech.com/blog/geldred.nsf"&gt;Gregg&lt;/a&gt; has been bugging me (as friends will do) to post about my own Michigan summer vacation adventure since we went to &lt;a href="http://www.ns-tech.com/blog/geldred.nsf/d6plinks/GELD-7GC52H"&gt;one of the same places he did&lt;/a&gt;.  We also went to Mackinac Island but were able to spend more time than Gregg’s family did.  It is an annual trip for us (8 of the last 9 years) but this year was different because my Mom and my sister and her family were there with us.&lt;br /&gt;&lt;br /&gt;We went up on Sunday and stayed a night in Mackinaw City.  That would let us decompress from the trip and the kids could swim in the hotel pool.  Plus it would get us over to the island earlier and in a less stressed state.  We took &lt;a href="http://www.sheplersferry.com"&gt;Shepler’s&lt;/a&gt; over because they tag the bags and send them directly to our hotel: &lt;a href="http://www.theislandhouse.com"&gt;The Island House&lt;/a&gt;.  We’ve found Shepler’s to be the easiest for us to deal with (but the &lt;a href="http://www.arnoldline.com"&gt;Arnold&lt;/a&gt; jet-powered catamarans are pretty cool), and we love the bed and breakfast package at the Island House (they have a really good breakfast buffet).&lt;br /&gt;&lt;br /&gt;Since we’ve been there so often, we definitely have a routine.  We brought lunches for everyone and ate in Lafayette Park (at the base of the Fort), then the kids played on the small playground that is there.  We got three adult bikes (we brought the other six bikes with us) and started around the island for the first time.  Our daughter just learned how to ride on two wheels and she was excited to be riding around on her own.  We all rode around the island 5 times while we were there and she made it between 2 and 3 miles on her own each time – pretty good for a 5 year old!  Then I got to pull her using the &lt;a href="http://www.trail-gator.com/"&gt;Trail-Gator&lt;/a&gt; (and answer the usual dozen questions about “where did you get that?”).&lt;br /&gt;&lt;br /&gt;We have a spot we stop about halfway around the island so we can rest and stretch.  And skip stones.  Find a flat, round stone of reasonable weight, snap your wrist and see how many times it skips.  Tuesday was probably the best day because the water was so calm.  I think I hit 15 skips with one stone.  Wednesday was fun too because it was really wavy, so we tried to skip from one wave to the next.&lt;br /&gt;&lt;br /&gt;Dinner one night is at the Ice House, the casual restaurant at the back of the Island House.  It is good food and reasonably priced – plus it is out of the way so is not very busy.  The second night, we go to 3 Bros. Sarducci for deep dish pizza.  Really good stuff!  Then, of course, there is fudge!&lt;br /&gt;&lt;br /&gt;We didn’t go up to Arch Rock this year.  We just didn’t all feel like climbing the hills.  But I took our daughter through Fort Mackinac for the first time.  I hadn’t been in MANY years, so it was interesting to me too.  The kids even participated in a bit of a marching drill.  Pretty funny watching everyone try to keep up.&lt;br /&gt;&lt;br /&gt;We have a good time every year we go up.  Gregg will attest than I have lots of information to share about Mackinac.  I’m glad to share if you want to take a trip yourself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-4325461488162087375?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/4325461488162087375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=4325461488162087375&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4325461488162087375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4325461488162087375'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/08/summer-vacation.html' title='Summer Vacation'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-780999685819472207</id><published>2008-06-26T13:04:00.002-04:00</published><updated>2008-06-26T13:19:21.072-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Weird @TextToTime Behavior</title><content type='html'>This isn't really a Show-n-Tell Thursday post, even though it is Thursday.  I'm having a problem with a @TextToTime formula and I can't find any documented reason why.  When I pass it the string "R. Marshall" it returns 3/1/2008.  In fact, if I pass it "Ma", it returns that date.  As long as it doesn't have "ma" at the start of any word in the string, it returns nothing (which is what I'd expect).&lt;br /&gt;&lt;br /&gt;Has anyone else seen that?  Can you duplicate it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-780999685819472207?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/780999685819472207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=780999685819472207&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/780999685819472207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/780999685819472207'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/06/weird-texttotime-behavior.html' title='Weird @TextToTime Behavior'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7083032844089526696</id><published>2008-06-25T13:51:00.004-04:00</published><updated>2008-06-25T13:58:10.976-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Don't Do This in Notes 8</title><content type='html'>I started writing this the other day but gave up because I wasn't sure what caused this to happen.  I'm still not positive, but I have a better idea.&lt;br /&gt;&lt;br /&gt;I'm running Notes 8.01 on Windows XP SP2.  If I turn on the LotusScript debugger, go to my client and open a composite application, like my mail database on the 8 template, I get a debugger window.  So far, so good.  If I say "Oops, I didn't want the debugger for that" and click the Continue button, the debugger is replaced with a window of my first mail message.  That has a title bar and a menu bar but no toolbars, and there is no way to make it go away.  I have to kill the client processes and restart to fix it.&lt;br /&gt;&lt;br /&gt;This only seems to happen (so far) with a composite app.  And I haven't done exhaustive testing (because I'm trying to get my projects done!) to know if there is something specific that is a trigger or if it is just something weird about my installation (see my last post for Sametime oddities).&lt;br /&gt;&lt;br /&gt;I'd be interested to know if anyone else can reproduce this problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7083032844089526696?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7083032844089526696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7083032844089526696&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7083032844089526696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7083032844089526696'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/06/dont-do-this-in-notes-8.html' title='Don&apos;t Do This in Notes 8'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-2223542534428196092</id><published>2008-06-11T15:55:00.002-04:00</published><updated>2008-06-11T16:07:28.671-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotus Notes'/><title type='text'>Have You Seen This in Notes 8.0.1?</title><content type='html'>We have a few people who have moved to the Notes 8.0.1 client and are planning the rollout to the rest of our clients.  However, we have been seeing some problems in the client that we can't explain and want to try to sort out before continuing on.&lt;br /&gt;&lt;br /&gt;The machines we have upgraded are our developer/admin machines, so they had the Notes, Admin and Designer clients installed (all 7.0.2).  We did an upgrade rather than uninstalling 7/installing 8 and none of them had an 8 beta installed.  These are all Win XP machines.  We also had Sametime Connect 7.5.1 installed and I'm not sure if that was uninstalled before installing 8.  The one thing we may not have done that is in the installation guide is to stop all other Windows programs before installing.&lt;br /&gt;&lt;br /&gt;What we are seeing is that the embedded Sametime client does not always start correctly.  It will be OK sometimes, but other times will not login and will not allow us to login.  Other times it will login but the system tray icon will show as "disconnected".  Sometimes when logged in, it will not open a chat window.  Restarting the Notes client usually resolves the issues.&lt;br /&gt;&lt;br /&gt;We can't figure out if it is something to do with how the client was installed on these machines, if it is related to how our environment (OS) is secured or something else.  We did have local admin rights on the machines when we installed the software.&lt;br /&gt;&lt;br /&gt;We're worried about the impression these kinds of things will leave, and we really have no desire to remove all traces of 7 before installing 8 (that seems to resolve the problems) because of the extra work it will cause everyone in setting up their Notes environment again.  Any thoughts would be appreciated - no idea is too crazy at this point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-2223542534428196092?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/2223542534428196092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=2223542534428196092&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2223542534428196092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2223542534428196092'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/06/have-you-seen-this-in-notes-801.html' title='Have You Seen This in Notes 8.0.1?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7968048942275443220</id><published>2008-04-24T14:14:00.003-04:00</published><updated>2008-04-24T14:17:17.777-04:00</updated><title type='text'>Shatner Really *is* Speaking at an IBM Conference</title><content type='html'>Got an email today about the &lt;a href="http://www-306.ibm.com/software/rational/events/rsdc2008/index.html?S_TACT=105AGX54&amp;S_CMP=B0424&amp;ca=dnw-916"&gt;Rational Software Developer Conference&lt;/a&gt; and saw that William Shatner is one of the keynote speakers.  He's been rumored to be at Lotusphere so often that it's become cliche.&lt;br /&gt;&lt;br /&gt;I've enjoyed the music at the Lotusphere OGS the last couple of years but I'm a little jealous that the Wallflowers are playing the RSDC.  Maybe next year....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7968048942275443220?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7968048942275443220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7968048942275443220&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7968048942275443220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7968048942275443220'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/04/shatner-really-is-speaking-at-ibm.html' title='Shatner Really *is* Speaking at an IBM Conference'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1215021958097226896</id><published>2008-04-15T07:42:00.002-04:00</published><updated>2008-04-15T07:48:52.684-04:00</updated><title type='text'>This is a good idea?</title><content type='html'>So Delta and Northwest are going to (try to) merge.  Two airlines that not too long ago were in bankruptcy.  The CEO of Delta came from Northwest and the CEO of Northwest is going to "retire quietly".  They are planning to keep all nine (nine!) of their hubs.  Their pilots still haven't come to agreement on their seniority issues.&lt;br /&gt;&lt;br /&gt;There are obviously a lot of details to be worked out and made public but early on this has the look of 1+1=1.  It will be interesting to see where they are going to find the cost savings to justify this.  I'm a little worried about smaller airports like the one where I live since we have both Northwest and Delta flying out of here to Detroit, Minneapolis and Cincinnati (and, for a time, Atlanta).  I foresee higher prices and fewer choices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1215021958097226896?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1215021958097226896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1215021958097226896&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1215021958097226896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1215021958097226896'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/04/this-is-good-idea.html' title='This is a good idea?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-5985165482088130916</id><published>2008-04-04T15:50:00.004-04:00</published><updated>2008-04-04T16:18:10.960-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: @Transform Goodness</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;If you went to &lt;a href="http://www.lotusgeek.com" target="_blank"&gt;Rocky&lt;/a&gt;'s session at Lotusphere 2008 on Formula Tricks, you heard about the @Transform function. It lets you take a list of values and run a formula against it to change some or all of the values in the list based on your criteria.&lt;br /&gt;&lt;br /&gt;I've used it in two places recently and it works far better than anything we could have done prior to the function becoming available (which was in Release 6). In my first example, I have a list of dates and a list of numbers. I want to sum the numbers only for the dates that are in the future. For example, say the fields are:&lt;br /&gt;SchedDates is 3/24/08:3/31/08:4/7/08:4/14/08&lt;br /&gt;SchedDays is 5:5:4:5&lt;br /&gt;&lt;br /&gt;If I look at this on 4/4/08, I want to end up with 9.  This is the formula I run:&lt;br /&gt;&lt;br /&gt;@If(SchedDates="";0;@Sum(@Transform(@Text(SchedDates) + "~" + @Text(SchedDays);"x";@If(@TextToTime(@Left(x;"~"))&lt;@Today;0;@TextToNumber(@Right(x;"~"))*8))))&lt;br /&gt;&lt;br /&gt;That takes the two fields and joins them (eg. 03/24/2008~5:03/31/2008~5:04/07/2008~4:04/14/2008:5), then replaces each one with 0 if the date portion is before today or the number portion if not. So you end up with 0:0:4:5. When you @Sum that, you get 9.  Cool!&lt;br /&gt;&lt;br /&gt;The other time I used it recently was to make sure that a name was placed in a field as long as it wasn't already in that field or five other fields. That formula looks like this and is in the Input Translation of a field (in this case Level5):&lt;br /&gt;&lt;br /&gt;reqNames:=@Name([Canonicalize];"James Q Public/MyCo/US");&lt;br /&gt;@If(reqNames*=Level0:Level1:Level2:Level3:Level4:Level5;@Trim(@Transform(reqNames;"x";@If(@IsMember(x;Level0:Level1:Level2:Level3:Level4:Level5);@Nothing;x)):@ThisValue);&lt;br /&gt;   @Trim(reqNames:@ThisValue))&lt;br /&gt;&lt;br /&gt;The reqNames field can be multi-valued. If any of the values in the field are in any of the listed fields (Level0, etc.), it replaces that value in reqNames with @Nothing.  When all values in reqNames are checked, it prepends the remaining names to the field where the formula lives. If not, reqNames is just prepended to the existing field value, making sure there are no blank entries in the list.&lt;br /&gt;&lt;br /&gt;If you haven't already, be sure you take a look at @Transform.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-5985165482088130916?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/5985165482088130916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=5985165482088130916&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5985165482088130916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5985165482088130916'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/04/sntt-transform-goodness.html' title='SnTT: @Transform Goodness'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7706663854165230038</id><published>2008-03-26T08:29:00.003-04:00</published><updated>2008-03-26T21:24:36.498-04:00</updated><title type='text'>Written Language Foibles</title><content type='html'>I am accused sometimes - mostly by my wife - of being "Mr. Language Person" because I spot and comment on potentially odd phrases in written or spoken words.  I saw this one this morning:&lt;br /&gt;&lt;blockquote&gt;SEATTLE — The FBI is analyzing a torn, tangled parachute found buried by children in southwest Washington to determine whether it might have been used by famed plane hijacker D.B. Cooper, the agency said Tuesday.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I know what this is meant to say, but it could be read three ways, two of them unintended:&lt;br /&gt;- The way it is meant, that the children found it.&lt;br /&gt;- That there were children buried nearby (ewww).&lt;br /&gt;- That the children buried it.&lt;br /&gt;&lt;br /&gt;I don't know why I notice those things, but I do.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UPDATE:&lt;/span&gt; The version published in my local paper reads: &lt;br /&gt;&lt;blockquote&gt;SEATTLE — The FBI is analyzing a torn, tangled parachute that children found buried in southwest Washington to determine whether it might have been used by famed plane hijacker D.B. Cooper, the agency said Tuesday.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Much more clear that way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7706663854165230038?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7706663854165230038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7706663854165230038&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7706663854165230038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7706663854165230038'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/03/written-language-foibles.html' title='Written Language Foibles'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1287554562470034523</id><published>2008-02-18T22:05:00.002-05:00</published><updated>2008-02-18T22:11:53.283-05:00</updated><title type='text'>Multitasking</title><content type='html'>I hear a lot about the "new generation" being able to multitask far easier than past generations, primarily because they grow up doing it.  I always used to have the TV or music on when I was doing homework, and I still have music on during the day when I am at work, but it tended to fade into the background when I focused on what I *should* have been doing.&lt;br /&gt;&lt;br /&gt;Today I was looking at some code that I need to enhance and I had a podcast on (after last week's vacation, I am a little behind).  I found I could only really concentrate on one or the other because the podcast was one where I might actually learn something (it wasn't just for entertainment).&lt;br /&gt;&lt;br /&gt;So my question is, can young people now really focus on two tasks like that (working/studying and an informative podcast or TV show)?  Or is the multitasking they are talking about studying and IMing friends?  I can do that, by the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1287554562470034523?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1287554562470034523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1287554562470034523&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1287554562470034523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1287554562470034523'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/02/multitasking.html' title='Multitasking'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-3115284083263806079</id><published>2008-02-07T09:13:00.000-05:00</published><updated>2008-02-07T09:19:29.883-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere'/><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2008'/><title type='text'>What I Got From Lotusphere 2008</title><content type='html'>As usual, there was a lot to see and do this year.  But, as &lt;a href="http://www.ns-tech.com/blog/geldred.nsf/d6plinks/GELD-7B5FW2"&gt;Gregg Eldred&lt;/a&gt; and others have said, the Lotusphere experience goes beyond the sessions, Product Showcase and receptions.  It really is about the community: sitting at lunch with the people who develop the products, meeting people you have interacted with online, sharing knowledge to resolve that nagging problem.  Maybe it’s because I am in a small shop, but knowing other Notes/Domino administrators and developers who I can bounce ideas off is really helpful.  There may be communities around other software products, but it seems the bond is stronger within the Lotus community because “community” is what Lotus Notes has always been about.&lt;br /&gt;&lt;br /&gt;So what did I take away from Lotusphere this year?&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Developers need to learn Java or make friends with Java developers.  That isn’t to say that LotusScript is going away – it isn’t – nor will it become a second-class citizen as an application development language – it won’t.  It just means that taking full advantage of the Notes 8 client and the capabilities it can provide will require Java knowledge.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Widgets (and – maybe – Live Text) will go a LONG way toward making the Notes client the one application people live in all day.  The thing I have yet to get a clear picture of is how they will function in a restrictive environment (eg. behind the firewall).&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Designer 8.5 will transform how we develop Notes applications.  Yes, there are some paradigm shifts and there may be some syntax issues (do we help Notes developers learn Eclipse terminology or change Eclipse to Notes/Domino terms?), but the tools and flexibility in the new Designer will be phenomenal.  I should have spent more time looking at XPages but I think those will evolve into a powerful tool for client applications.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;It will be interesting to see how Lotus Mashups and Bluehouse evolve over the next year.  They looked pretty cool “on paper”.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;SpeedGeeking is a must-see.  It grew this year vs. last year and I expect it to grow more next year.  It is a chance to hear knowledgeable presenters up close and personal as they shred their vocal cords.  More importantly, you get a lot of tips on a variety of topics in a short period of time.  It is well worth attending.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The last two years have seen IBM Lotus playing offense in a confident manner.  There is a lot of positive energy around Notes/Domino 8 and the roadmap is clearer than it has ever been.  To be sure, there are things that could be improved: make it easier to do advanced UI tricks (like using layers), control client and application appearance by merely editing CSS files, Symphony programming and integration (some improvements are coming).  But overall, the future looks bright.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-3115284083263806079?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/3115284083263806079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=3115284083263806079&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3115284083263806079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3115284083263806079'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/02/what-i-got-from-lotusphere-2008.html' title='What I Got From Lotusphere 2008'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7042299469837646465</id><published>2008-02-05T22:10:00.001-05:00</published><updated>2008-02-05T22:12:31.689-05:00</updated><title type='text'>Why Is This?</title><content type='html'>It takes months to get into shape but only a couple of weeks to get out of it.  I did my usual BodyPump class on Monday after missing two weeks (one at Lotusphere, one with the flu) and my legs have hurt all day today.  I'm going again tomorrow because I know that although they will hurt, they will actually hurt less after I work them out again.  It's really annoying though that it only takes two weeks to undo a lot of prior work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7042299469837646465?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7042299469837646465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7042299469837646465&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7042299469837646465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7042299469837646465'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/02/why-is-this.html' title='Why Is This?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1907264667751292895</id><published>2008-02-05T21:05:00.000-05:00</published><updated>2008-02-05T22:10:11.378-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere'/><title type='text'>Lotusphere Tips</title><content type='html'>This is probably better written BEFORE Lotusphere, but I am going to put it down while these things are fresh in my mind.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Register early and stay at the Swan or Dolphin.  It is SO much easier to be able to get to your room quickly and easily, especially if you hang out with people later in the evening on the Boardwalk.  If you can't or don't want to stay there, plan to pay for cab rides: the Disney transportation system is good but it will take 30-45 minutes to get from the Boardwalk or Swan/Dolphin back to one of the other resorts.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Plan your travel to arrive by Saturday night and leave Thursday night or Friday.  That way you can attend the full day of JumpStarts and take in Gurupalooza, Meet the Developers and the Closing General Session.  Look at the Closing Session like dessert: it doesn't add to your technical knowledge, but is  a reward for all the energy you've expended earlier in the week.  My first year, I missed the Thursday afternoon sessions because they weren't mentioned anywhere that I saw.  Now you know.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Try to get in early enough on Saturday to get registered at the conference.  Then you have time to review all the materials you get and make sure your agenda is set.  Of course, using the Sessions database that &lt;a href="http://www.geniisoft.com"&gt;Ben Langhinrichs&lt;/a&gt; puts together helps with that, but getting registered Saturday lets you transfer all that information to your pocket agenda.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Find shortcuts among the Swan, Dolphin and Yacht &amp;amp; Beach.  This will come with experience and exploration.  Go outside to get between them (go through the pool/beach area or out the end of the Dolphin past the dining hall), go out the main Swan doors and along the sidewalk to get over to the conference areas, and find alternate entrances (I can't give away ALL my secrets :D ).&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;These are just a few ideas in addition to the other tips you can find.  Hope you can use them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1907264667751292895?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1907264667751292895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1907264667751292895&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1907264667751292895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1907264667751292895'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/02/lotusphere-tips.html' title='Lotusphere Tips'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-3447971684844938505</id><published>2008-02-03T22:23:00.000-05:00</published><updated>2008-02-03T22:28:28.570-05:00</updated><title type='text'>What a Game!</title><content type='html'>I will admit that I thought the Patriots would blow past the Giants, but that it might take until the second half to do it.  Even after the first quarter, I told my wife if the rest of the game went the same way, the Giants would win time of possession 40 minutes to 20 minutes but still lose 28-12.  Boy, was I wrong!&lt;br /&gt;&lt;br /&gt;It was a pretty entertaining game all throughout and Eli proved he could handle as much pressure as Brady and still perform.  I didn't really care much who won, but I'm not unhappy to see the Pats go 18-1.&lt;br /&gt;&lt;br /&gt;Oh, and I think my favorite commercials were the Tide-to-Go (talking stain) and the Bud Light fire breathing, with the Thriller-dancing lizards a close third.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-3447971684844938505?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/3447971684844938505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=3447971684844938505&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3447971684844938505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3447971684844938505'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/02/what-game.html' title='What a Game!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7418380571092003229</id><published>2008-01-31T12:55:00.000-05:00</published><updated>2008-01-31T12:58:53.225-05:00</updated><title type='text'>Flu Sucks</title><content type='html'>It took until Sunday evening, but I think the 'SphereFlu caught me then.  The doctor confirmed it Tuesday; luckily, because it was within 48 hours, I could take Tamiflu (boy is that stuff expensive!).  Finally, by Wednesday evening, I was feeling at least OK.  I'm still pretty tired but at least am able to do some work (from home, luckily).&lt;br /&gt;&lt;br /&gt;Now I just have to get healthy and keep the rest of the family healthy so we'll be ready for vacation at the end of next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7418380571092003229?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7418380571092003229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7418380571092003229&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7418380571092003229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7418380571092003229'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/flu-sucks.html' title='Flu Sucks'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7054014488207716790</id><published>2008-01-26T11:54:00.000-05:00</published><updated>2008-01-26T11:58:22.466-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Dude, Where's My Plane?</title><content type='html'>I was about 90 minutes late getting home from Chicago last night.  Part of it was weather related (breezy and snowy so they had to de-ice; there were lots of planes to de-ice then the heater broke in the truck right as it was getting to us).  But the other part of it was that someone got on the wrong plane.  &lt;br /&gt;&lt;br /&gt;We were at a gate that was able to load two regional jets at the same time.  They loaded one then started loading ours.  By the time I got to the turn to the other plane, the door was blocked by a rope.  Apparently a fellow traveler got there early.  So he probably screwed up two flights at once.  No one booed him when he got on, but I really wanted to.&lt;br /&gt;&lt;br /&gt;At least I got an enthusiastic welcome when I finally made it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7054014488207716790?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7054014488207716790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7054014488207716790&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7054014488207716790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7054014488207716790'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/dude-wheres-my-plane.html' title='Dude, Where&apos;s My Plane?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8320084683563185930</id><published>2008-01-25T09:03:00.000-05:00</published><updated>2008-01-25T09:26:43.134-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2008'/><title type='text'>Lotusphere: Last Two Days</title><content type='html'>The days down here are very long, I'm not staying in the center of the Lotusphere universe and I don't have wireless.  All of that makes it hard to do timely posts.  Anyway, here is what I saw that I haven't summarized yet.&lt;br /&gt;&lt;br /&gt;SpeedGeeking was really good.  I don't know what the selection process was but Rocky may need to get some help because a couple of the presenters I talked to said they found out very late that they would be presenting.  The presentations were done well but it was hard to hear and see sometimes because there was such a large number of people.  Maybe small stages for the presenter tables?  Or larger monitors?  Or just elevate the computers?  Not sure what to do about the sound though.  Coming up with 12 small speaker/mic systems (even if USB-powered) could be tough but is a thought.&lt;br /&gt;&lt;br /&gt;Andrew Davis and Brian Leonard did a nice (and humorous) session on widgets and live text.  Widgets are a cool addition in the Notes client and will help make the client even more "sticky".  I'm anxious to see what happens in our environment since we're behind a proxy and I have had trouble in the past configuring the client to get past it.&lt;br /&gt;&lt;br /&gt;Messrs. &lt;a href="http://www.billbuchan.com"&gt;Buchan&lt;/a&gt; and &lt;a href="http://www.pmooney.net"&gt;Mooney&lt;/a&gt; were themselves in their "Best of" Worst Practices session.  At least until the end.  Duffbert came up and roasted them about some of the things they did getting ready for ILUG 2007.  It was obviously uncomfortable for them but they handled it well.  Face it, we all know what to do but we all know there are times when we don't do what we should.&lt;br /&gt;&lt;br /&gt;Using Web Services Features in ND8 was a little bit dull in the presentation but still had some good information, including a nice explanation of the message type and SOAP format.  I'm looking forward to trying out consuming a web service.&lt;br /&gt;&lt;br /&gt;I was hoping for so much more from the session on Bridging Customer Data into Notes 8 with Lotus Symphony.  It had a lot of information on WHAT they did but I was more interested in the HOW.  I'm sure that will develop over time.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.interfacematters.com"&gt;Chris Blatnick&lt;/a&gt; and &lt;a href="http://nathan.lotus911.com"&gt;Nathan Freeman&lt;/a&gt; did they usual magic in Advanced UI Design Concepts.  Even though I had seen about 1/3 of the ideas before, the new stuff they showed gave me a few new ideas.  I love the thought of using an editable column to cause documents to be deleted and I can't wait to try it out.&lt;br /&gt;&lt;br /&gt;I got a couple of good ideas from &lt;a href="http://www.assono.de/blog"&gt;Bernd Hort and Thomas Bahn&lt;/a&gt; in their Object Oriented LotusScript session.  This is a concept that is hard to teach in an hour because it is very different from traditional LS programming.  And there are some "gotchas" to be aware of.  I plan to download their demo and dissect it and am sure I'll get some ideas there.&lt;br /&gt;&lt;br /&gt;The last session I went to was using XML and DXL in Notes design programming, given by &lt;a href="http://www-10.lotus.com/ldd/bpmpblog.nsf"&gt;Andre Guirard&lt;/a&gt;.  He is so knowledgeable and creative but it is sometimes hard for him to bring it down to a simpler level, at least when talking (his writing is generally detailed enough).  Some good ideas though and he has some tools I know I can use.&lt;br /&gt;&lt;br /&gt;To me, nothing too earth shaking happened in the Ask the Developer session.  Everyone seemed to be having a good time.&lt;br /&gt;&lt;br /&gt;More on the closing session and an overall wrap up later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8320084683563185930?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8320084683563185930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8320084683563185930&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8320084683563185930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8320084683563185930'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/lotusphere-last-two-days.html' title='Lotusphere: Last Two Days'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-954661658279137495</id><published>2008-01-23T07:08:00.000-05:00</published><updated>2008-01-23T07:10:45.176-05:00</updated><title type='text'>I Miss My Family</title><content type='html'>It's great to be in Orlando at Lotusphere, don't get me wrong.  But it can be hard too.  I saw a guy yesterday wiping his eyes after looking at photos of his family on his PMP.  I'm not at that point, but I am sorry that I missed Fathers Night at my daughter's preschool and my son's first Pinewood Derby.&lt;br /&gt;&lt;br /&gt;As great as it is here, sometimes it really gets in the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-954661658279137495?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/954661658279137495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=954661658279137495&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/954661658279137495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/954661658279137495'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/i-miss-my-family.html' title='I Miss My Family'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8526541011416452216</id><published>2008-01-22T23:08:00.000-05:00</published><updated>2008-01-22T23:48:13.177-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2008'/><title type='text'>Man, Am I Tired!</title><content type='html'>Here it is, Tuesday evening, and I finally have time for a Lotusphere post.  There just hasn't been time during the day.  Anyway, what has gone on so far?&lt;br /&gt;&lt;br /&gt;Of the four JumpStarts I went to, the most interesting ones were related to Eclipse.  Combined with what I saw in the Opening General Session and a breakout on Domino Designer 8.5, designing Notes/Domino applications will soon be much more fun.  Of course, it can start even earlier if you have to develop plugins or know Java (which I don't).&lt;br /&gt;&lt;br /&gt;Speaking of the OGS, hearing the Orlando Symphony Orchestra play Led Zeppelin's Kashmir was awesome!  Bob Costas was the guest speaker and had a few good stories.  I didn't think much about it at the time, but a couple of people said later his stories about baseball and football didn't connect with non-Americans.  Makes sense as I look back.  It was a VERY full session, and very long.  There were a couple of kind of awkward moments, where things seemed really forced, like before the big announcement of Lotus Foundations (or was it Bluehouse?).&lt;br /&gt;&lt;br /&gt;Lotusalon was interesting.  Three people involved in what I guess you'd call "web 2.0 culture" presented their thoughts on where the online culture is heading.  I think it may need a little fine tuning but I thought it was a good idea, just in the sense of helping to think "out of the box".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-10.lotus.com/ldd/bpmpblog.nsf"&gt;Andre Guirard&lt;/a&gt; and &lt;a href="http://www.nsftools.com"&gt;Julian Robichaux&lt;/a&gt; gave a good presentation on Features Every Application Should Have.  I know mine don't have all of them, so I have things to check out already!  Check out the tools on their sites.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.johndavidhead.com"&gt;John Head&lt;/a&gt; and Alex Kassabov did a presentation on Notes 8 and Expeditor for LotusScript Developers.  They illustrated what you need to get your new development environment running and how to do it.  Coupled with &lt;a href="http://www.marybethraven.com"&gt;Mary Beth Raven&lt;/a&gt; and Matt Hatem's session on customizing the Notes 8 client, they showed we'll be able to do a lot to the client but it will take some work to do it (not a LOT, but more than just changing a couple of text files).&lt;br /&gt;&lt;br /&gt;I also went to a session that &lt;a href="http://www.lotusgeek.com"&gt;Rocky Oliver&lt;/a&gt; did on formula and LotusScript tricks.  I learned a couple of new tricks (check out the @ToNumber and @Nothing functions) and more about DXL.  Yes, more things to try out.&lt;br /&gt;&lt;br /&gt;SpeedGeeking was tonight as well.  It was much bigger this year than last year but was just as good.  More about that later, I think.&lt;br /&gt;&lt;br /&gt;So far, it's been a good week.  Tomorrow will be another long day but I am looking forward to the sessions I've planned to go to.  Too bad there are a couple of time slots that have two sessions I want to attend!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8526541011416452216?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8526541011416452216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8526541011416452216&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8526541011416452216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8526541011416452216'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/man-am-i-tired.html' title='Man, Am I Tired!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-4844114487054178521</id><published>2008-01-10T11:25:00.000-05:00</published><updated>2008-01-10T11:33:37.735-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2008'/><title type='text'>Lotusphere Session Evaluations Done Online</title><content type='html'>I just saw &lt;a href="http://www.idonotes.com/IdoNotes/IdoNotes.nsf/dx/01102008091422AMCMIKVK.htm"&gt;this&lt;/a&gt; at Chris Miller's site:&lt;br /&gt;&lt;blockquote&gt;Session evaluations will be completed electronically this year - no more paper forms in the conference notebooks!  Attendees will be able to access all evaluations forms by selecting the evaluation icon on any Lotusphere Online laptop, their own laptop or handheld device through a special URL.&lt;/blockquote&gt;&lt;br /&gt;As I posted there, this will undoubtedly make it easier to compile the results and will be helpful to those who have their laptops operating in the sessions. But those of us without wireless on our machines (I know: that is SOOO 20th century) will now have to find time to fight the crowds to get on one of the LSOnline machines. Not to mention find the time to do it.&lt;br /&gt;&lt;br /&gt;I hope I can get my iPaq to connect - maybe I can do mine that way. &amp;lt;sigh&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-4844114487054178521?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/4844114487054178521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=4844114487054178521&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4844114487054178521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4844114487054178521'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/lotusphere-session-evaluations-done.html' title='Lotusphere Session Evaluations Done Online'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-5011643744511388565</id><published>2008-01-07T14:00:00.001-05:00</published><updated>2008-01-07T14:03:36.795-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2008'/><title type='text'>Thursday Night Dinner @ Lotusphere 2008</title><content type='html'>I'm sure anyone who sees this will have already seen it on one of the other blogs, but what the heck.  John Head is organizing a dinner for the community on Thursday after Lotusphere ends.  Go &lt;a href="http://www.johndavidhead.com/jhead/johnhead.nsf/dx/lotusphere-after-party-thursday-night-jan-24th-i-need-a-rough-count"&gt;here&lt;/a&gt; to give him a heads up if you'll be joining in.  Add your comments on John's blog.&lt;br /&gt;&lt;br /&gt;So is this another B.A.L.D?  Bloggers After Lotusphere Dinner?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-5011643744511388565?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5011643744511388565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5011643744511388565'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/thursday-night-dinner-lotusphere-2008.html' title='Thursday Night Dinner @ Lotusphere 2008'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-2585482761471730104</id><published>2008-01-02T09:22:00.001-05:00</published><updated>2008-01-02T09:34:55.481-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2008'/><title type='text'>Lotus-related Stuff</title><content type='html'>I have been pretty neglectful of posting here over the last few months.  Part of it is not having much that I felt I could share, and part of it is not wanting to spend a lot of time putting together detailed posts for the few readers I suspect I have.&lt;br /&gt;&lt;br /&gt;At any rate, I have spent a lot of time developing a database to gather statistics from our application databases.  For example, the number of documents that are waiting for signoff by a particular role and the average number of days between signoffs of two different levels.  It is created in such a way that statistics can be created by completing a form (look, Ma, no programming required!).  Pretty cool, plus it includes things like doc linking back to the source documents (if you want) and a "heat map" to indicate the importance of the returned value.  Not the stuff of an SNTT post though.&lt;br /&gt;&lt;br /&gt;I also created a simple composite application in Notes 8.  This is a neat concept but I hope they continue to improve it because there are some rough spots.  Create an action button containing LotusScript code to define an event handler?  It should be much simpler than that.  But there is a lot of potential there.&lt;br /&gt;&lt;br /&gt;Finally, I get to go back to Lotusphere!  This will be a different experience because, due to increased attendance and late registration, I am not staying at the Swan or Dolphin.  More planning will be required this year, for sure, since I won't be able to get to and from my room as quickly.  I am looking forward to seeing a lot of the people I have met the last two years, and (of course) getting lots of ideas to come back and implement.  This past year was a lot of new user interface ideas and I hope to get even more of those plus some other unexpected goodies.&lt;br /&gt;&lt;br /&gt;Happy New Year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-2585482761471730104?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/2585482761471730104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=2585482761471730104&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2585482761471730104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/2585482761471730104'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/lotus-related-stuff.html' title='Lotus-related Stuff'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-3862397247520055454</id><published>2008-01-02T09:14:00.000-05:00</published><updated>2008-01-02T09:22:00.865-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Firefox Live Chat</title><content type='html'>I used the new &lt;a href="http://support.mozilla.com/kb/Live+Chat"&gt;Firefox Live Chat&lt;/a&gt; yesterday to resolve a problem I was having with CNN video.  There were a couple of hiccups when I had to switch browsers so I could change the Firefox setup.  The person I was chatting with was knowledgable and friendly.  In the end, she just pointed out a troubleshooting process that I should have known to do in the first place, but sometimes that's just what you need.&lt;br /&gt;&lt;br /&gt;Oh, the coComment extension kills the CNN video.  I don't know (and don't care to find out) if it is due to a combination of that extension with one of the others I am running, or if it is just because of coComment.  I did see other people reporting problems with coComment on AJAX sites so I suspect the extension is just not very well behaved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-3862397247520055454?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/3862397247520055454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=3862397247520055454&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3862397247520055454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3862397247520055454'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2008/01/firefox-live-chat.html' title='Firefox Live Chat'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7088086893141333969</id><published>2007-10-09T08:21:00.000-04:00</published><updated>2007-10-09T08:30:10.241-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Why Computers Frustrate Me</title><content type='html'>Late last week, my mouse stopped working properly.  It is a two-button USB mouse with a scroll wheel.  The left button began acting like the right button and the right button did nothing.  VERY frustrating.  I rebooted, uninstalled and reinstalled the driver, changed the USB port it was connected to, tried a different USB mouse - no change.  Gateway technical support was friendly but not very helpful: "everything looks the way it should; I suggest you restore your system to its default state."  In other words, spend a day reinstalling everything and lose software from Giveaway of the Day because it can't be reinstalled.  Not a good option.&lt;br /&gt;&lt;br /&gt;I got a PS/2 mouse and (after rebooting AGAIN) got it to work.  But that was a two-button rollerball mouse and I didn't want to make that my permanent mouse.&lt;br /&gt;&lt;br /&gt;I tried a few other things I found on the Internet, but since my original mouse was the basic kind that Windows is supposed to handle, nothing I did made any difference (it wasn't like I could reinstall driver software to fix it).&lt;br /&gt;&lt;br /&gt;Since the PS/2 mouse worked, I was hopeful a new, different type of mouse might do the trick.  I went out and bought a wireless optical mouse, hooked it up and IT WORKS!  One less wire to be hooking with my feet under the desk and everything works the way it should now.  The $40 I spent on it was well worth avoiding all the reinstall hassles.  But I sure wish there was a way to fix problems like this without having to start over from scratch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7088086893141333969?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7088086893141333969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7088086893141333969&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7088086893141333969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7088086893141333969'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/10/why-computers-frustrate-me.html' title='Why Computers Frustrate Me'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-3899236131730225795</id><published>2007-08-09T09:10:00.000-04:00</published><updated>2007-08-09T09:11:07.694-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Sametime 7.5.1 - Dual Repositories for User Information</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;A new feature in Sametime 7.5.1 allows you to pull user information displayed on the Sametime business card from two different sources (see this &lt;a href="http://www-10.lotus.com/ldd/stfixlist.nsf/8ed1b46cfdba8957852570c90054623b/d03303d833a5cf0b852572d6006b9cec?OpenDocument"&gt;fix list item&lt;/a&gt;).  So you can get the user's name and location from, say, a Domino Directory and their job title and photo from another Domino database.  We had that exact need so this was a nice feature add for us.  Another positive is that this lets you include a photo on the business card without requiring changes to your Domino Directory.  Note that this also works if one of your data sources is an LDAP directory; I am not discussing that because we don't have that need but the instructions are documented and are pretty similar.&lt;br /&gt;&lt;br /&gt;The instructions in the Sametime Information Center for &lt;a href="http://publib.boulder.ibm.com/infocenter/sametime/v7r5m1/topic/com.ibm.help.sametime.admin.doc/st_adm_buscard_configdualdomcustom.html"&gt;configuring dual Domino repositories&lt;/a&gt; are a little confusing in spots (why talk about Sametime using LDAP for authentication when the topic is using the Domino Directory and a custom database?) but they do work.  The instructions do not include a detail tag for a photo but it looks like this: &amp;lt;Detail Id="Photo" FieldName="Photo" Type="image/jpeg" /&amp;gt;.  If you use GIFs instead of JPEGs, set the type to "image/gif".  And the value of the FieldName item needs to be the name of the field containing your photo.&lt;br /&gt;&lt;br /&gt;One caveat: make sure you type the XML exactly as shown in the example.  We spent way too long troubleshooting problems only to find we had two typos.  Whatever the reason, the items in the XML tags must be entered exactly as they appear in the example.  We had entered one item name as "DBName" instead of "DbName" and another as "Fieldname" instead of "FieldName".  As you might imagine, these were a little hard to pick out after staring at the file for a while.  Once we corrected the errors, the data and photo from the second database was included in the Sametime business card.&lt;br /&gt;&lt;br /&gt;As far as we can tell, this does NOT require 7.5.1 CF1 to work, although we are running CF1 on the box where this is enabled.  And it does work if the secondary database is in a folder accessed via directory link.  Thanks go to &lt;a href="http://www.bingham.co.za"&gt;Grant Bingham&lt;/a&gt; for the setup instructions for 7.5 (some of which may be made obsolete by this new function) and to &lt;a href="http://www.lekkimworld.com"&gt;Mikkel Heisterberg&lt;/a&gt; for the reverse engineering of the userInfo servlet calls, both of which were helpful as we worked our way through this setup.&lt;br /&gt;&lt;br /&gt;Ultimately, since the instructions published by Lotus do work, I guess this just serves as a warning to anyone who attempts this to be very careful in your typing.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-3899236131730225795?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/3899236131730225795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=3899236131730225795&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3899236131730225795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3899236131730225795'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/08/sntt-sametime-751-dual-repositories-for.html' title='SnTT: Sametime 7.5.1 - Dual Repositories for User Information'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8317420270240689170</id><published>2007-08-07T16:11:00.001-04:00</published><updated>2007-08-07T16:17:10.201-04:00</updated><title type='text'>Miscellany</title><content type='html'>Tonight is golf night.  Hopefully it goes better than last week when I played reasonably well - on 7 holes.  Two in a row out of bounds and hitting lots of trees don't do anything positive to the score.&lt;br /&gt;&lt;br /&gt;Last week I registered at Facebook and found a group of Notes/Domino Geeks.  We'll see if anything comes out of that.  Facebook is kind of fun overall though.&lt;br /&gt;&lt;br /&gt;I bought a new set of speakers for my home computer.  The old ones were about 7 years old (Boston Acoustics) and were beginning to have issues with dropping out. I had to jiggle the cables to get sound out of one side.  I bought a set of Bose Companion 3 speakers (apparently Series I since BestBuy is selling Series II) and so far I LOVE THEM!  I have to get the bass part adjusted properly because they boom too much on songs with "dance beats" and lose the bass line.  Worth the money in my mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8317420270240689170?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8317420270240689170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8317420270240689170&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8317420270240689170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8317420270240689170'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/08/miscellany.html' title='Miscellany'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1595716247168290602</id><published>2007-07-31T11:59:00.000-04:00</published><updated>2007-07-31T12:15:01.698-04:00</updated><title type='text'>Top 5 Side 1 Track 1</title><content type='html'>OK, no one's tagged me on this but I'm going to jump in anyway.  I'm splitting the difference on "mainstream" stuff and "obscure" stuff, in case anyone wonders.&lt;br /&gt;&lt;br /&gt;Journey "Frontiers": Separate Ways (Worlds Apart) - I am a HUGE Steve Perry fan and I always say this is my favorite Journey song. The best thing for me is how Jonathan Cain described it in the Time3 box set: "We played it live and the audience came unglued."&lt;br /&gt;&lt;br /&gt;Beatles "Abbey Road": Come Together - Gotta have some Beatles on it and this proved they could still make great music in the midst of personal turmoil.&lt;br /&gt;&lt;br /&gt;Michael Hedges "Live on the Double Planet": All Along the Watchtower - OK, so this is a live album and not a song that he wrote, but I'm bending "the rules".  All that sound is one man, one guitar.  A great guitarist who died way too young.&lt;br /&gt;&lt;br /&gt;Sass Jordan "Racine": Make You a Believer - Great female blues rock.  She's not very big but rocks hard.  I saw her once in concert from the front row.&lt;br /&gt;&lt;br /&gt;David Broza "Stone Doors": Night in Wyoming - Another acoustic guitarist who I heard for the first time when he opened for Steve Perry.  He does recording in English, Spanish and Hebrew and all of those influences are in his music as well.  Interestingly, he takes poetry written by others and puts it to music.&lt;br /&gt;&lt;br /&gt;Tag:&lt;br /&gt;&lt;a href="http://www.devinolson.net"&gt;Devin Olson&lt;/a&gt; (I know &lt;a href="http://hostit1.connectria.com/philrandolph/philrandolph.nsf"&gt;Phil&lt;/a&gt; already did, but Devin hasn't posted)&lt;br /&gt;&lt;a href="http://www.thepridelands.com"&gt;Ray Bilyk&lt;/a&gt; (I gotta have more cowbell!)&lt;br /&gt;&lt;a href="http://www.jonvon.net"&gt;jonvon&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.punkdbynotes.com"&gt;Mike Sobczak&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/Top5Side1Track1List" rel="tag"&gt;Top 5 Side 1 Track 1 List&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1595716247168290602?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1595716247168290602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1595716247168290602&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1595716247168290602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1595716247168290602'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/07/top-5-side-1-track-1.html' title='Top 5 Side 1 Track 1'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1678420680985240194</id><published>2007-06-15T08:02:00.000-04:00</published><updated>2007-06-15T08:10:14.592-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Open the Database Containing a Doc Link</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;This probably belongs on &lt;a href="http://www.alanlepofsky.net"&gt;Alan Lepofsky&lt;/a&gt;'s site - and maybe it's already there - but I thought it was pretty handy when I figured it out.&lt;br /&gt;&lt;br /&gt;I've had lots of occasions where I get a doc link, open the linked document and then want to open the database to see other related documents.  I had always gone to my workspace, located the icon for the database I just opened and clicked it to open the database.  I figured there had to be an easier way and I finally found it:&lt;br /&gt;&lt;br /&gt;Click View | Go up to Parent View.&lt;br /&gt;&lt;br /&gt;This opens the view that contains the linked document.  Action buttons can execute @Command([GoUpLevel]) to achieve the same effect.&lt;br /&gt;&lt;br /&gt;This is probably not news to a lot of people but I just learned about it.  Now, if only you could right click on the open document and see the option there...&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1678420680985240194?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1678420680985240194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1678420680985240194&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1678420680985240194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1678420680985240194'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/06/sntt-open-database-containing-doc-link.html' title='SnTT: Open the Database Containing a Doc Link'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7824027184290312600</id><published>2007-06-01T14:30:00.000-04:00</published><updated>2007-06-01T15:21:51.343-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Update to Single-View User Interface</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;I know it's Friday but this was so cool I just couldn't wait until next week.&lt;br /&gt;&lt;br /&gt;About a month ago I posted &lt;a href="http://dmcnally.blogspot.com/2007/05/sntt-single-view-user-interface.html"&gt;this&lt;/a&gt; in which I explained how I got around some limitations with embedded views that are displayed in framesets.  It is, admittedly, not the most elegant solution because it requires the user to click a button to update the embedded view.  It also requires some inter-frame communication, for which I used an environment variable.  I had thought about using JavaScript (and actually saw another post that might have been useful for that) but didn't get a chance to do anything about it.&lt;br /&gt;&lt;br /&gt;But that was before Slawek Rogulski posted to say he knew how to make this work using a single frame and form.  Read the comments on the first post and you'll see I was a little skeptical.  Well, I got it to work.  And it's really pretty simple.&lt;br /&gt;&lt;br /&gt;1. In your form that contains the embedded view, set it so it has a Form Header with a height of Fit to Content.  You may also want to set a border of 1 pixel to ensure that everything you want in the header is actually there (you can turn that off once you get the header content correct).&lt;br /&gt;&lt;br /&gt;2. Select everything on the form that is above the embedded view and cut it.&lt;br /&gt;&lt;br /&gt;3. Move the cursor to the top of the form and paste the cut content back in.  That should place it in the header area.&lt;br /&gt;&lt;br /&gt;4. Save the form.&lt;br /&gt;&lt;br /&gt;Now you can just compose a document with that form or place it in the top frame of a two-frame frameset (if you want the bottom frame to be a preview frame).  The scroll bars on the embedded view will appear when necessary and will display both the scroll up and scroll down buttons.  Plus, there is no need for inter-frame communication or for the user to click a button after selecting field values - once you select a value in the "trigger" field, the embedded view can be updated automatically.&lt;br /&gt;&lt;br /&gt;Apparently the rendering engine can account for the height of a form header when displaying the embedded view.  If you don't use a header, it does not know the height of form content above the embedded view; as a result, the scroll bar is not rendered correctly (documents in the view can exist below the bottom edge of the application window and there is no way to see the view entries, although you can press PAGE DOWN to move the highlight to them and press ENTER to open the documents).&lt;br /&gt;&lt;br /&gt;Thanks a lot, Slawek.  This provides a great solution for simple interfaces and is a lot easier than what I initially came up with.  He also said he's used this in cases where the embedded view is computed (I didn't need that capability).  And it's another great example of the "power of community".&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7824027184290312600?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7824027184290312600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7824027184290312600&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7824027184290312600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7824027184290312600'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/06/sntt-update-to-single-view-user.html' title='SnTT: Update to Single-View User Interface'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7083636557173355045</id><published>2007-05-31T12:19:00.001-04:00</published><updated>2007-05-31T12:26:19.013-04:00</updated><title type='text'>It's been a week....</title><content type='html'>since both my Wings teams lost.  The K-Wings lost 3-1 in game 7.  They played tough but just couldn't get a win on the road in the finals.  They still had a good season and the countdown has begun to the start of the next season.  The worst part is that the IceHogs announced earlier in the year that they were leaving the league.  It bugs me that a team that bolted wins the championship on their way out the door, but they played well enough to win so I have to give them that.&lt;br /&gt;&lt;br /&gt;The Red Wings lost in 6.  I think the Ducks basically just wore them down with the physical play.  It didn't help losing Schneider but there were times when they didn't seem to have the intensity they needed.  Interesting talk about the possibility of them going after Giguere this off-season.  Guess if you can't beat him, get him to join you.  He has looked pretty solid so far, but I still think I'd prefer to see Ottawa win it.&lt;br /&gt;&lt;br /&gt;Add to these the funk the Tigers have been in the last week and the uphill battle the Pistons are fighting and it's kind of a tough time for Detroit sports lovers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7083636557173355045?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7083636557173355045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7083636557173355045&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7083636557173355045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7083636557173355045'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/05/its-been-week.html' title='It&apos;s been a week....'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-3584206855204258323</id><published>2007-05-22T08:20:00.000-04:00</published><updated>2007-05-22T08:26:09.607-04:00</updated><title type='text'>Do or Die Tuesday</title><content type='html'>Both the K-Wings and Red Wings are down 3-2 in their series, and both play game 6 tonight.  The K-Wings are at home and, according to coach Reeds "always play their best when their backs are against the wall."  Here's hoping that's true once again tonight.  As for the Red Wings, hope the bitter taste from Sunday lingers long enough to give them motivation.&lt;br /&gt;&lt;br /&gt;Both teams just need to play to win rather than playing not to lose.  Easier said than done, I know.&lt;br /&gt;&lt;br /&gt;I know I'm biased, but I'm not sure an Anaheim-Ottawa series is what the NHL is hoping for from a TV ratings standpoint.  Not to mention the fact that there will be more late night games that way.  I'm just hoping I can find Versus at the hotel or a bar tonight in Cleveland!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-3584206855204258323?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/3584206855204258323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=3584206855204258323&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3584206855204258323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3584206855204258323'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/05/do-or-die-tuesday.html' title='Do or Die Tuesday'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-3286721760845086209</id><published>2007-05-03T08:47:00.000-04:00</published><updated>2007-05-03T08:50:13.900-04:00</updated><title type='text'>Wings Win! (Twice)</title><content type='html'>Both the &lt;a href="http://www.kwings.com"&gt;K-Wings&lt;/a&gt; and &lt;a href="http://www.detroitredwings.com"&gt;Red Wings&lt;/a&gt; won last night! The K-Wings play at home again on Friday and the Red Wings are home on Saturday.  Keep the momentum going!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-3286721760845086209?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/3286721760845086209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=3286721760845086209&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3286721760845086209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/3286721760845086209'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/05/wings-win-twice.html' title='Wings Win! (Twice)'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-4772200421988020737</id><published>2007-05-03T08:45:00.000-04:00</published><updated>2007-05-03T08:51:43.310-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Single-View User Interface Problems (and Solutions)</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;Lately, I've been doing a lot of user interface work.  I've updated the interfaces on three of our applications and created a new interface for the Team Room (7) template.  I also used a completely different (for us) style on a new database I developed, which is what I want to share today.&lt;br /&gt;&lt;br /&gt;This is a database for which we wanted to keep the interface simple.  The primary users are more focused on mainframe programming and don't use a lot of Notes applications, so rather than giving them a list of views to choose from and hundreds of documents to wade through, I embedded a view on a form (called, very creatively, User Interface) and let them choose the category they want to see using a radio button and drop down list on the form.  When it is opened, the database creates a document using the UI form and displays the category for the user who opened the database (as in "My Documents").  The embedded view is set to Fit to Window for both height and width.&lt;br /&gt;&lt;br /&gt;The original idea was to display the UI form in the top frame of a two-frame frameset.  The bottom frame, collapsed by default, would be for previewing documents in the embedded view.&lt;br /&gt;&lt;br /&gt;All seemed to be going well until I ran into a category that had too many entries to fit on one screen.  In that case, I could see a scroll bar at the right of the view but the last two documents could not be seen.  After a while, I discovered that was because Notes does not include the height of text above the embedded view when it calculates the height of the embedded view to fit it to the window.  In other words, my embedded view extended below the bottom of the screen by the amount of space I had above it on the form.&lt;br /&gt;&lt;br /&gt;Because this was my interface (not an individual document), I didn't want a scroll bar at the right side at all times.  I didn't want the user to have to scroll both the interface form and the embedded view, and I didn't want the top part of the form to scroll off the screen so I could see the bottom of the view.  So, what to do?  I had a couple of ideas that involved tables but I couldn't get the table row height to automatically go to the window height.  Setting the height of the embedded view also didn't work because it didn't scroll correctly if the preview pane opened up big enough to hide part of the view.  I also thought of a little more traditional two-pane setup but liked the basic idea I had better.  "A-HA!," I thought, "I'll create a frameset with three frames."  The "A-HA" was easier than the implementation ended up being.&lt;br /&gt;&lt;br /&gt;The top frame contains a form with the radio button and drop down list in it, the middle frame contains the embedded view, and the bottom frame is the preview frame.  Here is the frameset in Designer:&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_Ba7FRw6fOf4/Rjjktg1M3CI/AAAAAAAAAAc/oDrDL4YHv_k/s1600-h/SNAPTrackDesigner.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_Ba7FRw6fOf4/Rjjktg1M3CI/AAAAAAAAAAc/oDrDL4YHv_k/s320/SNAPTrackDesigner.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5060045651909073954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Because the embedded view is the only thing on the form in the middle frame, setting its height to Fit to Window does not present any scrolling problems; the scroll bar appears when it is needed due to the number of documents in view or when the preview pane is open.  The problem is communicating changes in the fields in the top frame to the view in the middle frame so that the view displays the proper category.  I decided to use an environment variable for that communication, setting it in the top frame and reading it in the middle frame.  I was going to use the OnChange event of the drop down field to trigger the update but @formulas can't be used there.  I also found that a) I couldn't set the variable using @formulas and b) I couldn't update the middle frame using LotusScript.  GRRRR!  I still don't know why neither @Environment nor @SetEnvironment worked.  Maybe I needed to restart my client or something.&lt;br /&gt;&lt;br /&gt;At any rate, I ended up adding a button next to the drop down with two @formulas: one that runs a small LotusScript agent to set the environment variable and one that refreshes the frame containing the view.  I also put an @Environment command in the QueryOpen of the form in the top frame (it worked there!) to set the default value of the variable.  After all that work, it looks the way I wanted it and scrolls properly:&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_Ba7FRw6fOf4/Rjjk9Q1M3DI/AAAAAAAAAAk/uSaB-VWKZCg/s1600-h/SNAPTrack.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_Ba7FRw6fOf4/Rjjk9Q1M3DI/AAAAAAAAAAk/uSaB-VWKZCg/s320/SNAPTrack.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5060045922492013618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I don't love the 'Go' button I had to add but I couldn't come up with another way to trigger the updates I needed to refresh the embedded view.  I thought later about using JavaScript to update the view frame and refresh it but I don't know JavaScript very well and couldn't find a good example for what I wanted to do.  Maybe I'll revisit it later.&lt;br /&gt;&lt;br /&gt;But in the meantime, maybe this is something you can add to your own toolset as you think about your application interfaces.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-4772200421988020737?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/4772200421988020737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=4772200421988020737&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4772200421988020737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4772200421988020737'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/05/sntt-single-view-user-interface.html' title='SnTT: Single-View User Interface Problems (and Solutions)'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_Ba7FRw6fOf4/Rjjktg1M3CI/AAAAAAAAAAc/oDrDL4YHv_k/s72-c/SNAPTrackDesigner.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8600043323442897051</id><published>2007-05-02T15:31:00.000-04:00</published><updated>2007-05-02T15:44:24.816-04:00</updated><title type='text'>Baseball....and hockey</title><content type='html'>The Little League season is off to a good start.  Because we have only 5 teams in our division, one team gets a bye each night.  But on opening day, our team played a double header of shortened games - and won both of them!  I was out of town for the weekend but got the full report.  Lots of walks and passed balls as you'd suspect but some good hitting and good plays too.  Can't wait until Friday to actually see them play.&lt;br /&gt;&lt;br /&gt;As for hockey, the K-Wings are in the second round after winning the first series in 6 and are tied at 1 game each heading into tonight's game at home.  Two very evenly matched teams but the Wings will win if they play the fill 60 minutes.  The Red Wings seem to have their hands full too.  I don't want to be too pessimistic, but I think they have to win tonight to have a realistic shot at taking the series.&lt;br /&gt;&lt;br /&gt;As Badger Bob used to say, "It's a great day for hockey!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8600043323442897051?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8600043323442897051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8600043323442897051&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8600043323442897051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8600043323442897051'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/05/baseballand-hockey.html' title='Baseball....and hockey'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-5467011871878040335</id><published>2007-04-12T12:47:00.000-04:00</published><updated>2007-04-12T12:51:44.482-04:00</updated><title type='text'>Baseball?</title><content type='html'>I'm helping coach our son's Little League baseball team again this year.  He is in his first year in Little Majors (kids pitching) and we had our first practice on Tuesday.  It's too early to tell how things are going to go, other than that we only have one kid who has played Little Majors before.&lt;br /&gt;&lt;br /&gt;But the weird thing, and the reason for the title of this, is that it was 48 degrees on Tuesday night and we practiced on a clear field.  Wednesday, we got 5 inches of snow!  Today it is a little warmer and rainy, and it is supposed to be near 50 tomorrow, but it isn't clear if we'll be able to practice tomorrow night.&lt;br /&gt;&lt;br /&gt;Hope this weather straightens out soon.  It's time for winter to be done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-5467011871878040335?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/5467011871878040335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=5467011871878040335&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5467011871878040335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5467011871878040335'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/04/baseball.html' title='Baseball?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-4879837781895989844</id><published>2007-04-12T12:37:00.000-04:00</published><updated>2007-04-12T12:46:08.101-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Toolbar Icon to Change Font Colors</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;This is a quick and dirty tip inspired by a request from a co-worker the other day.  He wanted to know if there was a way to quickly change font colors in Notes, similar to the buttons available in Microsoft applications.  I said I wasn't aware of one and couldn't locate one after some searching.  So, since he's a good guy, and I like to keep people happy with Notes, I decided to write something quickly.&lt;br /&gt;&lt;br /&gt;This is the code:&lt;br /&gt;colorchoices:="Black":"Gray":"Red":"DarkRed":"Green":"DarkGreen":"Blue":"DarkBlue":&lt;br /&gt;"Magenta":"DarkMagenta":"Yellow":"Brown":"Cyan":"DarkCyan":"White";&lt;br /&gt;colorcodes:=[Black]:[Gray]:[Red]:[DarkRed]:[Green]:[DarkGreen]:[Blue]:[DarkBlue]:[Magenta]:[DarkMagenta]:[Yellow]:[Brown]:[Cyan]:[DarkCyan]:[White];&lt;br /&gt;newcolor:=@Prompt([OkCancelList];"Choose a Color";"Choose the color to apply to the text: ";"Black";colorchoices);&lt;br /&gt;@If(newcolor="[]";@Return("");&lt;br /&gt;   @Command([TextSetFontColor];@Subset(@Subset(colorcodes;@Member(newcolor;colorchoices));-1)))&lt;br /&gt;&lt;br /&gt;I set the button caption to 'Change Font Color' and popup help to 'Change the font color' and chose the toolbar_paintblu.gif icon from the list of available icons.&lt;br /&gt;&lt;br /&gt;Note that I said this was "quick and dirty".  The code could probably be more efficient but it is functional.  Note also that this button will work to set a font color at the insertion point or to change the color of selected text.&lt;br /&gt;&lt;br /&gt;Enjoy! &lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-4879837781895989844?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/4879837781895989844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=4879837781895989844&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4879837781895989844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/4879837781895989844'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/04/sntt-toolbar-icon-to-change-font-colors.html' title='SnTT: Toolbar Icon to Change Font Colors'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8079345688851941379</id><published>2007-01-31T16:27:00.000-05:00</published><updated>2007-01-31T16:39:51.294-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2007'/><title type='text'>Lotusphere 2007 Wrap-Up</title><content type='html'>This was my second Lotusphere and I felt a lot more comfortable all week.  For one, I knew the physical spaces and had a better idea going in of where I was going and how much walking I would actually do.  For another, I knew more people.  And lastly, I planned to do the entire conference this year (being a newbie last year, I missed the Thursday afternoon fun of Gurupalooza, Ask the Developers and the Closing General Session).&lt;br /&gt;&lt;br /&gt;So, along with the tens of other bloggers, I am submitting my summarized experience.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;JumpStarts&lt;/strong&gt;&lt;br /&gt;These are so worth the extra day and the extra time.  If they don’t directly provide you something you can use right now, they give you a good basis for exploring other things you can do with Notes/Domino.  I got useful information on SOA (JMP402), salivated over – for just the first time this week – over the &lt;a href="http://www.eclipse.org/downloads/"&gt;Eclipse SDK&lt;/a&gt; (JMP202), got to actually play with Eclipse a little in a hands-on and learned a lot more about DXL than I knew before (JMP302).  I didn’t actually see Component Designer or Domino Designer 8 but I am really hopeful that they will incorporate a lot of the features of Eclipse, it is that cool.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;General Sessions&lt;/strong&gt;&lt;br /&gt;Neil Armstrong!  Genius pick!  The response of the room and feeling I had when he came out were so different from last year.  We had listened to a biography of him a few weeks back (&lt;a href="http://www.amazon.com/First-Man-Life-Neil-Armstrong/dp/074354997X/sr=1-3/qid=1170279010/ref=pd_bbs_3/102-0858693-7881745?ie=UTF8&amp;s=books"&gt;First Man&lt;/a&gt;) and he came across as the same humble, likable guy he was portrayed as in the book.  Thanks to &lt;a href="http://www.vowe.net"&gt;Volker&lt;/a&gt;, we can go back to his presentation any time.&lt;br /&gt;&lt;br /&gt;I can’t wait for &lt;a href="http://www.lotus.com/nd8"&gt;Notes 8&lt;/a&gt;!  The interface changes are outstanding and the composite applications are what we’re looking for to further leverage the Notes client.  The Productivity editors are a great addition – and will be perfect once the LotusScript API is implemented.  I also really like that there is an integrated RSS reader because maybe now I can really show others in my group the benefits of RSS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lotus.com/quickr"&gt;Quickr&lt;/a&gt; looks very cool, and it’s great that the Personal Edition will be free.  We’ve thought about looking at QuickPlace but haven’t been able to justify the additional cost.  Now, we may be able to counter some of the lean toward SharePoint.  And no additional software!  No WAS, no Portal.  Very nice!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lotus.com/connections"&gt;Connections&lt;/a&gt; sounds like a good idea but will probably work best in large or geographically dispersed organizations where face to face (or over the cube wall) conversations can’t occur.  I could also see smaller organizations that are idea/research driven get benefit from it.  In looking at my own organization, we could benefit as a whole, but the IBM/Lotus base is so small, we wouldn’t get enough from it to justify the cost since it requires something beyond Domino to run.  I liked Activities last year when they were demoed and they have certainly improved but we would still have a bit of a hard time selling the need for it given that we’d need another server to run it.  Maybe my opinion will change if I can get some time with it at bloggingconnections.com.&lt;br /&gt;&lt;br /&gt;The closing session with &lt;a href="http://research.amnh.org/~tyson/"&gt;Neil deGrasse Tyson&lt;/a&gt; was really good.  I had never heard of him and my first thought when he was introduced (as an “astrophysicist”) and he came out and said something about sharing thoughts “over the next 45 minutes” was “uh oh”.  But he was really entertaining, even when telling us an &lt;a href="http://science.nasa.gov/headlines/y2005/13may_2004mn4.htm"&gt;asteroid passing close to Earth in 2029&lt;/a&gt; (on Friday the 13th) might cause the destruction of life in 2036.  Some of us, mostly bloggers, got a chance to talk to him for a few minutes afterward and he was very personable and gracious, and very relieved to hear that he had sufficient “geek cred” and had made relevant connections.  It seemed an odd way to end though: he finished and there was a recorded announcement of “thanks for coming”.  Maybe that’s usual though –it was my first closing session.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sessions&lt;/strong&gt;&lt;br /&gt;Overall I was pretty happy with the sessions I attended.  With the exception of just a couple, I can say I got something out of each one.  I think my three favorites were Worst Practices (BP104), Writing Readable Code (AD502) and Designing the User Interface (BP101).  I think &lt;a href="http://www.billbuchan.com"&gt;Bill&lt;/a&gt; and &lt;a href="http://www.pmooney.net"&gt;Paul&lt;/a&gt; could do their Worst Practices every year because a) they are entertaining and informative and b) enough of us make mistakes for them to come up with 12 new things each year.  &lt;a href="http://www.lotusgeek.com"&gt;Rocky&lt;/a&gt;’s session was really handy for comparing what we do to what other developers with more experience (and more co-workers) do.  Our group tends to develop and maintain our own applications so this is good information for “succession planning”.  &lt;a href="http://www.lotus911.com/nathan/escape.nsf"&gt;Nathan&lt;/a&gt; and &lt;a href="http://www.interfacematters.com"&gt;Chris&lt;/a&gt; presented some ideas that were way out of the traditional Notes-app box – and that is a very good thing.  I had actually started experimenting with layers before, based on one of Nathan’s blog posts on one of the databases he demoed.  I think they could easily do the session again next year with new and different interface ideas, and I’d probably attend again.&lt;br /&gt; &lt;br /&gt;The &lt;a href="http://www.openntf.org"&gt;OpenNTF&lt;/a&gt; and Blogger BOFs were great too.  They definitely prove the vitality of the Lotus software community and the value that community can bring.  As I said later to &lt;a href="http://www.edbrill.com"&gt;Ed Brill&lt;/a&gt;, I wish the Blogger BOF had included some time to see if anyone in the room was wondering how to start blogging.  As approachable as this group of bloggers is, some people need to be approached rather than doing the approaching.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Other&lt;/strong&gt;&lt;br /&gt;Labs – If I am able to go again, this is one area I want to make time to visit.  I was in the Meet the Developers and DPI labs but didn’t go in the Usability lab.  I wish I had so I could spend some time on Notes 8 and all the other software that is coming.&lt;br /&gt;&lt;br /&gt;Speedgeeking – This was phenomenal!  With all the positive feedback and (I expect) word of mouth, this could get to be huge.  And that would make it more difficult to pull off I think.  A couple of things I heard and agree with would be larger tables (maybe rectangular and a small mic/amplifier for each speaker to accommodate a larger group.&lt;br /&gt;&lt;br /&gt;Swan boat races – I had to bail on this (poor scheduling on my part – and thanks to &lt;a href="http://www.weightlessdog.com/shell.nsf"&gt;Turtle&lt;/a&gt; for filling in for me) but it was a lot of fun to watch.  Which leads me to…&lt;br /&gt;&lt;br /&gt;Community – I hope everyone gets to the end of the week and gets a sense of the community among the people who use this software.  I hope it isn’t just because of the group that I have connected with over the last couple of years.  It started with one person I corresponded with through Notes.net and has grown from there.  Maybe it comes from always feeling like we’re coming from behind (“Notes is Dead”, Notes has fewer seats sold, “there is a two-lane highway” – sorry, &lt;a href="http://www.alanlepofsky.net"&gt;Alan&lt;/a&gt;) but the people I know care very much about this software, how it is updated and how it is perceived in the market.  But most of all, they care about each other as people.  And that is hard to beat.&lt;br /&gt;&lt;br /&gt;Thanks for another great Lotusphere and I hope to be there again next year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8079345688851941379?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8079345688851941379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8079345688851941379&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8079345688851941379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8079345688851941379'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/lotusphere-2007-wrap-up.html' title='Lotusphere 2007 Wrap-Up'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8963942605220808712</id><published>2007-01-26T08:17:00.000-05:00</published><updated>2007-01-27T22:24:27.636-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2007'/><title type='text'>Lotusphere 2007: Final Day</title><content type='html'>Lotusphere 2007 is over.  After a full five days, my brain is tired from everything that has been added - and my feet and legs are tired from all the walking.&lt;br /&gt;&lt;br /&gt;Started the day (7am!) at the blogging Birds of a Feather.  Lots of people were there, including a lot of the most common bloggers you hear about.  This community has grown each year.  I said last night that we need to give some focus to keeping the community growing so we don't just become an echo chamber.  These people are all supportive of each other so contact anyone if you want to know more about blogging or wonder how to get started.&lt;br /&gt;&lt;br /&gt;I did a hands-on about Low-Fidelity Prototyping.  The idea is to develop the user interface first (before any coding) and use paper and pencil.  That way the users can feel free to change anything to make it work better for them.  It is a cool idea that I hope to try sometime soon.&lt;br /&gt;&lt;br /&gt;The Great Code Giveaway, by Rob Novak (the &lt;a href="http://www.lotusrockstar.com"&gt;LotusRockStar&lt;/a&gt;) and Viktor Kranz, had a lot of good things for web development.  That doesn't affect me a lot right now but may come in handy later.&lt;br /&gt;&lt;br /&gt;Gurupalooza got off to a kind of slow start but then got rolling.  Probably the biggest thing that came out of that was bloggingconnections.com.  That is where a Lotus Connections server will be, hosted by &lt;a href="http://www.idonotes.com"&gt;Chris Miller&lt;/a&gt; and Connectria, to help connect members of the Lotus community using the new Connections product.&lt;br /&gt;&lt;br /&gt;Ask the Developers was pretty calm.  Bob Balaban got razzed for not updating and finishing the LSX Toolkit, handed off the "traditional first question" and it went from there.  The last question was whether Lotus would ever use Connections to back a social networking (eg. dating) site and one of the developers said they already had a name: the Quickr Picker Upper.  It brought down the house.&lt;br /&gt;&lt;br /&gt;The Closing Session featured &lt;a href="http://research.amnh.org/~tyson"&gt;Neil deGrasse Tyson&lt;/a&gt;, an astrophysicist with the research section of the &lt;a href="http://research.amnh.org/"&gt;American Museum of Natural History&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My evening closed with dinner with around 30 other bloggers.  &lt;a href="http://www.edbrill.com"&gt;Ed Brill&lt;/a&gt; and &lt;a href="http://www.alanlepofsky.net"&gt;Alan Lepofsky&lt;/a&gt; joined us, not as reps from Lotus but as friends and fellow community members.  It was nice to talk with Alan, Ed, &lt;a href="http://www.billbuchan.com"&gt;Bill Buchan&lt;/a&gt;, Andrew Kelly and others.  Andrew was someone people lost track of during this past year and he said he was embarrassed that people had to work so hard to track him down.  We finally settled (I think) that it wasn't necessary to be embarrassed, but to feel good that people cared enough to look.&lt;br /&gt;&lt;br /&gt;Thanks to everyone for a great week.  I need to take some time to digest everything and organize my thoughts, but I am excited to get back and start putting some of these new things to use.  Hope to see you again next year (Jan. 20-24).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8963942605220808712?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8963942605220808712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8963942605220808712&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8963942605220808712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8963942605220808712'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/lotusphere-2007-final-day.html' title='Lotusphere 2007: Final Day'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1897369068872794905</id><published>2007-01-23T22:50:00.000-05:00</published><updated>2007-01-23T23:06:11.224-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2007'/><title type='text'>New (Radical?) Interface Ideas</title><content type='html'>Today, I attended the BP101 session on Why Interface Matters given by &lt;a href="http://www.interfacematters.com"&gt;Chris Blatnick&lt;/a&gt; and &lt;a href="http://www.lotus911.com/nathan/escape.nsf"&gt;Nathan T. Freeman&lt;/a&gt;.  All I can say is "WOW!!"  Talk about thinking out of the box!  I can't even describe all the cool things they showed in Notes applications:&lt;br /&gt;- All kinds of layers&lt;br /&gt;- Editing without putting the document into Edit mode&lt;br /&gt;- Embedded views and drag and drop in and out of folders&lt;br /&gt;&lt;br /&gt;Then in the OpenNTF Birds-of-a-Feather (BOF) session, Nathan asked about something how we improve interfaces in Notes applications.  Nathan, I think you just need to make your demo databases available in any manner possible.  Yes, they involve more work but they are so innovative that they demand a closer look.  The release of Notes 8 will provide the perfect opportunity for revamping applications since it will have such a dramatic effect on the overall user experience - the more people who can see these ideas, the better it will be.&lt;br /&gt;&lt;br /&gt;Personally, I look forward to spending some time dissecting Nathan's demo databases and updating the interfaces on some of our apps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1897369068872794905?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1897369068872794905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1897369068872794905&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1897369068872794905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1897369068872794905'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/new-radical-interface-ideas.html' title='New (Radical?) Interface Ideas'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-6723511777627428898</id><published>2007-01-23T07:36:00.000-05:00</published><updated>2007-02-01T08:25:35.510-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2007'/><title type='text'>Notes Phrases</title><content type='html'>I took two graphics that have been circulating and combined them so you can put them on your desktop if you want.  Earlier in the year, the "Yeah, Notes can do that" meme was started as an adjunct to Lotus marketing.  Then, right before Lotusphere, another idea (Notes Heroes) came out.  I put the two of them together:&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_Ba7FRw6fOf4/RbYB_pbPulI/AAAAAAAAAAM/PqNMfwBHtDA/s1600-h/NotesPhrases2.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_Ba7FRw6fOf4/RbYB_pbPulI/AAAAAAAAAAM/PqNMfwBHtDA/s320/NotesPhrases2.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5023204627341883986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let me know if you want a higher resolution version of the image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-6723511777627428898?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/6723511777627428898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=6723511777627428898&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6723511777627428898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6723511777627428898'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/notes-phrases.html' title='Notes Phrases'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_Ba7FRw6fOf4/RbYB_pbPulI/AAAAAAAAAAM/PqNMfwBHtDA/s72-c/NotesPhrases2.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-6349863408227096716</id><published>2007-01-23T07:15:00.000-05:00</published><updated>2007-01-23T07:27:55.829-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lotusphere2007'/><title type='text'>Lotusphere 2007: First Two Days</title><content type='html'>There are plenty of people posting a lot of information about what has been going on here, particularly around the opening general session and all the announcements, so I won't just repost all of that same information.  But I do have some observations.&lt;br /&gt;&lt;br /&gt;It was very cool to see and hear Neil Armstrong.  We just got done listening to a biography of him ("book on CD" called First Man) and learned what a humble man he is.  In that sense, he was a perfect choice to speak because I find that many people in the Lotus community are a lot like him: willing to give whatever they can to help others in the community and dedicated to the common good.&lt;br /&gt;&lt;br /&gt;I've been to a couple of things on web services and a number of sessions on the new composite application capability in Notes 8.  I'm REALLY excited about what is coming with the new client.  The code I have seen so far seems a little slow, but I still have only seen beta code running.  You can do very cool things and do them very easily.&lt;br /&gt;&lt;br /&gt;I also wish I were more of a Java developer because the Eclipse IDE is INCREDIBLY cool.  I'm hoping to see more about updates to Domino Designer and explore Component Designer a little too.&lt;br /&gt;&lt;br /&gt;Got some good information on writing readable code (my manager saw the session as well so I suspect there may be some new standards coming).&lt;br /&gt;&lt;br /&gt;JAMFest was fun.  Some interesting characters around (especially one dancing guy who galloped around the floor much of the night) and a few trainwrecks from the band.  A good time had by all.&lt;br /&gt;&lt;br /&gt;Off to breakfast and another long day.  But it is all worth it in the end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-6349863408227096716?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/6349863408227096716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=6349863408227096716&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6349863408227096716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6349863408227096716'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/lotusphere-2007-first-two-days.html' title='Lotusphere 2007: First Two Days'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7450383811857277126</id><published>2007-01-22T16:50:00.000-05:00</published><updated>2007-01-22T16:52:28.482-05:00</updated><title type='text'>Tron</title><content type='html'>I got the 20th Anniversary edition of Tron for Christmas (yes, I asked for it).  I put it on my iPaq and watched it on the flight down.  Didn't quite finish it but it was fun to see it again.  It definitely brought back memories.  It was groundbreaking in its own way and deserves a look (or another look) if you haven't seen it for a while.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7450383811857277126?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7450383811857277126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7450383811857277126&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7450383811857277126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7450383811857277126'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/tron.html' title='Tron'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-1149603929121074844</id><published>2007-01-21T23:32:00.000-05:00</published><updated>2007-01-22T16:50:14.902-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Lookup Names in Your Active Directory Global Catalog</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;We are a small Domino island is a large Microsoft sea. Recently, we implemented a web service that required access by non-Notes users to one of our Notes databases. As such, we needed a way to determine which documents those users were allowed to see and we decided to use their unique corporate identifier. Rather than forcing the users to type that information in (as well as the user's name so it was easy to identify) and/or look the names up manually in some external system, we developed a dialog that uses the Active Directory Service Interface objects.&lt;br /&gt;&lt;br /&gt;The form enables a user to enter a full or partial last name plus (optionally) a full or partial first name. When the Search button is clicked, the code looks in the Global Catalog and returns the list of names and unique IDs. Due to the 64K limit on fields, the list will only return 1000 names and will inform the user that there are more names and that they should refine their search term to reduce the list.&lt;br /&gt;&lt;br /&gt;In the code, doc.SearchString is the field on the dialog where the user enters what they are searching for. You need to replace GlobalCatalog.url with the path to your global catalog. I did not include the code but we also implemented a sort routine to provide the returned list in alphabetical order.&lt;br /&gt;&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Sub&lt;/span&gt; Click&lt;span class="ls-operator"&gt;(&lt;/span&gt;Source &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;Button&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; ws &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesUIWorkspace&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; doc &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; objConnection &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Variant&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; objCommand &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Variant&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; LastName &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; ID &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; FN &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; LN &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; nameSearch &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; NameList&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-function"&gt;Call&lt;/span&gt; NEMEnableWaitCursor&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; doc &lt;span class="ls-operator"&gt;=&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDocument&lt;span class="ls-operator"&gt;.&lt;/span&gt;Document&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; objConnection &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;CreateObject&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"ADODB.Connection"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; objConnection&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Open&lt;/span&gt; &lt;span class="ls-quote"&gt;"Provider=ADsDSOObject;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; objCommand &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;CreateObject&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"ADODB.Command"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; objCommand&lt;span class="ls-operator"&gt;.&lt;/span&gt;ActiveConnection &lt;span class="ls-operator"&gt;=&lt;/span&gt; objConnection&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-function"&gt;Instr&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;searchString&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;","&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  nameSearch &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"(sn="&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;searchString&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;"*));"&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;  nameSearch &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"(sn="&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-function"&gt;Strleft&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;searchString&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;","&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;amp;_&lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;   &lt;span class="ls-quote"&gt;"*)(givenName="&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-function"&gt;Strright&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;searchString&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;","&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;"*));"&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; objCommand&lt;span class="ls-operator"&gt;.&lt;/span&gt;CommandText &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-quote"&gt;"&lt;gc:&gt;;"&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-quote"&gt;"(&amp;amp;(objectCategory=person)(objectClass=user)"&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt; nameSearch &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-quote"&gt;"sAMAccountName, givenName, sn;subtree"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;On&lt;/span&gt; &lt;span class="ls-function"&gt;Error&lt;/span&gt; &lt;span class="ls-keyword"&gt;Goto&lt;/span&gt; LookupError&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; objRecordSet &lt;span class="ls-operator"&gt;=&lt;/span&gt; objCommand&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Execute&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;On&lt;/span&gt; &lt;span class="ls-function"&gt;Error&lt;/span&gt; &lt;span class="ls-statement"&gt;Resume&lt;/span&gt; &lt;span class="ls-statement"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; x &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0&lt;br /&gt; &lt;span class="ls-statement"&gt;Redim&lt;/span&gt; &lt;span class="ls-keyword"&gt;Preserve&lt;/span&gt; NameList&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;While&lt;/span&gt; &lt;span class="ls-operator"&gt;Not&lt;/span&gt; objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;EOF&lt;/span&gt;&lt;br /&gt;  ID &lt;span class="ls-operator"&gt;=&lt;/span&gt; objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;Fields&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"sAMAccountName"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;.&lt;/span&gt;value&lt;br /&gt; &lt;span class="ls-statement"&gt;Redim&lt;/span&gt; &lt;span class="ls-keyword"&gt;Preserve&lt;/span&gt; NameList&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-function"&gt;Isnull&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;Fields&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"sn"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;.&lt;/span&gt;Value&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;    LN &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;    LN &lt;span class="ls-operator"&gt;=&lt;/span&gt; objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;Fields&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"sn"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;.&lt;/span&gt;Value&lt;br /&gt;   &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-function"&gt;Isnull&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;Fields&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"givenName"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;.&lt;/span&gt;Value&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;    FN &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;    FN &lt;span class="ls-operator"&gt;=&lt;/span&gt; objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;Fields&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"givenName"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;.&lt;/span&gt;Value&lt;br /&gt;   &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;   NameList&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; LN &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;", "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; FN &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; nl &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;" ("&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; ID &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;")"&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;If&lt;/span&gt; x &lt;span class="ls-operator"&gt;&gt;&lt;/span&gt;&lt;span class="ls-operator"&gt;=&lt;/span&gt; 1000 &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"Your search produced a very large list of names so the list only "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt;&lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-quote"&gt;"includes the first 1,000 found.  If the name you are looking for is not in the list, " &amp;amp;_&lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-quote"&gt;    "try searching again with more of the last name and/or first name."&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;64&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Large Result"&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-keyword"&gt;Goto&lt;/span&gt; DisplayIt&lt;br /&gt;   &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;   x &lt;span class="ls-operator"&gt;=&lt;/span&gt; x &lt;span class="ls-operator"&gt;+&lt;/span&gt;1&lt;br /&gt;  &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;  objRecordset&lt;span class="ls-operator"&gt;.&lt;/span&gt;MoveNext&lt;br /&gt; &lt;span class="ls-statement"&gt;Wend&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DisplayIt&lt;span class="ls-operator"&gt;:&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-function"&gt;Call&lt;/span&gt; NEMDisableWaitCursor&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; NameList&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"No users found meeting your criteria; please revise " &amp;_&lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-quote"&gt;  "and try again"&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;64&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Name Lookup"&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; objConnection&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Close&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;searchResults &lt;span class="ls-operator"&gt;=&lt;/span&gt; sortValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;NameList&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-function"&gt;Call&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDocument&lt;span class="ls-operator"&gt;.&lt;/span&gt;Reload&lt;br /&gt; &lt;span class="ls-function"&gt;Call&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDocument&lt;span class="ls-operator"&gt;.&lt;/span&gt;Refresh&lt;br /&gt; &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LookupError&lt;span class="ls-operator"&gt;:&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"The search caused an error, most likely because you " &amp;amp;_&lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-quote"&gt;  "are not on the network.  Please try the lookup again later."&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;48&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Error"&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-function"&gt;Call&lt;/span&gt; NEMDisableWaitCursor&lt;br /&gt; objConnection&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Close&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt; MARGIN: 5px 50px; BORDER-LEFT: 1px solid; COLOR: gray; BORDER-BOTTOM: 1px solid; FONT-FAMILY: sans-serif"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-1149603929121074844?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/1149603929121074844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=1149603929121074844&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1149603929121074844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/1149603929121074844'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/sntt-lookup-names-in-your-active.html' title='SnTT: Lookup Names in Your Active Directory Global Catalog'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-8863005255824049963</id><published>2007-01-11T12:16:00.000-05:00</published><updated>2007-01-11T12:19:26.141-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gadgets'/><title type='text'>eCoupled Looks Kewl!</title><content type='html'>I just saw &lt;a href="http://www.infoworld.com/article/07/01/11/HNwirelesspower_1.html"&gt;this article&lt;/a&gt; about &lt;a href="http://www.ecoupled.com"&gt;eCoupled&lt;/a&gt;. It is a system to provide recharge capabilities without any wires (well, except maybe for one for the eCoupled device to plug in).  Assuming they can get this commercialized and it isn't really expensive, I'd be all over this. I thought the iGo products were cool but this beats all that!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-8863005255824049963?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/8863005255824049963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=8863005255824049963&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8863005255824049963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/8863005255824049963'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/ecoupled-looks-kewl.html' title='eCoupled Looks Kewl!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-5229781371137087778</id><published>2007-01-11T11:36:00.000-05:00</published><updated>2007-01-11T12:04:48.247-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Sorting a NotesDocumentCollection - Ascending *or* Descending</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;Finally I have time for another SNTT post! This one shows, I suppose, the power of the collaboration that goes on in the Notes/Domino community.&lt;br /&gt;&lt;br /&gt;I needed to be able to sort a collection of documents for my &lt;a href="http://dmcnally.blogspot.com/2006/08/sntt-web-services-that-return-arrays.html"&gt;web service project&lt;/a&gt; and was lucky enough to find pretty much the &lt;a href="http://per.lausten.dk/blog/2006/10/sorting-notesdocumentcollection-by.html"&gt;exact code I needed&lt;/a&gt; at Per Henrik Lausten's site. He had taken code from a couple of other guys and combined it together. The one thing it didn't do which I needed was to be able to sort in Ascending or Descending order.&lt;br /&gt;&lt;br /&gt;It was a pretty easy change to make. And here is the code. Note: I only include the sortCollection code because that is all I changed - you will need the sortValues code from Per Henrik's or &lt;a href="http://www.joelitton.net"&gt;Joe Litton's&lt;/a&gt; site for everything to work.&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Function&lt;/span&gt; sortCollection&lt;span class="ls-operator"&gt;(&lt;/span&gt;coll &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocumentCollection&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; fieldnames&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; &lt;/div&gt;&lt;div class="lotusscript"&gt;sortOrder &lt;span class="ls-keyword"&gt;as&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocumentCollection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Description:&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Sorts and returns a NotesDocumentCollection&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Fieldnames parameter is an array of strings&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' with the field names to be sorted on&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' &lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Modified by Don McNally, December 2006 - http://dmcnally.blogspot.com/&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' &lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Based on code by:&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Max Flodén - &lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-comment"&gt;http://www.tjitjing.com/blog/2006/05/how-to-sort-notesdocumentcollection-in.html&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Joe Litton - http://joelitton.net/A559B2/home.nsf/d6plinks/JLIN-5ZU3WH&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Peter von Stöckel - &lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-comment"&gt;http://www.bananahome.com/users/bananahome/blog.nsf/d6plinks/PSTL-6UWC7K&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Per Henrik Lausten, November 2006 - &lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-comment"&gt;http://per.lausten.dk/blog/2006/10/sorting-notesdocumentcollection-by.html &lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Example of use&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Dim fieldnames(0 To 2) As String&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' fieldnames(0) = "SKU"&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' fieldnames(1) = "OrderDate"&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' fieldnames(2) = "Client"&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Set collection = SortCollection (collection, fieldnames) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; session &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesSession&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; db &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDatabase&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; collSorted &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocumentCollection&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; doc &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; i &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; n &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Long&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; arrSort&lt;span class="ls-operator"&gt;,&lt;/span&gt; strSort &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; loopCount &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; loopStart &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; loopEnd &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; loopStep &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; db &lt;span class="ls-operator"&gt;=&lt;/span&gt; session&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDatabase&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' --- 1) Build array to be sorted&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-comment"&gt;'Fill array with fieldvalues and docid and get max field length&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Redim&lt;/span&gt; arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; coll&lt;span class="ls-operator"&gt;.&lt;/span&gt;Count &lt;span class="ls-operator"&gt;-&lt;/span&gt;1&lt;span class="ls-operator"&gt;,&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Redim&lt;/span&gt; arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;For&lt;/span&gt; i &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; coll&lt;span class="ls-operator"&gt;.&lt;/span&gt;Count &lt;span class="ls-operator"&gt;-&lt;/span&gt; 1&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; doc &lt;span class="ls-operator"&gt;=&lt;/span&gt; coll&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetNthDocument&lt;span class="ls-operator"&gt;(&lt;/span&gt;i &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;For&lt;/span&gt; n &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;br /&gt;  &lt;br /&gt;   &lt;span class="ls-statement"&gt;If&lt;/span&gt; n &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1 &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;    arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;i&lt;span class="ls-operator"&gt;,&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;UniversalID&lt;br /&gt;    arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; 32&lt;br /&gt;   &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;    arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;i&lt;span class="ls-operator"&gt;,&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetItemValue&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;(&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-comment"&gt;' Check length of field value&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-keyword"&gt;Len&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;i&lt;span class="ls-operator"&gt;,&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;&gt;&lt;/span&gt; arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;     arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-keyword"&gt;Len&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;i&lt;span class="ls-operator"&gt;,&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class="ls-statement"&gt;Next&lt;/span&gt; n&lt;br /&gt; &lt;span class="ls-statement"&gt;Next&lt;/span&gt; i&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-comment"&gt;'Merge fields into array that can be used for sorting using the sortValues function&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; aryFieldValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;For&lt;/span&gt; i &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; coll&lt;span class="ls-operator"&gt;.&lt;/span&gt;Count &lt;span class="ls-operator"&gt;-&lt;/span&gt; 1 &lt;br /&gt;  &lt;span class="ls-statement"&gt;Redim&lt;/span&gt; &lt;span class="ls-keyword"&gt;Preserve&lt;/span&gt; aryFieldValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;1 &lt;span class="ls-statement"&gt;To&lt;/span&gt; i&lt;span class="ls-operator"&gt;+&lt;/span&gt;1&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;  strSort &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;For&lt;/span&gt; n &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;Lbound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-statement"&gt;To&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;fieldnames&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;br /&gt;   strSort &lt;span class="ls-operator"&gt;=&lt;/span&gt; strSort &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-function"&gt;Left&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;i&lt;span class="ls-operator"&gt;,&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-function"&gt;Space&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; arrFieldValueLength&lt;span class="ls-operator"&gt;(&lt;/span&gt;n&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Next&lt;/span&gt; n&lt;br /&gt; &lt;br /&gt;  aryFieldValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;i&lt;span class="ls-operator"&gt;+&lt;/span&gt;1&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; strSort&lt;br /&gt; &lt;span class="ls-statement"&gt;Next&lt;/span&gt; i&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' --- 2) Sort array using sortValues function by Joe Litton&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt; arrSort &lt;span class="ls-operator"&gt;=&lt;/span&gt; sortValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;aryFieldValues&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' --- 3) Use sorted array to sort collection&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; collSorted &lt;span class="ls-operator"&gt;=&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetProfileDocCollection&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"Foo"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;  &lt;span class="ls-comment"&gt;' create an empty NotesDocumentCollection&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-function"&gt;ucase&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;sortOrder&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"D"&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  loopStart &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrSort&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  loopEnd &lt;span class="ls-operator"&gt;=&lt;/span&gt; 1&lt;br /&gt;  loopStep &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-operator"&gt;-&lt;/span&gt;1&lt;br /&gt; &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;  loopStart &lt;span class="ls-operator"&gt;=&lt;/span&gt; 1&lt;br /&gt;  loopEnd &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrSort&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  loopStep &lt;span class="ls-operator"&gt;=&lt;/span&gt; 1&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;For&lt;/span&gt; loopCount &lt;span class="ls-operator"&gt;=&lt;/span&gt; loopStart &lt;span class="ls-statement"&gt;To&lt;/span&gt; loopEnd &lt;span class="ls-statement"&gt;Step&lt;/span&gt; loopStep&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; doc &lt;span class="ls-operator"&gt;=&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetDocumentByUNID&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-function"&gt;Right&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;arrSort&lt;span class="ls-operator"&gt;(&lt;/span&gt;loopCount&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; 32&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-function"&gt;Call&lt;/span&gt; collSorted&lt;span class="ls-operator"&gt;.&lt;/span&gt;AddDocument&lt;span class="ls-operator"&gt;(&lt;/span&gt;doc&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' --- 4) Return collection&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' ---&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; SortCollection &lt;span class="ls-operator"&gt;=&lt;/span&gt; collSorted&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Function&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt; MARGIN: 5px 50px; BORDER-LEFT: 1px solid; COLOR: gray; BORDER-BOTTOM: 1px solid; FONT-FAMILY: sans-serif"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;I had some thoughts about extending the code even further to allow different sort orders for the different fields (like Ascending on the first field and Descending on the second) but didn't end up needing it for my project. Hope you find this useful.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-5229781371137087778?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/5229781371137087778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=5229781371137087778&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5229781371137087778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/5229781371137087778'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/sntt-sorting-notesdocumentcollection.html' title='SnTT: Sorting a NotesDocumentCollection - Ascending *or* Descending'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-6926442695058274373</id><published>2007-01-10T16:32:00.000-05:00</published><updated>2007-01-10T20:59:54.142-05:00</updated><title type='text'>Looking for an RSS reader?</title><content type='html'>I use an RSS reader application to keep up with some of the feeds I read.  I use Thunderbird for some of them and I have tested Google Reader but I also use a dedicated RSS reader application for the majority of my feeds.&lt;br /&gt;&lt;br /&gt;I started out with FeedReader but at version 2.9 it stopped working behind our firewall.  I looked at SharpReader but it also had problems behind the firewall.  Then I went to RSSReader and I liked it but it got to the point where it was getting very long in the tooth (read: it wasn't being updated).&lt;br /&gt;&lt;br /&gt;Then I found &lt;a href="http://www.rssowl.org/"&gt;RSSOwl&lt;/a&gt; (it was on a &lt;a href="http://www.thesimpledollar.com/2006/12/01/30-essential-pieces-of-free-and-open-software-for-windows/"&gt;this list&lt;/a&gt;).  It is a free open-source app built on Eclipse and, so far (since November), has met all my needs and expectations.  It has kind of a cool interface in that each feed opens in a tab so you can switch from one feed to another and not lose track of where you were.  It reads RSS, RDF and Atom feeds and I haven't hit one yet it couldn't read (RSSReader complained a lot about "broken" feeds).&lt;br /&gt;&lt;br /&gt;Check it out if you like to use an RSS reader app and don't mind getting one for free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-6926442695058274373?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/6926442695058274373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=6926442695058274373&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6926442695058274373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/6926442695058274373'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/looking-for-rss-reader.html' title='Looking for an RSS reader?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-7112035072768244745</id><published>2007-01-08T09:15:00.000-05:00</published><updated>2007-01-08T09:26:42.677-05:00</updated><title type='text'>Reviving?</title><content type='html'>Like &lt;a href="http://jonvon.net/jonvon/blog/blog.nsf/dx/rounding-the-bend.htm"&gt;jonvon&lt;/a&gt;, I've been pretty quiet lately. I've been reading blogs but haven't had a lot of time to post anything of my own. I hope to try to get back to it, at least for SNTT.&lt;br /&gt;&lt;br /&gt;Anyway, I found &lt;a href="http://www.lifehacker.com"&gt;LifeHacker&lt;/a&gt; a while back and have found some really cool tips on it.  It's one of my new favorite feeds/sites.  In fact, one of the Christmas presents I asked for (and got), a GorillaPod, was because I saw it on LifeHacker.  Not everything is applicable but there are usually a couple of things a week that I wouldn't have thought of otherwise.  Like &lt;a href="http://www.lifehacker.com/software/screensaver/use-your-my-pictures-folder-as-a-screensaver-226559.php"&gt;this one&lt;/a&gt; (great if you have younger kids).&lt;br /&gt;&lt;br /&gt;Another site I found thanks to LifeHacker is &lt;a href="http://www.givewayoftheday.com"&gt;GiveawayOfTheDay&lt;/a&gt;.  They work with software vendors to have a piece of software you normally have to pay for be available for free for a day.  You have to download, install and activate the software that day for it to be free and I think you'd have to purchase it if it needed to be reinstalled later, but I've had a couple of things in the couple of weeks I've been subscribed to their feed.&lt;br /&gt;&lt;br /&gt;That's my public service for today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-7112035072768244745?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/7112035072768244745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=7112035072768244745&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7112035072768244745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/7112035072768244745'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2007/01/reviving.html' title='Reviving?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-116161241014861379</id><published>2006-10-23T10:03:00.000-04:00</published><updated>2006-10-23T10:06:50.163-04:00</updated><title type='text'>Help an iPod Find Its Home</title><content type='html'>I saw &lt;a href="http://blogs.zdnet.com/BTL/?p=3810"&gt;this post&lt;/a&gt; this morning on David Berlind's blog at ZDNet. I have no illusions that anybody who reads this blog owns the iPod in question, or even knows the person who does, but I thought it sounded like an interesting experiment if nothing else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-116161241014861379?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/116161241014861379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=116161241014861379&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/116161241014861379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/116161241014861379'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/10/help-ipod-find-its-home.html' title='Help an iPod Find Its Home'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-116137024543093155</id><published>2006-10-20T14:45:00.000-04:00</published><updated>2006-10-23T10:15:41.083-04:00</updated><title type='text'>Not the sharpest knife in the drawer...</title><content type='html'>You don't tug on Superman's cape, you don't spit into the wind, you don't make jokes at an airport security checkpoint, and you don't have a &lt;a href="http://sports.espn.go.com/nfl/news/story?id=2631676"&gt;"who can write the scariest threat contest"&lt;/a&gt; on the Internet.  Hey, dude, you apparently won!&lt;br /&gt;&lt;br /&gt;Even in these days where political correctness and "message control" are in full effect, there is a line between speaking freely and being stupid.  He appears to be the only prize winner in the "contest".  He shouldn't go to prison for doing something stupid but let's hope this is the end of his 15 minutes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-116137024543093155?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/116137024543093155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=116137024543093155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/116137024543093155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/116137024543093155'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/10/not-sharpest-knife-in-drawer.html' title='Not the sharpest knife in the drawer...'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-116134899337837662</id><published>2006-10-20T08:23:00.000-04:00</published><updated>2006-10-20T08:56:33.400-04:00</updated><title type='text'>Tigers and K-Wings and Snow.  Oh My!</title><content type='html'>Has it really been that long since I posted something here?  Boy, you'd think I had other things going on or something.&lt;br /&gt;&lt;br /&gt;Anyway, how about those &lt;a href="http://www.detroittigers.com"&gt;Tigers&lt;/a&gt;?  A rematch of '68 (and '34 for that matter).  My father-in-law has started getting our 8-year-old into watching baseball so I have a feeling we'll be watching as many of the games as possible.  Unfortunately, MLB is still starting the games late enough to make it hard for younger school-age kids to be able to see them.  And we won't see much of game 1 anyway because...&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.kwings.com"&gt;Kalamazoo Wings (2005-06 Colonial Cup Champions)&lt;/a&gt; have their home opener tomorrow night.  After their first championship in 26 years, they will raise the banner and unveil their rings.  It should be a lot of fun, including indoor fireworks. Hope the baseball game doesn't keep the crowd down too much.&lt;br /&gt;&lt;br /&gt;We had our first snow last week.  It's gone and has been relatively warm this past week but we're heading into another cold spell and they are using the "s" word again for Sunday and early next week.  It's way too early for snow, but that's Michigan weather for you.  I missed it last week because I was in Puerto Rico but won't be so lucky this time.&lt;br /&gt;&lt;br /&gt;Oh, and I get to go to Lotusphere again!  Woohoo (or is it w00t?)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-116134899337837662?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/116134899337837662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=116134899337837662&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/116134899337837662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/116134899337837662'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/10/tigers-and-k-wings-and-snow-oh-my.html' title='Tigers and K-Wings and Snow.  Oh My!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-115652988173682170</id><published>2006-08-25T13:49:00.000-04:00</published><updated>2006-08-30T16:19:59.756-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Web Services that Return Arrays</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;Be prepared: this is a longer post than usual.  I wrote my first web service the other day. I was pretty excited the first time it actually worked (if you use Visual Studio to develop, always remember to save your work before you try to test your code!). So, aside from not saving my code before testing, the thing that slowed me down the most was figuring out how to handle the data that was coming back from the web service. I was sending back an array of a user-defined class and while I found a couple of &lt;a href="http://www-128.ibm.com/developerworks/lotus/library/nd7-webservices/"&gt;good&lt;/a&gt; &lt;a href="http://www6.software.ibm.com/dw/education/ls/lsdomino7ws"&gt;articles (IBM ID required on this one)&lt;/a&gt; on writing the web service so it would return what I wanted, I couldn't find anything about how to handle it in the calling program. But now that I have figured it out, I thought I'd share with the class.&lt;br /&gt;&lt;br /&gt;This is a scaled down version of my web service code:&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-keyword"&gt;Public&lt;/span&gt; &lt;span class="ls-statement"&gt;Class&lt;/span&gt; OneIssue&lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; IssueNumber &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; IssueTitle &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; IssueDesc &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; IssueStatus &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; IssueTargetDate &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt; ReadValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;doc &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  IssueNumber &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;IssueNumber&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  IssueTitle &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;IssueTitle&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  IssueDesc &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;IssueDesc&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  IssueStatus &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;TrackingDisposition&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  IssueTargetDate &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;TargetCompletion&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-keyword"&gt;Public&lt;/span&gt; &lt;span class="ls-statement"&gt;Class&lt;/span&gt; IssueArray&lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; MultipleIssues&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; OneIssue&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-keyword"&gt;Public&lt;/span&gt; &lt;span class="ls-statement"&gt;Class&lt;/span&gt; LOBReport&lt;br /&gt; &lt;span class="ls-keyword"&gt;Private&lt;/span&gt; session &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesSession&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;Private&lt;/span&gt; db &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDatabase&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; session &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesSession&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; db &lt;span class="ls-operator"&gt;=&lt;/span&gt; session&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDatabase&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt; &lt;span class="ls-statement"&gt;Function&lt;/span&gt; GetIssues&lt;span class="ls-operator"&gt;(&lt;/span&gt;OrgUnit &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; IssueArray&lt;br /&gt;  &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; dc &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocumentCollection&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; docIssue &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; view &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesView&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; x &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; GetIssues &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; IssueArray&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; view &lt;span class="ls-operator"&gt;=&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetView&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"ByBusUnit"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; dc &lt;span class="ls-operator"&gt;=&lt;/span&gt; view&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetAllDocumentsByKey&lt;span class="ls-operator"&gt;(&lt;/span&gt;OrgUnit&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-operator"&gt;Not&lt;/span&gt; dc &lt;span class="ls-operator"&gt;Is&lt;/span&gt; &lt;span class="ls-constant"&gt;Nothing&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;   x &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0&lt;br /&gt;   &lt;span class="ls-statement"&gt;Set&lt;/span&gt; docIssue &lt;span class="ls-operator"&gt;=&lt;/span&gt; dc&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetFirstDocument&lt;br /&gt;   &lt;span class="ls-statement"&gt;While&lt;/span&gt; &lt;span class="ls-operator"&gt;Not&lt;/span&gt; docIssue &lt;span class="ls-operator"&gt;Is&lt;/span&gt; &lt;span class="ls-constant"&gt;Nothing&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-statement"&gt;Redim&lt;/span&gt; &lt;span class="ls-keyword"&gt;Preserve&lt;/span&gt; GetIssues&lt;span class="ls-operator"&gt;.&lt;/span&gt;MultipleIssues&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-statement"&gt;Set&lt;/span&gt; GetIssues&lt;span class="ls-operator"&gt;.&lt;/span&gt;MultipleIssues&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; OneIssue&lt;br /&gt;    GetIssues&lt;span class="ls-operator"&gt;.&lt;/span&gt;MultipleIssues&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;.&lt;/span&gt;ReadValues&lt;span class="ls-operator"&gt;(&lt;/span&gt;docIssue&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;    x &lt;span class="ls-operator"&gt;=&lt;/span&gt; x &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;br /&gt;    &lt;span class="ls-statement"&gt;Set&lt;/span&gt; docIssue &lt;span class="ls-operator"&gt;=&lt;/span&gt; dc&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetNextDocument&lt;span class="ls-operator"&gt;(&lt;/span&gt;docIssue&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;Wend&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Function&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt; MARGIN: 5px 50px; BORDER-LEFT: 1px solid; COLOR: gray; BORDER-BOTTOM: 1px solid; FONT-FAMILY: sans-serif"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Notice the classes at the top that define a single record of the class and the array of the first class. So what do you do with that in your calling program? My front end is a "proof of concept" at this point so I used Visual Studio.net to create a small Windows program. I won't get into the details of setting up your VS.net project and referencing the web service, but this is the code that calls the web service and handles the returned value:&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;        &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; LOBReport &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; webserverreference&lt;span class="ls-operator"&gt;.&lt;/span&gt;LOBReportService&lt;br /&gt;        &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; retval &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; webserverreference&lt;span class="ls-operator"&gt;.&lt;/span&gt;ISSUEARRAY&lt;br /&gt;        &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; x &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;br /&gt;        &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; y &lt;span class="ls-keyword"&gt;As&lt;/span&gt; webserverreference&lt;span class="ls-operator"&gt;.&lt;/span&gt;ONEISSUE&lt;br /&gt;        &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; z &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;br /&gt;        &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;String&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        TextBox1&lt;span class="ls-operator"&gt;.&lt;/span&gt;Clear&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;        z &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0&lt;br /&gt;        retval &lt;span class="ls-operator"&gt;=&lt;/span&gt; LOBReport&lt;span class="ls-operator"&gt;.&lt;/span&gt;GETISSUES&lt;span class="ls-operator"&gt;(&lt;/span&gt;ComboBox1&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-constant"&gt;Text&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;        &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-operator"&gt;Not&lt;/span&gt; retval&lt;span class="ls-operator"&gt;.&lt;/span&gt;MULTIPLEISSUES &lt;span class="ls-operator"&gt;Is&lt;/span&gt; &lt;span class="ls-constant"&gt;Nothing&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;            &lt;span class="ls-statement"&gt;For&lt;/span&gt; x &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;To&lt;/span&gt; &lt;span class="ls-function"&gt;UBound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;retval&lt;span class="ls-operator"&gt;.&lt;/span&gt;MULTIPLEISSUES&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;                y &lt;span class="ls-operator"&gt;=&lt;/span&gt; retval&lt;span class="ls-operator"&gt;.&lt;/span&gt;MULTIPLEISSUES&lt;span class="ls-operator"&gt;(&lt;/span&gt;x&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span class="ls-statement"&gt;ReDim&lt;/span&gt; &lt;span class="ls-keyword"&gt;Preserve&lt;/span&gt; strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-function"&gt;UBound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;strings&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; 6&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;                strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;z&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"Issue Number: "&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; y&lt;span class="ls-operator"&gt;.&lt;/span&gt;ISSUENUMBER&lt;br /&gt;                strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;z &lt;span class="ls-operator"&gt;+&lt;/span&gt; 1&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"Issue Title: "&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; y&lt;span class="ls-operator"&gt;.&lt;/span&gt;ISSUETITLE&lt;br /&gt;                strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;z &lt;span class="ls-operator"&gt;+&lt;/span&gt; 2&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"Issue Description: "&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; y&lt;span class="ls-operator"&gt;.&lt;/span&gt;ISSUEDESC&lt;br /&gt;                strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;z &lt;span class="ls-operator"&gt;+&lt;/span&gt; 3&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"Issue Status (LOB): "&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; y&lt;span class="ls-operator"&gt;.&lt;/span&gt;ISSUESTATUS&lt;br /&gt;                strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;z &lt;span class="ls-operator"&gt;+&lt;/span&gt; 4&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"Issue Target Completion: "&lt;/span&gt; &lt;span class="ls-operator"&gt;+&lt;/span&gt; y&lt;span class="ls-operator"&gt;.&lt;/span&gt;ISSUETARGETDATE&lt;br /&gt;                strings&lt;span class="ls-operator"&gt;(&lt;/span&gt;z &lt;span class="ls-operator"&gt;+&lt;/span&gt; 5&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;br /&gt;                z &lt;span class="ls-operator"&gt;=&lt;/span&gt; z &lt;span class="ls-operator"&gt;+&lt;/span&gt; 6&lt;br /&gt;            &lt;span class="ls-statement"&gt;Next&lt;/span&gt;&lt;br /&gt;            TextBox1&lt;span class="ls-operator"&gt;.&lt;/span&gt;Lines &lt;span class="ls-operator"&gt;=&lt;/span&gt; strings&lt;br /&gt;        &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;            TextBox1&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-constant"&gt;Text&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"No records found, or user not authorized for business unit"&lt;/span&gt;&lt;br /&gt;        &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;    &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;At the top, I define objects of the type defined in the classes in my web service, both the single item class and the array class. Then I loop through the array and process each item in it as an instance of my single item class.&lt;br /&gt;&lt;br /&gt;Maybe the problems I had were because I haven't used Visual Basic much, but I hope putting this out here saves someone else some time.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;br /&gt;Categories: &lt;em&gt;Show-n-Tell Thursday_&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-115652988173682170?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/115652988173682170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=115652988173682170&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115652988173682170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115652988173682170'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/08/sntt-web-services-that-return-arrays.html' title='SnTT: Web Services that Return Arrays'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-115383998907029970</id><published>2006-07-25T11:00:00.000-04:00</published><updated>2006-07-25T11:06:29.073-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Youth Ministry'/><title type='text'>Why So Quiet?</title><content type='html'>For those (three - haha) of you who read this, sorry I have been out of touch the last couple of weeks.  I just returned from my annual trip to Dayton for &lt;a href="http://www.udayton.edu/~LIFE"&gt;Marianist LIFE Central&lt;/a&gt; (more info &lt;a href="http://www.marianist.com/life"&gt;here&lt;/a&gt;).  Each summer, we have a week-long retreat for high school students and I am on the planning/coordinating team, plus the lead music minister.&lt;br /&gt;&lt;br /&gt;We had a community of 66 students and 31 adult moderators and had a great week.  I'm still kind of tired but it was all worth it, as usual.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-115383998907029970?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/115383998907029970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=115383998907029970&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115383998907029970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115383998907029970'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/07/why-so-quiet.html' title='Why So Quiet?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-115383964030747211</id><published>2006-07-25T10:17:00.000-04:00</published><updated>2006-07-25T11:00:40.320-04:00</updated><title type='text'>eWeek Article on Competitors to Exchange 2007</title><content type='html'>Saw &lt;a href="http://www.eweek.com/article2/0,1759,1993705,00.asp?kc=EWRSS03119TX1K0000594"&gt;this article&lt;/a&gt; in eWeek describing some of the competitors to the upcoming Exchange 2007.  Some good quotes from Ken Bisconti are in there.&lt;br /&gt;&lt;br /&gt;My question is why the only quotes related to Notes/Domino are from IBMers (well, except for the "senior solutions engineer" who has used Lotus Notes in the past but "feels that has a much more user friendly end-user experience with Exchange")?  Where are the business partners, integrators and non-IBM evangelists?  The article links to the Application Analyzer and Data Migrator tools, which have been thoroughly dissected by &lt;a href="http://www.pmooney.net/"&gt;Paul Mooney&lt;/a&gt;, &lt;a href="http://workdomosphere.blogspot.com/"&gt;David DeWell&lt;/a&gt; and others but there is no mention of how the tools may not work all that well.  Heck, a simple Google search turns up both Paul's and David's analyses in the first 10 results.&lt;br /&gt;&lt;br /&gt;Maybe some in our community need to make themselves known to more journalists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-115383964030747211?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/115383964030747211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=115383964030747211&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115383964030747211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115383964030747211'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/07/eweek-article-on-competitors-to.html' title='eWeek Article on Competitors to Exchange 2007'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-115227552597901176</id><published>2006-07-07T08:12:00.000-04:00</published><updated>2006-07-07T08:32:05.993-04:00</updated><title type='text'>Goodbye, Stevie Y.</title><content type='html'>I can't believe that &lt;a href="http://www.dominounplugged.com"&gt;Rob&lt;/a&gt; and &lt;a href="http://www.thepridelands.com"&gt;The Lion King&lt;/a&gt; haven't posted anything about this (but &lt;a href="http://www.notesgirl.com/philrandolph/philrandolph.nsf"&gt;Phil&lt;/a&gt; has), but I was saddened to see Steve Yzerman retire from the Red Wings.  I know it had to happen some time and that the last couple of years have been painful for him (and, at times, painful to watch) but it is still sad.&lt;br /&gt;&lt;br /&gt;He has been my favorite player since I started really following the Wings about 20 years ago.  From his early days of flying around the ice, seemingly scoring goals at will, to the later years of making the necessary plays and steadying the ship when needed, he has been fun to watch.  I still wince when I think about him sliding into the goal post and wrecking his knee.  And I can still picture a few years ago playing against Pittsburgh, weaving through players and scoring while being ridden toward the boards and skating on one leg.&lt;br /&gt;&lt;br /&gt;I doubt I will ever get one (because I don't really need it), but I've always said if I bought another hockey jersey, it would be a white #19 Red Wings jersey.  Too bad they won't have a Stanley Cup banner to raise at the same time they retire his number this fall.  Thanks, Steve!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-115227552597901176?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/115227552597901176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=115227552597901176&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115227552597901176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115227552597901176'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/07/goodbye-stevie-y.html' title='Goodbye, Stevie Y.'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-115152257275768714</id><published>2006-06-28T15:18:00.000-04:00</published><updated>2006-06-28T15:22:52.780-04:00</updated><title type='text'>I Write English Real Goodly</title><content type='html'>Saw this on SI.com:&lt;br /&gt;&lt;blockquote&gt;... had methamphetamine in his system when his pickup truck drifted off a desert highway and was killed, a coroner's autopsy showed.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The poor pickup truck was killed.  A tragedy.&lt;br /&gt;&lt;br /&gt;I'd provide a link but I'm sure a corrected version will be posted before too long.&lt;br /&gt;&lt;br /&gt;The "new media" often provides news faster but with some unintended (probably) language gaffes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-115152257275768714?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/115152257275768714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=115152257275768714&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115152257275768714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115152257275768714'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/06/i-write-english-real-goodly.html' title='I Write English Real Goodly'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-115098566834098422</id><published>2006-06-22T09:36:00.000-04:00</published><updated>2006-06-28T15:25:50.710-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: JDBC in Notes</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;I just finished with my first use of JDBC in a Notes application to access DB2 and thought I'd share. Initially, I looked at ODBC, but that required setting up a connection in the ODBC Data Sources on the client machine and I really wanted something that would "just work" without having to do anything to the client machines. I had seen a while back some code to automatically create that Data Source but was never able to get it to work in our environment.&lt;br /&gt;&lt;br /&gt;First is the Java agent that makes the connection and performs the query in DB2.&lt;br /&gt;&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: fuchsia; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-operator"&gt;import&lt;/span&gt; lotus.domino.*;&lt;br /&gt;&lt;span class="ls-operator"&gt;import&lt;/span&gt; java.sql.*;&lt;br /&gt;&lt;span class="ls-operator"&gt;import&lt;/span&gt; java.util.*;&lt;br /&gt;&lt;span class="ls-operator"&gt;import&lt;/span&gt; javax.swing.JOptionPane;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-keyword"&gt;public&lt;/span&gt; &lt;span class="ls-statement"&gt;class&lt;/span&gt; DB2Lookup extends AgentBase &lt;span class="ls-quote"&gt;{&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private static&lt;/span&gt; String dbuser = &lt;span class="ls-constant"&gt;"userid"&lt;/span&gt;;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private static&lt;/span&gt; String dbpwd = &lt;span class="ls-constant"&gt;"pswd"&lt;/span&gt;;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private static&lt;/span&gt; String _url = &lt;span class="ls-constant"&gt;"jdbc:db2://fully.qualified.server:db2portid/dbname"&lt;/span&gt;;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private static&lt;/span&gt; String _drv = &lt;span class="ls-constant"&gt;"com.ibm.db2.jcc.DB2Driver"&lt;/span&gt;;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private&lt;/span&gt; java.sql.ResultSet rs;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private&lt;/span&gt; java.sql.Statement stmt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;private&lt;/span&gt; java.sql.Connection con;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-keyword"&gt;public&lt;/span&gt; String[] NotesMain(String tableID, String custNum, String custName) {&lt;br /&gt;  Vector vec = &lt;span class="ls-keyword"&gt;new&lt;/span&gt; Vector();&lt;br /&gt;  &lt;span class="ls-keyword"&gt;try&lt;/span&gt; {&lt;br /&gt;   Class.forName(_drv);&lt;br /&gt;   &lt;span class="ls-keyword"&gt;Properties&lt;/span&gt; p = &lt;span class="ls-keyword"&gt;new&lt;/span&gt; Properties();&lt;br /&gt;   p.put(&lt;span class="ls-constant"&gt;"user"&lt;/span&gt;, dbuser);&lt;br /&gt;   p.put(&lt;span class="ls-constant"&gt;"password"&lt;/span&gt;, dbpwd);&lt;br /&gt;   con = DriverManager.getConnection(_url, p);&lt;br /&gt;   stmt = con.createStatement();&lt;br /&gt;   rs = stmt.executeQuery(&lt;span class="ls-constant"&gt;"SELECT DISTINCT NAME,CUSTNUM FROM SCHEMA."&lt;/span&gt; + &lt;br /&gt;   tableID + &lt;span class="ls-constant"&gt;" WHERE CUSTNUM='"&lt;/span&gt; + custNum + &lt;br /&gt;   &lt;span class="ls-constant"&gt;"' AND UPPER(NAME) LIKE('%"&lt;/span&gt; + custName.toUpperCase() +&lt;br /&gt;   &lt;span class="ls-constant"&gt;"%') ORDER BY NAME")&lt;/span&gt;;&lt;br /&gt;    &lt;span class="ls-keyword"&gt;while&lt;/span&gt; (rs.next()) {&lt;br /&gt;    String sN = rs.getString(&lt;span class="ls-constant"&gt;"NAME"&lt;/span&gt;);&lt;br /&gt;    String sO = rs.getString(&lt;span class="ls-constant"&gt;"OBLIGOR"&lt;/span&gt;);&lt;br /&gt;    vec.add(sN + &lt;span class="ls-constant"&gt;""&lt;/span&gt; + sO);&lt;br /&gt;   }&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  } &lt;span class="ls-keyword"&gt;catch&lt;/span&gt; (SQLException se) {&lt;br /&gt;   &lt;span class="ls-comment"&gt;// Inform user of any SQL errors&lt;/span&gt;&lt;br /&gt;   System.out.println(&lt;span class="ls-constant"&gt;"SQL Exception: "&lt;/span&gt; + se.getMessage());&lt;br /&gt;   se.printStackTrace(System.out);&lt;br /&gt;&lt;br /&gt;  } &lt;span class="ls-keyword"&gt;catch&lt;/span&gt; (Exception e) {&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;&lt;br /&gt;  } &lt;span class="ls-keyword"&gt;finally&lt;/span&gt; {&lt;br /&gt;   &lt;span class="ls-keyword"&gt;try&lt;/span&gt; {&lt;br /&gt;    rs.close();&lt;br /&gt;    stmt.close();&lt;br /&gt;    con.close();&lt;br /&gt;   } &lt;span class="ls-keyword"&gt;catch&lt;/span&gt; (SQLException se) {&lt;br /&gt;    System.out.println(&lt;span class="ls-constant"&gt;"SQL Exception: "&lt;/span&gt; + se.getMessage());&lt;br /&gt;    se.printStackTrace(System.out);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; &lt;span class="ls-statement"&gt;if&lt;/span&gt; (vec.isEmpty()) {&lt;br /&gt;  vec.add(&lt;span class="ls-constant"&gt;"NOTHING"&lt;/span&gt;);&lt;br /&gt; }&lt;br /&gt; String forms[] = (String []) vec.toArray( &lt;span class="ls-keyword"&gt;new&lt;/span&gt; String[vec.size()]);&lt;br /&gt; &lt;span class="ls-statement"&gt;return&lt;/span&gt; forms;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The agent takes parameters passed to it, executes the DB2 query, processes the result set and creates a string array to return to the caller. The biggest stumbling block I hit was handling queries that returned no records. Until I hit on adding the "NOTHING" entry if the vector came back empty, I kept crashing my Notes client. So beware!&lt;br /&gt;&lt;br /&gt;IBM has a JDBC Type 4 driver available for free re-distribution as part of your application. You can find it &lt;a href="http://www14.software.ibm.com/webapp/download/preconfig.jsp?id=2004-09-20+10:09:21.003415R&amp;cat=database&amp;amp;fam=&amp;s=c&amp;amp;S_TACT=105AGX11&amp;S_CMP=DB2"&gt;here&lt;/a&gt; (IBM registration required, and this is for DB2 UDB, Cloudscape and Derby. &lt;strong&gt;UPDATE:&lt;/strong&gt; The link points to the version is for Linux/Unix/Windows; not sure if there are drivers for other OSes). The db2jcc.jar and db2jcc_license_cu.jar archives need to be attached to your Java agent (use the Edit Project button to do this).&lt;br /&gt;&lt;br /&gt;Here is the LotusScript agent that calls the Java agent.&lt;br /&gt;&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-comment"&gt;' Declarations&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-keyword"&gt;Option&lt;/span&gt; &lt;span class="ls-keyword"&gt;Public&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-keyword"&gt;Option&lt;/span&gt; &lt;span class="ls-keyword"&gt;Declare&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Use&lt;/span&gt; &lt;span class="ls-quote"&gt;"DB2Lookup"&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Uselsx&lt;/span&gt; &lt;span class="ls-quote"&gt;"*javacon"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Sub&lt;/span&gt; &lt;span class="ls-keyword"&gt;Initialize&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; docThis &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; myClass &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;JavaClass&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; myObject &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;JavaObject&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; mySession &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;JavaSession&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; ws &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesUIWorkspace&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; IDs &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Variant&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; stat &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Variant&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; ws &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesUIWorkspace&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; docThis &lt;span class="ls-operator"&gt;=&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDocument&lt;span class="ls-operator"&gt;.&lt;/span&gt;Document&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; docThis&lt;span class="ls-operator"&gt;.&lt;/span&gt;CustName&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt; &lt;span class="ls-operator"&gt;Or&lt;/span&gt; docThis&lt;span class="ls-operator"&gt;.&lt;/span&gt;CustNum&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt; &lt;span class="ls-operator"&gt;Or&lt;/span&gt; docThis&lt;span class="ls-operator"&gt;.&lt;/span&gt;TableID&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"You must have entries in the Customer Name, Customer Number&lt;br /&gt;and Table fields before using this function"&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;16&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Error"&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; mySession &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;JavaSession&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; myClass &lt;span class="ls-operator"&gt;=&lt;/span&gt; mySession&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetClass&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"DB2Lookup"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; myObject &lt;span class="ls-operator"&gt;=&lt;/span&gt; myClass&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;CreateObject&lt;/span&gt;&lt;br /&gt; IDs &lt;span class="ls-operator"&gt;=&lt;/span&gt; myObject&lt;span class="ls-operator"&gt;.&lt;/span&gt;NotesMain&lt;span class="ls-operator"&gt;(&lt;/span&gt;docThis&lt;span class="ls-operator"&gt;.&lt;/span&gt;TableID&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;docThis&lt;span class="ls-operator"&gt;.&lt;/span&gt;CustNum&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;docThis&lt;span class="ls-operator"&gt;.&lt;/span&gt;Borrower&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; IDs&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;"NOTHING"&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"No customers found meeting your criteria; please revise and try again"&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;br /&gt;64&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Customer Lookup"&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-function"&gt;Ubound&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;IDs&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-operator"&gt;&gt;&lt;/span&gt; 0 &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  stat&lt;span class="ls-operator"&gt;=&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;Prompt&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-constant"&gt;PROMPT_OKCANCELLIST&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Select Customer"&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Select the Customer &lt;/span&gt;&lt;/div&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-quote"&gt;from this list:"&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;IDs&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;If&lt;/span&gt; stat &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-quote"&gt;""&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt; &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;  stat &lt;span class="ls-operator"&gt;=&lt;/span&gt; IDs&lt;span class="ls-operator"&gt;(&lt;/span&gt;0&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;With&lt;/span&gt; docThis&lt;br /&gt;  &lt;span class="ls-operator"&gt;.&lt;/span&gt;CustName &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;Trim&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-function"&gt;Strleft&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;stat&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-operator"&gt;.&lt;/span&gt;CustNum &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-function"&gt;Trim&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-function"&gt;Strright&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;stat&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;With&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-function"&gt;Call&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;CurrentDocument&lt;span class="ls-operator"&gt;.&lt;/span&gt;Reload&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt; MARGIN: 5px 50px; BORDER-LEFT: 1px solid; COLOR: gray; BORDER-BOTTOM: 1px solid; FONT-FAMILY: sans-serif"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The agent makes sure there are entries in all the fields passed for the JDBC call. If no records are found, the user is informed. If one record is found, the fields are updated automatically. If more than one record is found, a dialog box is presented from which the user can choose an entry.&lt;br /&gt;&lt;br /&gt;Who says Notes/Domino is a closed environment? Now go forth and JDBC!&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell+thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Show-n-Tell Thursday_&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-115098566834098422?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/115098566834098422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=115098566834098422&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115098566834098422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/115098566834098422'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/06/sntt-jdbc-in-notes.html' title='SnTT: JDBC in Notes'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114917793428613192</id><published>2006-06-01T11:52:00.000-04:00</published><updated>2006-06-01T12:05:34.303-04:00</updated><title type='text'>No Way!</title><content type='html'>I saw &lt;a href="http://www.cnn.com/rssclick/money/2006/05/31/commentary/game_over/column_gaming/index.htm?section=cnn_tech"&gt;this from CNN&lt;/a&gt; and about fell out of my chair.  From the article:&lt;br /&gt;&lt;blockquote&gt;(Ted) Owen, who runs the Global Gaming League (GGL), a media company focused on the lifestyle and culture of gaming, is currently talking with the Chinese government in hopes of bringing competitive video gaming to the 2008 Games as a demonstration sport.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I love watching the Olympics, although a little less since the pros have taken over some of the sports (eg. basketball and hockey).  I don't go for things like badminton or table tennis but I can see the people who play them as athletes.  But video gaming?  Sure, video gaming "does demand incredible hand-eye coordination" as the article says, but "arguably as much as golf and tennis"?  In golf, you also have to walk the course and swing a club and tennis players run all over the court.&lt;br /&gt;&lt;br /&gt;The only way I could accept this becoming an Olympic event would be if they played virtual reality games where they had to actually move around (as in "run") as part of the game.  And it would only be grudging acceptance.  Next thing you know, poker "athletes" will want medals for playing Texas Hold 'Em!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114917793428613192?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114917793428613192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114917793428613192&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114917793428613192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114917793428613192'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/06/no-way.html' title='No Way!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114908110568664191</id><published>2006-05-31T09:05:00.000-04:00</published><updated>2006-05-31T09:11:45.710-04:00</updated><title type='text'>Kalamazoo Wings: Colonial Cup Champions!</title><content type='html'>That has a nice ring to it! On Saturday night, the &lt;a href="http://www.kwings.com/"&gt;K-Wings&lt;/a&gt; won their third straight game in Danbury, CT, to bring home the Colonial Cup. They did it by winning 12 of 13 playoff games (the first 9 in a row).  The "community party" is Saturday night and we're hoping to make it.&lt;br /&gt;&lt;br /&gt;Congratulations to the Wings and to the owners, the Parfets, who have kept pro hockey alive in Kalamazoo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114908110568664191?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114908110568664191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114908110568664191&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114908110568664191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114908110568664191'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/kalamazoo-wings-colonial-cup-champions.html' title='Kalamazoo Wings: Colonial Cup Champions!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114796961129122518</id><published>2006-05-18T12:09:00.000-04:00</published><updated>2006-05-18T12:28:24.046-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Taking Notes Podcast</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align=right&gt;I posted this suggestion on the &lt;a href="http://takingnotes.openntf.org/"&gt;Taking Notes Podcast blog&lt;/a&gt; but didn't get any feedback on it yet, so I'm going to try a bit of an experiment.  The experiment is to see how far this blog reaches (not very far, I suspect).&lt;br /&gt;&lt;br /&gt;At any rate, I find the Taking Notes podcast to be a good source of information - and it's entertaining a lot of the time too.  If you haven't checked it out, do so, either from the blog site or through iTunes.  Bruce &lt;a href="http://www.bruceelgort.com/blogs/be.nsf/plinks/BELT-6PWLCU"&gt;posted today&lt;/a&gt; about some of the guests they have lined up for future episodes and they look good.&lt;br /&gt;&lt;br /&gt;Now for the experiment: Bruce said in comments on the most recent podcast that they have about 1,000 listeners, which he thinks is pretty good.  But I think there are a lot more people out there who could benefit from the podcast so let's spread the word.  So, if you read this, are a Notes/Domino developer or admin (or are otherwise interested in Notes/Domino), listen to the podcast and have your own blog, publicize the podcast on your blog.  And leave me a comment that you did (please!).&lt;br /&gt;&lt;br /&gt;And keep up the good work, Bruce and Julian!&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell+thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Show-n-Tell Thursday_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114796961129122518?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114796961129122518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114796961129122518&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114796961129122518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114796961129122518'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/sntt-taking-notes-podcast.html' title='SnTT: Taking Notes Podcast'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114791837887672904</id><published>2006-05-17T22:07:00.000-04:00</published><updated>2006-05-17T22:12:58.886-04:00</updated><title type='text'>Destination: Colonial Cup</title><content type='html'>Our local &lt;a href="http://www.theuhl.com/"&gt;minor league (UHL)&lt;/a&gt; hockey team, the &lt;a href="http://www.kwings.com/"&gt;Kalamazoo Wings&lt;/a&gt;, are in the Colonial Cup Finals.  Game 1 is Friday night and we're going!  This is their first trip to the finals in the UHL and the first time in any finals since 1981.  They won the IHL championship in 1979 and 1980 so there is a lot of excitement around town.&lt;br /&gt;&lt;br /&gt;They won the Tarry Cup this year for the best record in the league.  At least they've live up to expectations so far - unlike my Red Wings!&lt;br /&gt;&lt;br /&gt;GO WINGS!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114791837887672904?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114791837887672904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114791837887672904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114791837887672904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114791837887672904'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/destination-colonial-cup.html' title='Destination: Colonial Cup'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114737190109976805</id><published>2006-05-11T14:07:00.000-04:00</published><updated>2006-05-12T21:22:10.410-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Sub-Categories in Views</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align=right&gt;Kind of by accident a while back, I discovered how to add a second level of categorization in a view without adding a second categorized column.  You *can* add a second column, but that will cause a second category to appear under all top-levels; I only wanted sub-categories under one of my top-level categories.&lt;br /&gt;&lt;br /&gt;Here is a picture of what I wanted:&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/90/2586/1600/Sub-categoryView.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/90/2586/400/Sub-categoryView.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;I only wanted additional categories under the 4. Fieldwork category.  How do you do it?  Add a backslash (\) and your second category to the end of your formula in the categorized column:&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/90/2586/1600/Sub-categoryFormula.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/90/2586/400/Sub-categoryFormula.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Note that you have to "escape" the backslash by entering it in the formula twice.  I stumbled on this by seeing the behavior in a view that was categorized by a file path field (eg. Data\PlayDbs\Developer1\MyBlog.nsf).  Now you have sub-categories just where you want them with no effect on categories that don't need them.&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Show-n-Tell Thursday_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114737190109976805?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114737190109976805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114737190109976805&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114737190109976805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114737190109976805'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/sntt-sub-categories-in-views.html' title='SnTT: Sub-Categories in Views'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114737084581859922</id><published>2006-05-11T13:43:00.000-04:00</published><updated>2006-05-11T19:26:53.616-04:00</updated><title type='text'>Podcasts?  RSS?</title><content type='html'>As a person in the technology field, it amazes me how many techies don't know about some of the latest tools available to them.  Take &lt;a href="http://www.bruceelgort.com/blogs/be.nsf/plinks/BELT-6NC7AE"&gt;Bruce's RSS presentation&lt;/a&gt; for example; how many of you use RSS feeds to keep up on news and/or blogs?  If you do, how many fellow techies do you find that you have to educate about RSS?&lt;br /&gt;&lt;br /&gt;Another thing is podcasts.  Of course, you listen to more than music on your iPod/portable music device -- don't you?  Beyond &lt;a href="http://takingnotes.openntf.org"&gt;Taking Notes&lt;/a&gt;, there are lots of others on tech to help you keep up on the news or learn new things.  For now I have settled on two: &lt;a href="http://gillmorgang.podshow.com/"&gt;Gillmor Gang&lt;/a&gt; which, if you can get beyond Steve G's occasional "Notes is Dead" (set him straight, Ed!) screeds, has a lot of good thinking on tech trends and directions; and &lt;a href="http://www.mobilitytoday.com/"&gt;Mobility Today&lt;/a&gt;, which talks a lot about portable technology (phones, PDAs, small form-factor computing) - just watch out for the periodic and inconsistent rants.&lt;br /&gt;&lt;br /&gt;Find &lt;a href="http://www.onthemedia.org/"&gt;some&lt;/a&gt; &lt;a href="http://www.skinnyonsports.com/"&gt;fun&lt;/a&gt; &lt;a href="http://podfinder.podshow.com/"&gt;ones&lt;/a&gt; too - but not too many or you'll never have time to listen to music again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114737084581859922?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114737084581859922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114737084581859922&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114737084581859922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114737084581859922'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/podcasts-rss.html' title='Podcasts?  RSS?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114731248610879919</id><published>2006-05-10T21:47:00.000-04:00</published><updated>2006-05-10T21:54:46.123-04:00</updated><title type='text'>Why Didn't I Think of This?</title><content type='html'>Sometimes I feel like I don't have anything to say; other times I feel I *have* something to say but am not sure I want to put it out here for everyone to say.  So I was reading another blog tonight and saw a &lt;a href="http://marion-from-england.blogspot.com/2006/05/another-proud-parent-moment.html"&gt;post&lt;/a&gt; about a "proud parent moment" and it made me think "I've had one too!".&lt;br /&gt;&lt;br /&gt;I'm helping to coach our son's Little League (minor boys) team this year.  Last Saturday, our son spent the third inning in left center field.  Out of the 10 batters from the other team, I swear 5 of them hit a ball to left center.  And he stopped all of them!  &lt;br /&gt;&lt;br /&gt;I find myself amazed at how much his skills have improved over the last year.  He'll probably never go to the majors (if he even wanted to), but he is doing well and having fun.  And we're proud of how he's doing and that he wants to practice and get better.  Just wait until the golf lessons in June!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114731248610879919?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114731248610879919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114731248610879919&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114731248610879919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114731248610879919'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/why-didnt-i-think-of-this.html' title='Why Didn&apos;t I Think of This?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114676671037809780</id><published>2006-05-04T14:02:00.000-04:00</published><updated>2006-05-13T07:51:40.213-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Computed Outline Entries</title><content type='html'>&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/90/2586/200/SNTTbtn.png" border="0" alt="" /&gt;I did this a while ago but ran across it again and thought I'd share it.  I'm not sure in which release this first appeared (somewhere in 6.x), but you can set an outline entry to compute the database from which to read a design item.  You may already know that you can choose a Named Item for the outline entry to display and to choose that item either from the current database or from another database.  We wanted to read an item from another database but to have the database change each year without changing the outline entry.  That was not possible in R5 but is now.&lt;br /&gt;&lt;br /&gt;To do this, set your Content Type to Named Item and then click the @ (Formula) button next to the Value field.  Here is a screen shot of the resulting dialog:&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/90/2586/1600/OutlineDialog.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/90/2586/320/OutlineDialog.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;In the Formula for Database block, notice that the path to the database includes variables.  This one points to a database in a folder for the current year; we have an entry like this plus one for the prior year in one of our outlines.  We used to have to modify the outline each year to update these two entries but now we don't have to!&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-n-Tell Thursday&lt;/a&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Show-n-Tell Thursday_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114676671037809780?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114676671037809780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114676671037809780&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114676671037809780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114676671037809780'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/sntt-computed-outline-entries.html' title='SnTT: Computed Outline Entries'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114648483685947177</id><published>2006-05-01T07:45:00.000-04:00</published><updated>2006-05-13T07:52:26.530-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Youth Ministry'/><title type='text'>Teen Depression</title><content type='html'>Life has gotten in the way of blogging lately.  That's just the way it goes sometimes.&lt;br /&gt;&lt;br /&gt;Last week, we had a presentation for our youth group and parents on depression in teens.  It was done by a teen who was diagnosed in the last few months with depression and included a short film he made about his feelings; the film has since won a number of film festival awards.  You can read his story &lt;a href="http://www.battlecreekenquirer.com/apps/pbcs.dll/article?AID=/20060331/NEWS01/603310316/1002"&gt;here&lt;/a&gt;.  The word about this teen and his film is spreading (see &lt;a href="http://trouble.philadelphiaweekly.com/archives/2006/03/videohero_of_th.html"&gt;this&lt;/a&gt; and &lt;a href="http://www.youthministry.com/ArticleTempl.asp?ID=943"&gt;this&lt;/a&gt;) and he is happy to send copies of the film and a presentation he did at his high school for your own use.  If you request a copy, consider making a donation to your local mental health or suicide prevention program to support your local teens.&lt;br /&gt;&lt;br /&gt;Over the last few months, I have developed a better understanding of this issue.  Sure, there are kids who might use the idea of depression for manipulative purposes but I find myself thinking twice before I write off some of the behavior I see as manipulation.  Plus, as a parent, it is helpful to know as much as I can about this and things like bullying as I watch my own kids grow up.&lt;br /&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Youth Ministry_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114648483685947177?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114648483685947177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114648483685947177&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114648483685947177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114648483685947177'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/05/teen-depression.html' title='Teen Depression'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114553828250154666</id><published>2006-04-20T08:51:00.000-04:00</published><updated>2006-05-13T07:53:09.880-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Forcing Users to Use Your Button</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align=right&gt;OK, so I'm back with another SnTT tip.  This is one we use to force users to click an action button to edit a document rather than use any other means (open from a view in Edit mode, press CTRL-E, click Actions | Edit Document, etc.).&lt;br /&gt;&lt;br /&gt;This defines a global variable on the form (since it has to be available to the QueryModeChange and the action button) and includes code for the form's QueryOpen and QueryModeChange events, plus code for the action button itself.  I haven't tested this in any other kind of button/hotspot within a form, but I suspect it would work.&lt;br /&gt;&lt;br /&gt;We use it in an application where we want users to make changes only through a dialog box so we can restrict the fields they can change.  Sure, we could have run the code from the QueryModeChange, but that's the beauty of Notes/Domino: lots of different ways to accomplish the same thing!&lt;br /&gt;&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class=lotusscript&gt;&lt;br /&gt;&lt;font class=ls-comment&gt;'(Globals): &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class=ls-keyword&gt;Option&lt;/font&gt; &lt;font class=ls-keyword&gt;Public&lt;/font&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;Dim&lt;/font&gt; EditAction &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class=ls-comment&gt;'Form_name: &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;Sub&lt;/font&gt; Querymodechange&lt;font class=ls-operator&gt;(&lt;/font&gt;Source &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;Notesuidocument&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt; Continue &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Variant&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt;   &lt;font class=ls-statement&gt;If&lt;/font&gt; &lt;font class=ls-operator&gt;Not&lt;/font&gt; Source&lt;font class=ls-operator&gt;.&lt;/font&gt;EditMode &lt;font class=ls-operator&gt;and&lt;/font&gt; &lt;font class=ls-operator&gt;Not&lt;/font&gt; EditAction &lt;font class=ls-statement&gt;Then&lt;/font&gt;&lt;br /&gt;      &lt;font class=ls-function&gt;Messagebox&lt;/font&gt; &lt;font class=ls-quote&gt;"You must use the Edit action button to edit the document"&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;64&lt;font class=ls-operator&gt;,&lt;/font&gt;&lt;font class=ls-quote&gt;"Edit " &amp;amp;_&lt;br&gt;      "Document"&lt;/font&gt;&lt;br /&gt;      Continue &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-constant&gt;False&lt;/font&gt;&lt;br /&gt;   &lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;If&lt;/font&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;Sub&lt;/font&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;Sub&lt;/font&gt; Queryopen&lt;font class=ls-operator&gt;(&lt;/font&gt;Source &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;Notesuidocument&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt; Mode &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Integer&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;_&lt;br&gt;&lt;br /&gt;Isnewdoc &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Variant&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt; Continue &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;Variant&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt;   &lt;font class=ls-statement&gt;If&lt;/font&gt; &lt;font class=ls-operator&gt;Not&lt;/font&gt; Isnewdoc &lt;font class=ls-statement&gt;Then&lt;/font&gt;&lt;br /&gt;      &lt;font class=ls-statement&gt;If&lt;/font&gt; Source&lt;font class=ls-operator&gt;.&lt;/font&gt;EditMode &lt;font class=ls-statement&gt;Then&lt;/font&gt;&lt;br /&gt;         &lt;font class=ls-function&gt;Messagebox&lt;/font&gt; &lt;font class=ls-quote&gt;"This document cannot be opened in Edit mode"&lt;/font&gt;&lt;font class=ls-operator&gt;,&lt;/font&gt;16&lt;font class=ls-operator&gt;,&lt;/font&gt;&lt;font class=ls-quote&gt;"Edit Document"&lt;/font&gt;&lt;br /&gt;         Continue &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-constant&gt;False&lt;/font&gt;&lt;br /&gt;      &lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;If&lt;/font&gt;&lt;br /&gt;   &lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;If&lt;/font&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;Sub&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class=ls-comment&gt;'Edit: (action button)&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;Sub&lt;/font&gt; Click&lt;font class=ls-operator&gt;(&lt;/font&gt;Source &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-class&gt;Button&lt;/font&gt;&lt;font class=ls-operator&gt;)&lt;/font&gt;&lt;br /&gt;   &lt;font class=ls-statement&gt;Dim&lt;/font&gt; ws &lt;font class=ls-keyword&gt;As&lt;/font&gt; &lt;font class=ls-keyword&gt;New&lt;/font&gt; &lt;font class=ls-class&gt;NotesUIWorkspace&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;   EditAction &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-constant&gt;True&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class=ls-comment&gt;'   Do your checks to make sure they can edit the document, then put it into Edit mode&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;   ws&lt;font class=ls-operator&gt;.&lt;/font&gt;CurrentDocument&lt;font class=ls-operator&gt;.&lt;/font&gt;EditMode &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-constant&gt;True&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;   EditAction &lt;font class=ls-operator&gt;=&lt;/font&gt; &lt;font class=ls-constant&gt;False&lt;/font&gt;&lt;br /&gt;&lt;font class=ls-statement&gt;End&lt;/font&gt; &lt;font class=ls-statement&gt;Sub&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="FONT-SIZE: 8pt; COLOR: gray; FONT-FAMILY: sans-serif; BORDER: 1 solid Grey; margin : 5px 50px 5px 50px;"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Technorati: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-N-Tell Thursday&lt;/a&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Show-n-Tell Thursday_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114553828250154666?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114553828250154666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114553828250154666&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114553828250154666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114553828250154666'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/04/sntt-forcing-users-to-use-your-button.html' title='SnTT: Forcing Users to Use Your Button'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114538128977949769</id><published>2006-04-18T13:21:00.000-04:00</published><updated>2006-04-18T13:28:09.790-04:00</updated><title type='text'>Mail Database Weirdness</title><content type='html'>I've been pretty quiet on here lately, mostly because it has been really busy.  I want to find something good for Show-n-Tell Thursday but everything I find seems either too basic or too complex.  Oh well, that's not what this is really about.&lt;br /&gt;&lt;br /&gt;Lately, every time I open my mail database (Notes 6.5 client, regular mail template), it goes to one of my folders rather than to the Inbox.  This happens in both my local and server replica.  And it happens even after refreshing the design from the template.  I can't find any setting that would provoke this behavior and it happens regardless of whether there is unread mail in the folder or the Inbox.  I can close the database when I am in the Inbox and it still opens to the folder.&lt;br /&gt;&lt;br /&gt;I have my Inbox open in a frame on my Welcome page but I'm not sure that matters either.&lt;br /&gt;&lt;br /&gt;It isn't always annoying (sometimes it is) but it is really puzzling.  I can't explain why it would happen and I can't make it stop!  That whole last sentence is what bothers me.  Any ideas of how to fix it?  If I come up with something, I'll post it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114538128977949769?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114538128977949769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114538128977949769&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114538128977949769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114538128977949769'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/04/mail-database-weirdness.html' title='Mail Database Weirdness'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114472487814234156</id><published>2006-04-10T22:56:00.000-04:00</published><updated>2006-05-13T07:53:49.293-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Youth Ministry'/><title type='text'>Katrina Relief</title><content type='html'>Last week, three adults and nine high school teens from the youth group I work with went to St. Bernard Parish, LA, to help with Katrina clean up. They showed us pictures from their trip last night and shared the one word that comes to mind when they think of the trip. Those include "overwhelming", "indescribable", "unbelieveable" and "amazing". They were in an area where 27,000 homes were destroyed and only 1,000 have been rebuilt in 7 months.&lt;br /&gt;&lt;br /&gt;The pictures we have all seen show only part of the story. As far as you can see, it all looks the same. But in the midst of the devastation, they saw signs of hope and positive energy. They feel like they made a bit of a difference, but recognize that it will take years for things there to get back to "normal", if they ever do.&lt;br /&gt;&lt;br /&gt;I'm proud to know them and that they gave up their spring break to share with those who are in need.&lt;br /&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Youth Ministry_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114472487814234156?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114472487814234156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114472487814234156&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114472487814234156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114472487814234156'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/04/katrina-relief.html' title='Katrina Relief'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114417134758006569</id><published>2006-04-04T13:20:00.000-04:00</published><updated>2006-04-05T15:56:03.796-04:00</updated><title type='text'>Once in a Lifetime</title><content type='html'>I received this from a coworker.  It was too goofy (and geeky) to let it go without sharing it.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;On Wednesday, at two minutes and three seconds after 1:00 in the morning, the time and date will be 01:02:03 04/05/06.&lt;br /&gt;&lt;br /&gt;That won't ever happen again - at least in our lifetime. And, just think of how many of us are just going to sleep through this once in a lifetime event!&lt;br /&gt;&lt;br /&gt;You may now return to your (normal ?) life&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; I realized later that another "once-in-a-lifetime" event will occur later in the year and that we might even be awake for that one. It will be at 11:10:09 08/07/06. Why do these things come into my head?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114417134758006569?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114417134758006569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114417134758006569&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114417134758006569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114417134758006569'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/04/once-in-lifetime.html' title='Once in a Lifetime'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114372629412252071</id><published>2006-03-30T08:24:00.000-05:00</published><updated>2006-05-13T07:54:35.660-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Compact Local Databases on Demand</title><content type='html'>&lt;img src="http://webpages.charter.net/dtmc/images/SNTTbtn.png" align="right" /&gt;A couple of weeks ago, Chris Miller posted a &lt;a href="http://www.idonotes.com/IdoNotes/IdoNotes.nsf/dx/03132006025355PMCMISEC.htm"&gt;tip&lt;/a&gt; about scheduling databases to be compacted on a user workstation. If, for whatever reason, you don't want to schedule that task, here is some code you can put in a user-accessible button (like in a "Procedures Manual" document) that compacts databases and sends a mail message to the user with the results.&lt;br /&gt;&lt;br /&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }.ls-comment { color: green; }.ls-quote { color: black; }.ls-datatype { color: black; }.ls-operator { color: blue; }.ls-keyword { color: blue; }.ls-statement { color: blue; }.ls-function { color: blue; }.ls-class { color: black; }.ls-constant { color: purple; }&lt;/style&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;span class="ls-statement"&gt;Dim&lt;/span&gt; session &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesSession&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Dim&lt;/span&gt; db &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDatabase&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Dim&lt;/span&gt; dbdir &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDBDirectory&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Dim&lt;/span&gt; Stat &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Long&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Dim&lt;/span&gt; nlog &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesLog&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"Compact Utility"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; nlog&lt;span class="ls-operator"&gt;.&lt;/span&gt;OpenMailLog&lt;span class="ls-operator"&gt;(&lt;/span&gt;session&lt;span class="ls-operator"&gt;.&lt;/span&gt;username&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"DB Compact Utility"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Set&lt;/span&gt; db &lt;span class="ls-operator"&gt;=&lt;/span&gt; dbdir&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetFirstDatabase&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-constant"&gt;Database&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Open&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;db&lt;span class="ls-operator"&gt;.&lt;/span&gt;Filepath&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;On&lt;/span&gt; &lt;span class="ls-function"&gt;Error&lt;/span&gt; &lt;span class="ls-statement"&gt;Resume&lt;/span&gt; &lt;span class="ls-statement"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;While&lt;/span&gt; &lt;span class="ls-operator"&gt;Not&lt;/span&gt; &lt;span class="ls-operator"&gt;(&lt;/span&gt;db &lt;span class="ls-operator"&gt;Is&lt;/span&gt; &lt;span class="ls-constant"&gt;Nothing&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span class="ls-function"&gt; Print&lt;/span&gt; &lt;span class="ls-quote"&gt;"Compacting: "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;FilePath&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;PercentUsed &lt;span class="ls-operator"&gt;&lt;&lt;/span&gt; 90 &lt;span class="ls-statement"&gt;Then&lt;br /&gt;  &lt;/span&gt;stat &lt;span class="ls-operator"&gt;=&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;Compact&lt;br /&gt;  &lt;span class="ls-statement"&gt;If&lt;/span&gt; &lt;span class="ls-function"&gt;Err&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; 4005 &lt;span class="ls-statement"&gt;Then&lt;br /&gt;   &lt;/span&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; nlog&lt;span class="ls-operator"&gt;.&lt;/span&gt;LogAction&lt;span class="ls-operator"&gt;(&lt;/span&gt;db&lt;span class="ls-operator"&gt;.&lt;/span&gt;FilePath &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;" is in use or not on workspace."&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;br /&gt;   &lt;/span&gt;&lt;span class="ls-function"&gt;Err&lt;/span&gt; &lt;span class="ls-operator"&gt;=&lt;/span&gt; 0&lt;br /&gt;  &lt;span class="ls-statement"&gt;Else&lt;br /&gt;   &lt;/span&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; nlog&lt;span class="ls-operator"&gt;.&lt;/span&gt;LogAction&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"Compacted  "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;FilePath &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;" bytes freed: "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-function"&gt;Str&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;stat&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;br /&gt;  &lt;/span&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;br /&gt; &lt;/span&gt;&lt;span class="ls-statement"&gt;Else&lt;br /&gt;  &lt;/span&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; nlog&lt;span class="ls-operator"&gt;.&lt;/span&gt;LogAction&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"Database "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;FilePath &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;" already "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;amp;&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;PercentUsed &lt;span class="ls-operator"&gt;&amp;&lt;/span&gt; &lt;span class="ls-quote"&gt;" percent in use"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;br /&gt; &lt;/span&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;br /&gt; &lt;/span&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Close&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;br /&gt; &lt;/span&gt;&lt;span class="ls-statement"&gt;Set&lt;/span&gt; db &lt;span class="ls-operator"&gt;=&lt;/span&gt; dbdir&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetNextDatabase&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;br /&gt; &lt;/span&gt;&lt;span class="ls-function"&gt;Call&lt;/span&gt; db&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Open&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;""&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;db&lt;span class="ls-operator"&gt;.&lt;/span&gt;filepath&lt;span class="ls-operator"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span class="ls-statement"&gt;Wend&lt;br /&gt;C&lt;/span&gt;&lt;span class="ls-function"&gt;all&lt;/span&gt; nlog&lt;span class="ls-operator"&gt;.&lt;/span&gt;&lt;span class="ls-function"&gt;Close&lt;br /&gt;&lt;/span&gt;&lt;span class="ls-function"&gt;Messagebox&lt;/span&gt;&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"Finished Compacting"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt; MARGIN: 5px 50px; BORDER-LEFT: 1px solid; COLOR: gray; BORDER-BOTTOM: 1px solid; FONT-FAMILY: sans-serif"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Technorati tags: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-N-Tell Thursday&lt;/a&gt;&lt;br /&gt;Categories: &lt;span class="category"&gt;Show-n-Tell Thursday_&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114372629412252071?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114372629412252071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114372629412252071&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114372629412252071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114372629412252071'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/sntt-compact-local-databases-on-demand.html' title='SnTT: Compact Local Databases on Demand'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114358171492435363</id><published>2006-03-28T16:27:00.000-05:00</published><updated>2006-03-29T07:36:13.016-05:00</updated><title type='text'>Ray Ozzie on Gillmor Gang</title><content type='html'>If, like me, you like to hear the latest thing that &lt;a href="http://spaces.msn.com/rayozzie/"&gt;Ray Ozzie&lt;/a&gt; is up to, listen to a couple of recent podcasts of the &lt;a href="http://gillmorgang.podshow.com"&gt;Gillmor Gang&lt;/a&gt;. There are 2 episodes titled Ozzie Gang I and Ozzie Gang II where Ray talks about &lt;a href="http://spaces.msn.com/editorial/rayozzie/demo/liveclip/liveclipsample/clipboardexample.html"&gt;Live Clipboard&lt;/a&gt; and other things he sees for the future of computing. Pretty cool stuff.&lt;br /&gt;&lt;br /&gt;Technorati tags: &lt;a href="http://technorati.com/tag/Lotus" rel="tag"&gt;Lotus Notes&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114358171492435363?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114358171492435363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114358171492435363&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114358171492435363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114358171492435363'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/ray-ozzie-on-gillmor-gang.html' title='Ray Ozzie on Gillmor Gang'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114351880596685257</id><published>2006-03-27T23:05:00.001-05:00</published><updated>2006-05-03T11:49:47.266-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Homegrown Application Change Documentation</title><content type='html'>&lt;span style="font-style: italic;"&gt;Originally posted on March 17, 2006&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change control in your application development has become increasingly important over the last couple of years.  How good is your system for documenting changes?  There are products out there to help manage the process and keep track of which design elements have changed but you can develop a basic system on your own.&lt;br /&gt;&lt;br /&gt;In the Lotus Sandbox at &lt;a href="http://www.ibm.com/ldd/sandbox.nsf"&gt;developerWorks: Lotus (LDD/Notes.net)&lt;/a&gt; you can find the &lt;a href="http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/f81067f94a1143f3852567d800660625?OpenDocument"&gt;DatabaseDesign class&lt;/a&gt;.  We used this class as the basis for developing code that compares design elements in two databases to identify differences.  The databases can be two replicas of the same database (for example one local and one on the server) or two copies of a database (for example one development and one production).  Within the same application, we also used the class to create lists of design items to populate drop down lists in a dialog box; that lets users create their own list of changed design items by choosing from lists.&lt;br /&gt;&lt;br /&gt;Unfortunately, at this time I am not able to show you the code we developed, but I thought it was worthwhile to point out that the class is out there (thanks &lt;a href="http://www.damienkatz.net"&gt;Damien Katz&lt;/a&gt; and Andre Guirard) and that it can be helpful in developing a change recording system.  &lt;a href="mailto:donald.mcnally@nationalcity.com?subject=Change Recorder"&gt;Contact me&lt;/a&gt; if you run into problems developing your change recorder.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Technorati tags: &lt;a href="http://technorati.com/tag/show-n-tell thursday" rel="tag"&gt;Show-N-Tell Thursday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114351880596685257?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114351880596685257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114351880596685257&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351880596685257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351880596685257'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/sntt-homegrown-application-change.html' title='SnTT: Homegrown Application Change Documentation'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114351874274644585</id><published>2006-03-27T23:05:00.000-05:00</published><updated>2006-03-27T23:05:42.746-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>SnTT: Sametime Success Story</title><content type='html'>&lt;span style="font-style: italic;"&gt;Originally posted on March 9, 2006&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a story from a while ago but it seemed worthwhile to share as a success.  About four years ago, we decided to evaluate Sametime in our environment.  We installed the server and rolled out the Connect client to a few people.  We also made the web conferencing components available to a larger group of people to test that feature.&lt;br /&gt;&lt;br /&gt;When we did our post-trial analysis, we found that we had pretty much paid for the software during the trial.  One group of people used it for an online meeting instead of paying for another vendor's "rented" option.  Our team used it to install a piece of software on 15 user machines, saving trips to desktops (including some in remote offices) or time on the phone walking people through the procedures.  I know: who visits desktops to install software?  But this was four years ago before automated software distribution was implemented in our environment.&lt;br /&gt;&lt;br /&gt;To this day, it receives fairly heavy use for scheduled and instant meetings.  My team uses it nearly every day to demo applications that are in development, to resolve problems on user machines or provide training at application rollout.  We have also been slowly incorporating presence awareness into our applications.&lt;br /&gt;&lt;br /&gt;The reach of the product is relatively small within our organization, but the investment continues to pay for itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114351874274644585?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114351874274644585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114351874274644585&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351874274644585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351874274644585'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/sntt-sametime-success-story.html' title='SnTT: Sametime Success Story'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114351867225544812</id><published>2006-03-27T23:03:00.000-05:00</published><updated>2006-03-27T23:04:32.256-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>Show-n-Tell Thursday</title><content type='html'>&lt;span style="font-style: italic;"&gt;Originally posted on March 2, 2006&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Last week, I showed a way to show responses in a view but open the parent of the response when a document was double-clicked.  This week, I have another view tip.  Form formulas allow you to open documents from a view using a form other than the one defined on the document.  What I will show you is a way to provide users a choice of two forms to display documents and the means to set which form they want to use when they open the view.&lt;br /&gt;&lt;br /&gt;Why would you use this?  We have an application in which we want to display the fields from a document in a "report" format that can be printed for easier reading or in "data entry" format for user entry.  This method allows us to use one view to perform both functions.  In our case, the documents that appear in the view that uses this code are main documents and the "report" format form also contains LotusScript code to get field values from specific response documents to include in the report.&lt;br /&gt;&lt;br /&gt;For simplicity, this assumes that all the documents in the view use the same form but it wouldn't be too hard to extend the code to handle more than one form.  To give the users a way to determine the form they prefer, create an action button in the view with this code:&lt;br /&gt;&lt;br /&gt;curr:=@GetProfileField("UserProfile";"DisplayFormat";@UserName);&lt;br /&gt;@If(curr="Summ";&lt;br /&gt;   @If(@Prompt([YesNo];"Change Format";"You are currently opening these documents in the Summary Report format.  Open documents with the document's form?")=1;&lt;br /&gt;      @SetProfileField("UserProfile";"DisplayFormat";"";@UserName);@Return(""));&lt;br /&gt;   @If(@Prompt([YesNo];"Change Format";"You are currently opening these documents with the document's form.  Open documents in Summary Report format?")=1;&lt;br /&gt;      @SetProfileField("UserProfile";"DisplayFormat";"Summ";@UserName);@Return("")))&lt;br /&gt;&lt;br /&gt;The Form Formula for the view is then:&lt;br /&gt;&lt;br /&gt;@If(@IsNewDoc;Form;&lt;br /&gt;   @GetProfileField("UserProfile";"DisplayFormat";@UserName)="Summ";"ReportFormat";&lt;br /&gt;   Form)&lt;br /&gt;&lt;br /&gt;Nothing to it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114351867225544812?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114351867225544812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114351867225544812&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351867225544812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351867225544812'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/show-n-tell-thursday_27.html' title='Show-n-Tell Thursday'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114351857242467809</id><published>2006-03-27T22:58:00.000-05:00</published><updated>2006-03-27T23:02:52.436-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show-n-Tell Thursday'/><title type='text'>Show-n-Tell Thursday</title><content type='html'>&lt;span style="font-style: italic;"&gt;Originally posted on February 23, 2006&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="body"&gt; Here's my first contribution to this new web-wide feature. It took me a while to come up with something small that I thought may be useful. This is a kinda sorta pseudo-relational behavior you can incorporate into a view.&lt;br /&gt;&lt;br /&gt;Say you have a set of response documents that contain the fields you want to display in a view. But, instead of opening those documents when they are clicked, you would rather open their parent document. And you display the response documents in other views, but in those views you want to open the response document (so you don't want to put code in the QueryOpen of the response form). What do you do?&lt;br /&gt;&lt;br /&gt;Put this code in the QueryOpenDocument event of the view and the parent document will open instead of the document that you double-clicked to open.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE:&lt;/b&gt; I added some error handling for orphans, unreadable parents and replication conflicts. Don't know why I didn't think of it, other than that we hadn't run into those problems in the view where I used the code. &lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;&lt;span style="font-family: Georgia,serif;"&gt;&lt;style&gt;.lotusscript { font-family: sans-serif; font-size: 9pt; color: black; }&lt;br /&gt;.ls-comment { color: green; }&lt;br /&gt;.ls-quote { color: black; }&lt;br /&gt;.ls-datatype { color: black; }&lt;br /&gt;.ls-operator { color: blue; }&lt;br /&gt;.ls-keyword { color: blue; }&lt;br /&gt;.ls-statement { color: blue; }&lt;br /&gt;.ls-function { color: blue; }&lt;br /&gt;.ls-class { color: black; }&lt;br /&gt;.ls-constant { color: purple; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="lotusscript"&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;Sub&lt;/span&gt; Queryopendocument&lt;span class="ls-operator"&gt;(&lt;/span&gt;Source &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;Notesuiview&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt; Continue &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Variant&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; doc &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; docParent &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-class"&gt;NotesDocument&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; ws &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;New&lt;/span&gt; &lt;span class="ls-class"&gt;NotesUIWorkspace&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Dim&lt;/span&gt; openIt &lt;span class="ls-keyword"&gt;As&lt;/span&gt; &lt;span class="ls-keyword"&gt;Integer&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; openIt &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-constant"&gt;False&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;Set&lt;/span&gt; doc &lt;span class="ls-operator"&gt;=&lt;/span&gt; Source&lt;span class="ls-operator"&gt;.&lt;/span&gt;Documents&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetFirstDocument&lt;br /&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;IsResponse &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;  Continue &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-constant"&gt;False&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;If&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;HasItem&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-quote"&gt;"$Conflict"&lt;/span&gt;&lt;span class="ls-operator"&gt;)&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"Opening replication conflicts is not allowed in this view"&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;48&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Open Document"&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Set&lt;/span&gt; docParent &lt;span class="ls-operator"&gt;=&lt;/span&gt; doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;ParentDatabase&lt;span class="ls-operator"&gt;.&lt;/span&gt;GetDocumentByUNID&lt;span class="ls-operator"&gt;(&lt;/span&gt;doc&lt;span class="ls-operator"&gt;.&lt;/span&gt;ParentDocumentUNID&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;If&lt;/span&gt; docParent &lt;span class="ls-operator"&gt;Is&lt;/span&gt; &lt;span class="ls-constant"&gt;Nothing&lt;/span&gt; &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;   openIt &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-constant"&gt;False&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Elseif&lt;/span&gt; docParent&lt;span class="ls-operator"&gt;.&lt;/span&gt;IsDeleted &lt;span class="ls-operator"&gt;Or&lt;/span&gt; &lt;span class="ls-operator"&gt;Not&lt;/span&gt; docParent&lt;span class="ls-operator"&gt;.&lt;/span&gt;IsValid &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;   openIt &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-constant"&gt;False&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;   openIt &lt;span class="ls-operator"&gt;=&lt;/span&gt; &lt;span class="ls-constant"&gt;True&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;If&lt;/span&gt; openIt &lt;span class="ls-statement"&gt;Then&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-function"&gt;Call&lt;/span&gt; ws&lt;span class="ls-operator"&gt;.&lt;/span&gt;EditDocument&lt;span class="ls-operator"&gt;(&lt;/span&gt;&lt;span class="ls-constant"&gt;False&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;docParent&lt;span class="ls-operator"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;Else&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-function"&gt;Messagebox&lt;/span&gt; &lt;span class="ls-quote"&gt;"Cannot open requested document. This may be because "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;#38;&lt;/span&gt;&lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-quote"&gt;"the selected document is an orphan or because "&lt;/span&gt; &lt;span class="ls-operator"&gt;&amp;#38;&lt;/span&gt;&lt;span class="ls-operator"&gt;_&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-quote"&gt;"you do not have access to the requested document."&lt;/span&gt;&lt;span class="ls-operator"&gt;,&lt;/span&gt;48&lt;span class="ls-operator"&gt;,&lt;/span&gt;&lt;span class="ls-quote"&gt;"Open Document"&lt;/span&gt;&lt;br /&gt;   &lt;span class="ls-statement"&gt;Exit&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;  &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;span class="ls-statement"&gt;End&lt;/span&gt; &lt;span class="ls-statement"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="FONT-SIZE: 8pt; COLOR: gray; FONT-FAMILY: sans-serif; BORDER: 1 solid Grey; margin : 5px 50px 5px 50px;"&gt;&lt;center&gt;This LotusScript was converted to HTML using the &lt;b&gt;&lt;i&gt;ls2html&lt;/i&gt;&lt;/b&gt; routine,&lt;br /&gt;provided by Julian Robichaux at &lt;a href="http://www.nsftools.com" target="_blank"&gt;nsftools.com&lt;/a&gt;.&lt;/center&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114351857242467809?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114351857242467809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114351857242467809&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351857242467809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351857242467809'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/show-n-tell-thursday.html' title='Show-n-Tell Thursday'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114351829343691794</id><published>2006-03-27T22:56:00.000-05:00</published><updated>2006-03-27T22:58:13.436-05:00</updated><title type='text'>Air Travel Can Be Bad for Your Mental Health</title><content type='html'>&lt;span style="font-style: italic;"&gt;Originally posted on February 15, 2006&lt;/span&gt;&lt;br /&gt;&lt;p&gt;OK, so anyone who has flown more than a few times has probably had a frustrating experience. My most recent ones were more memorable to me because they happened in such a short period of time. And to think we get to *pay* for all this “fun”.&lt;/p&gt;  &lt;p&gt;I made it to Orlando when I was supposed to, had no tight connections or changes, but my luggage decided to stay in Detroit for a while longer. I had someone meet me at the airport and they ended up hanging out until 11:30 before driving 90 minutes back home. The voicemail finally came at 4:30 that the luggage was at the hotel. We should have just gone back to the airport!&lt;/p&gt;  &lt;p&gt;I flew from Orlando to St. Louis for the weekend and that went OK. Until the trip home. A mechanical problem delayed us out of St. Louis, which meant I missed my flight out of Detroit. I got on standby for the next flight out and was sweating to see if I’d make it (otherwise it would be a long walk and two more hours in the Detroit airport). Fortunately, I made it and so did my luggage.&lt;/p&gt;  &lt;p&gt;Then Friday we flew down to Tampa. We got on the plane in Detroit and sat for 20 minutes before they said they needed to service the lavs. Then 20 minutes later we heard that they needed to service the water in the plane. Then 10 more minutes and they said there would be a 60 minute ground stop because of weather in Tampa (which was, admittedly, bad - 8 inches of rain in 12 hours). I suppose it was better to be on the ground than to be circling northern Florida waiting for the weather to clear, but it wasn't like the plane came in 30 minutes before we left - why couldn't they have taken care of the other stuff before?&lt;/p&gt;  &lt;p&gt;We took off 90 minutes late, flew around thunderstorms and came through another one just before landing. Of the four of us, only the one sitting next to me (our 3yo) threw up. No more details than that are needed.&lt;/p&gt;  &lt;p&gt;But, it's vacation and the worst February day in Florida is better than the best February day in Michigan.  How bad can it be?&lt;/p&gt;  &lt;p&gt;BTW, our trip back from Tampa was completely uneventful.  Just a l-o-n-g layover in Detroit.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114351829343691794?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114351829343691794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114351829343691794&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351829343691794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351829343691794'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/air-travel-can-be-bad-for-your-mental.html' title='Air Travel Can Be Bad for Your Mental Health'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114351820313384405</id><published>2006-03-27T22:54:00.000-05:00</published><updated>2006-03-27T22:56:43.136-05:00</updated><title type='text'>Is This Thing On?</title><content type='html'>&lt;span style="font-style: italic;"&gt;Originally posted  February 15, 2006&lt;/span&gt;&lt;span class="body"&gt;&lt;p&gt;Well, since Jess offered, I’m going to give blogging a try. Time will tell if I have anything interesting or worthwhile to say. This was really supposed to be posted a week ago, but vacation (of all things!) interrupted.&lt;/p&gt;  &lt;p&gt;Went to my first Lotusphere this year.  What an incredible time!  Since reviews of the sessions have been &lt;a href="http://www.jonvon.net/"&gt;blogged&lt;/a&gt; &lt;a href="http://www.nsftools.com/blog/CurrentBlog.htm"&gt;all over&lt;/a&gt; &lt;a href="http://www.controlscaddy.com/"&gt;the place&lt;/a&gt; &lt;a href="http://www.lotusgeek.com/"&gt;already&lt;/a&gt;, I won’t rehash them. I did attend a lot of the sessions on using DB2 with Notes/Domino and I can’t wait to get 7.01 installed (although, that &lt;a href="http://blog.vinceschuurman.com/vince/home/ndt4.nsf/%28LUBlogContent%29/200602092106"&gt;might not be the best idea&lt;/a&gt; in some cases). We have a few applications in place already that might benefit from NSFDB2. The Office integration stuff that &lt;a href="http://www.johndavidhead.com/jhead/johnhead.nsf/dx/jmp204---the-hitchhikers-guide-to-microsoft-office-integration-with-lotus-notes-and-domino"&gt;John Head showed&lt;/a&gt; will come in handy as well.  And the stuff that &lt;a href="http://www.lotusgeek.com/SapphireOak/LotusGeekBlog.nsf/d6plinks/ROLR-6LUS98"&gt;Rocky showed&lt;/a&gt; was - as he says - just plain kewl.&lt;/p&gt;  &lt;p&gt;So here are some personal experiences from the week:&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt; Best experience: standing around the fountain in the Dolphin meeting a lot of people who I have read online&lt;/li&gt;&lt;/ul&gt;&lt;span class="body"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt; Worst experience: peeling (literally) my lips from the frozen fruit treat we had on Wednesday&lt;/li&gt;&lt;/ul&gt;&lt;span class="body"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt; Surreal experience #1: sitting at lunch when a group of IBMers filled the rest of the table and talking with Chris Reckling and someone who was involved with the initial involvement of NSFDB2 development (sorry I can’t remember his name).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="body"&gt;&lt;p&gt; Surreal experience #2: Being part of the group that walked into Boardwalk Brewery, rearranged half the tables and chairs, stood there a minute, then put them all back and walked out.&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="body"&gt;  &lt;p&gt;Thanks to jonvon for encouraging me to blog and to Jess for encouraging and offering a way to do it.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114351820313384405?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dmcnally.blogspot.com/feeds/114351820313384405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24863326&amp;postID=114351820313384405&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351820313384405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114351820313384405'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/is-this-thing-on.html' title='Is This Thing On?'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24863326.post-114350418994400581</id><published>2006-03-27T19:02:00.000-05:00</published><updated>2006-03-27T22:53:03.020-05:00</updated><title type='text'>Welcome!</title><content type='html'>So here is my own blog.  I will be reposting the entries I made at &lt;a href="http://www.mattandjess.net/blog"&gt;Jess' site&lt;/a&gt;, but I had to start somewhere, so here it is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24863326-114350418994400581?l=dmcnally.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114350418994400581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24863326/posts/default/114350418994400581'/><link rel='alternate' type='text/html' href='http://dmcnally.blogspot.com/2006/03/welcome.html' title='Welcome!'/><author><name>Don McNally</name><uri>http://www.blogger.com/profile/17995406659448494074</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
