<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>lekkimworld.com - LotusScript category</title>
  <link>http://lekkimworld.com/categories/ls/</link>
  <description>a blog about lotus notes, domino, sametime, expeditor and a whole lot of java...</description>
  <language>en</language>
  <copyright>Mikkel Heisterberg (mh [at] intravision [dot] dk</copyright>
  <lastBuildDate>Wed, 01 Jul 2009 21:13:46 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://pebble.sourceforge.net/common/images/powered-by-pebble.gif</url>
    <title>lekkimworld.com (LotusScript category)</title>
    <link>http://lekkimworld.com/</link>
  </image>
  
  
  <item>
    <title>Doclinks and default views</title>
    <link>http://lekkimworld.com/2008/12/28/doclinks_and_default_views.html</link>
    
      
        <description>
          &lt;p&gt;
After spending a fair time troubleshooting an agent that send out e-mail I found the problem and the reason it didn&#039;t run. Once again it was because you apparently cannot create a doclink to a document in a database that doesn&#039;t have a default view. Why that is I do not know but that was the case... Again! I seen this before but it continues to amaze me. 
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <comments>http://lekkimworld.com/2008/12/28/doclinks_and_default_views.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2008/12/28/doclinks_and_default_views.html</guid>
    <pubDate>Sun, 28 Dec 2008 17:29:01 GMT</pubDate>
  </item>
  
  <item>
    <title>Discovering Notes 8: VMWare, Notes 8 and database corruption</title>
    <link>http://lekkimworld.com/2008/08/05/discovering_notes_8_vmware_notes_8_and_database_corruption.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;http://lekkimworld.com/images/notes8/notes8_100px.jpg&#034; style=&#034;float: left; &#034;/&gt;
For quite some time I have been a strong proponent of using VMWare for customer development. I used to have 2 or 3 Notes clients in various versions installed on my laptop with a directory pointer per customer linked into my main data directory. A little over a year ago I switched to using VMWare Workstation instead for all development. This setup worked out great for me.
&lt;/p&gt;
&lt;p&gt;
Some customers had their own VMWare images and some customers shared a VMWare image. This also worked out great. Once Notes 8 was released I moved my Notes 7.0.2 installation into a VMWare image with a directory pointer to my &#034;external&#034; Notes data directory. With &#034;external&#034; I mean outside the VMWare image OS. This works out great when running Notes 7.0.2 or earlier outside the VMWare image but once I upgraded to Notes 8 the problems started. I started experiencing database corruption issues of my mail database which I of cause access from both inside and outside VMWare.
&lt;/p&gt;
&lt;p&gt;
After diagnosing these issues I came the conclusion that this kind of setup just isn&#039;t supported with Notes 8 part of the mix. Therefore I have split my shared Notes data directory into two parts; a customer part which is accessible from inside VMWare and a production part which is only accessible from Notes 8 outside VMWare. This has solved the database corruption issues.
&lt;/p&gt;
&lt;p&gt;
While sharing directories linked in with directory pointers between running Notes instances has probably never been officially supported it used to work and now doesn&#039;t. I just thought I would share.
&lt;/p&gt;
&lt;p&gt;
Afterwards I have changed my setup again and moved completely to VMWare for development. In the new setup I have one or two VMWare images per customer (one for Notes and one for Domino) on an external USB drive with the correct Notes/Domino versions installed. This works great and has really simplified development and testing for customers. 
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <category>IBM</category>
    
    <comments>http://lekkimworld.com/2008/08/05/discovering_notes_8_vmware_notes_8_and_database_corruption.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2008/08/05/discovering_notes_8_vmware_notes_8_and_database_corruption.html</guid>
    <pubDate>Tue, 05 Aug 2008 07:19:01 GMT</pubDate>
  </item>
  
  <item>
    <title>Discovering Notes 8: How is your default browser configured?</title>
    <link>http://lekkimworld.com/2007/11/09/discovering_notes_8_how_is_your_default_browser_configured.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;http://lekkimworld.com/images/notes8/notes8_100px.jpg&#034; style=&#034;float: left; &#034;/&gt;
It appears there are two ways of specifying the default browser (the one to use then clicking a link in an e-mail) in Notes 8. One is on the &#034;Internet Browser&#034; tab of the location document and the other is on the &#034;Web Browser&#034; preferences page (see File/Preferences). The actual browser used to open links is the one configured in the preference pages.
&lt;/p&gt;
&lt;p&gt;
I found this strange so I digged around a little and I found the cause. The problem was that my personal name and address book wasn&#039;t upgraded to R8 design when my client was updated. This in turn meant that the location document form didn&#039;t show the help text describing this. After replacing my design I found the problem and could correct it. So when moving your users to Notes 8 be sure to upgrade the design of their personal address book.
&lt;/p&gt;
&lt;p&gt;
Good thing it&#039;s Friday!
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <category>IBM</category>
    
    <comments>http://lekkimworld.com/2007/11/09/discovering_notes_8_how_is_your_default_browser_configured.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2007/11/09/discovering_notes_8_how_is_your_default_browser_configured.html</guid>
    <pubDate>Fri, 09 Nov 2007 13:27:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Discovering Notes 8: Showing dialogboxes from SWT in Notes 8</title>
    <link>http://lekkimworld.com/2007/10/30/discovering_notes_8_showing_dialogboxes_from_swt_in_notes_8.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;http://lekkimworld.com/images/notes8/notes8_100px.jpg&#034; style=&#034;float: left; &#034;/&gt;
One of the big changes in Notes 8 is the move to a Java threading model which means that showing a messagebox is not something you can *just* do. This has implications for you if you&#039;re developing (or thinking of developing) UI components in Java for Notes 8. These UI components (e.g. sidebar contributions) are developed in SWT and hence follow the SWT way of doing it.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Please note:&lt;/strong&gt; Although the following may seem (overly) complex nothing of it is new when discussion UI development. The only difference between Notes 7.x and earlier and Notes 8 is that some of these aspects now rears their ugly head. 
&lt;/p&gt;
&lt;p&gt;
Now lets get to it... 
&lt;/p&gt;
&lt;p&gt;
Since only one thread can access the display and hence draw on the screen at any one time, requests to the display needs to be serialized. In Notes 8 and SWT this is done using the Eclipse Job API. This is done by encapsulating a piece of functionality and asking the platform (the &#034;scheduler&#034;) to execute it. The scheduler adds the job to a queue and and execute it once it is its turn. This may not happen right away though it mostly will.
&lt;/p&gt;
&lt;p&gt;
To display stuff in the UI you use an UIJob instance as shown below. This example simply shows a messagebox with some static content.
&lt;pre class=&#034;code&#034;&gt;
new UIJob(&#034;Rectangle&#034;) {
   public IStatus runInUIThread(IProgressMonitor arg0) {
      MessageDialog.openInformation(
         this.getDisplay().getActiveShell(), 
         &#034;HelloWorld&#034;, &#034;Hello SWT Job API World&#034;);
      return Status.OK_STATUS;
   }
}.schedule();
&lt;/pre&gt;
The second example will show you how to display some Notes data. Since access to the Notes API must be run in a specially initialized thread (remember NotesThread.sinitThread?) you have two options: 
&lt;ul&gt;
&lt;li&gt;Manually initialize a thread using NotesThread / extend NotesThread.&lt;/li&gt;
&lt;li&gt;Take the easy route and use NotesJob.&lt;/li&gt;
&lt;/ul&gt;
Using NotesJob is by far the easiest and will handle all the dirty details for you. When you do this you can also use the NotesPlatform class which is an (undocumented) way of getting a lotus.domino.Session instance inside Notes 8. 
&lt;/p&gt;
&lt;p&gt;
Using NotesJob will take care of getting at the data - to display it in the UI you still need an UIJob which is why I use two job instances in the example below. Since you can only access final variables from within inner classes I mark the name variable as final.
&lt;pre class=&#034;code&#034;&gt;
new NotesJob(&#034;Show messagebox&#034;) {
   protected IStatus runInNotesThread(IProgressMonitor arg0) throws NotesException {
      Session session = NotesPlatform.getInstance().getSession();
      Name n = session.createName(session.getUserName());
      final String name = n.getAbbreviated();
      new UIJob(&#034;My UI job&#034;) {
         public IStatus runInUIThread(IProgressMonitor arg0) {
            MessageDialog.openInformation(
               this.getDisplay().getActiveShell(), 
               &#034;Username&#034;, &#034;Username: &#034; + name);
            return Status.OK_STATUS;
         }
      }.schedule();
      return Status.OK_STATUS;
   }
}.schedule();
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
I hope this helps you.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Java</category>
    
    <category>LotusScript</category>
    
    <category>IBM</category>
    
    <comments>http://lekkimworld.com/2007/10/30/discovering_notes_8_showing_dialogboxes_from_swt_in_notes_8.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2007/10/30/discovering_notes_8_showing_dialogboxes_from_swt_in_notes_8.html</guid>
    <pubDate>Tue, 30 Oct 2007 07:45:38 GMT</pubDate>
  </item>
  
  <item>
    <title>Discovering Notes 8: More nice Notes 8 $fields</title>
    <link>http://lekkimworld.com/2007/10/08/discovering_notes_8_more_nice_notes_8_fields.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;http://lekkimworld.com/images/notes8/notes8_100px.jpg&#034; style=&#034;float: left; &#034;/&gt;
As &lt;a href=&#034;http://lekkimworld.com/2007/10/05/discovering_notes_8_automatic_loading_of_images_in_html_newsletters.html&#034;&gt;posted on friday&lt;/a&gt; there is a nice-to-know field in Notes 8 you can use to enable/prevent automatic loading of images in HTML newsletters. This morning I saw two new fields that seems to have AppDev applicability:
&lt;ul&gt;
&lt;li&gt;$AttBytesTruncated: Holds the amount of (binary) data truncated from the document and hence the amount of data needed to be fetched in order for the document to be fully fetched. This is a number field.&lt;/li&gt;
&lt;li&gt;$Abstract: Holds an abstract in plain text of the Body richtext field. This is a text field.&lt;/li&gt;
&lt;/ul&gt;
Both seems to be new (at least I haven&#039;t seen them before) and set on by the Notes 8 client since I&#039;m currently receiving my e-mail through a Domino 7.0.2 server (I know it&#039;s horrible to hear) and they are not visible in the fields list until I replicate the database to my client.
&lt;/p&gt;
&lt;p&gt;
Could be that it is simply because I truncate received e-mails but I don&#039;t think so.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <category>IBM</category>
    
    <comments>http://lekkimworld.com/2007/10/08/discovering_notes_8_more_nice_notes_8_fields.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2007/10/08/discovering_notes_8_more_nice_notes_8_fields.html</guid>
    <pubDate>Mon, 08 Oct 2007 06:17:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Discovering Notes 8: Automatic loading of images in HTML newsletters</title>
    <link>http://lekkimworld.com/2007/10/05/discovering_notes_8_automatic_loading_of_images_in_html_newsletters.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;http://lekkimworld.com/images/notes8/notes8_100px.jpg&#034; style=&#034;float: left; &#034;/&gt;
In Notes 8 there is this nice new and improved display of HTML newsletters. An additional nice feature is that images are prevented from loading to combat SPAM bots that harvest e-mail addresses by using dynamic image URLs. See below for a screenshot of how a HTML newsletter looks before images are allowed.
&lt;/p&gt;
&lt;p align=&#034;center&#034;&gt;
&lt;img src=&#034;http://lekkimworld.com/images/notes8/delayed_load_images.jpg&#034; /&gt;
&lt;/p&gt;
&lt;p&gt;
It would however be nice if I could setup a list of e-mail addresses where image loading was enabled by default such as for my favorite HTML newsletters. Well it isn&#039;t available out of the box with Notes 8 but you could easily write it yourself as an agent that processes incoming e-mail. 
&lt;/p&gt;
&lt;p&gt;
The agent only needs to set a text field called $DelayedImagesOK to the value &#034;ok&#034; (no quotes) for the e-mails where image loading should be enabled upfront.
&lt;/p&gt;
&lt;p&gt;
Happy Friday!
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <category>IBM</category>
    
    <comments>http://lekkimworld.com/2007/10/05/discovering_notes_8_automatic_loading_of_images_in_html_newsletters.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2007/10/05/discovering_notes_8_automatic_loading_of_images_in_html_newsletters.html</guid>
    <pubDate>Fri, 05 Oct 2007 12:41:19 GMT</pubDate>
  </item>
  
  <item>
    <title>Lotus Notes and Domino 8: What&#039;s New in LotusScript and Formula Language</title>
    <link>http://lekkimworld.com/2007/10/03/lotus_notes_and_domino_8_whats_new_in_lotusscript_and_formula_language.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;a href=&#034;http://www.lotusgeek.com/&#034;&gt;Rocky&lt;/a&gt; posted his &lt;a href=&#034;http://www.lotusgeek.com/SapphireOak/LotusGeekBlog.nsf/Downloads/ROLR-77KUV7/$File/CIB306.pdf&#034;&gt;slides &lt;/a&gt; from his &#034;Lotus Notes and Domino 8:
What&#039;s New in LotusScript and Formula Language&#034;-session from the Advisor summit. Besides being an interesting read it had two slides that really caught my attention (slide 11 and slide 25).
&lt;/p&gt;
&lt;p&gt;
When describing what&#039;s new in the upcoming Notes 8.0.1 (1Q2008) he mentioned a welcome change to a dear old friend: @Now (see slide 11):
&lt;ul&gt;
&lt;li&gt;@Now([NoCache]) - when checking the time
on a server forces a server transaction to fetch
the time.&lt;/li&gt;
&lt;li&gt;Without this keyword, @Now would cache the
server time on the first call, and compute the
current time by adding the cached time and
elapsed time.&lt;/li&gt;
&lt;li&gt;This causes problems if the system time on the
client or server machine changes once the server
time is cached.&lt;/li&gt;
&lt;li&gt;Note that using [NoCache] adds the significant
overhead of doing a server transaction on each
call.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;
On slide 25 Rocky mentions two additional commands to the ReadViewEntries beside getting the output in JSON instead of DXL. The two new nice parameters are &amp;EndView and &amp;KeyType=&amp;lt;text/time/number&amp;gt;. &amp;EndView returns entries from the end of the view and &amp;KeyType allows you to specify the datatype of the key which allows you to use other key types than text.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <category>IBM</category>
    
    <comments>http://lekkimworld.com/2007/10/03/lotus_notes_and_domino_8_whats_new_in_lotusscript_and_formula_language.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2007/10/03/lotus_notes_and_domino_8_whats_new_in_lotusscript_and_formula_language.html</guid>
    <pubDate>Wed, 03 Oct 2007 05:23:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Codestore: It&#039;s Always The Simple Tips That Are Best</title>
    <link>http://lekkimworld.com/2007/10/02/codestore_its_always_the_simple_tips_that_are_best.html</link>
    
      
        <description>
          &lt;p&gt;
Replace
&lt;pre&gt;
Dim tmpVar as Variant
Dim commonUsername As String
tmpVar = Evaluate( |@Name( [CN] ; @UserName )| )
commonUsername = tmpVar(0)
&lt;/pre&gt;
with
&lt;pre&gt;
Dim commonUsername As String
commonUsername = Implode(Evaluate(|@Name([CN];@UserName)|))
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
See full post at Codestore.net (&lt;a href=&#034;http://www.codestore.net/store.nsf/unid/BLOG-20071002&#034;&gt;It&#039;s Always The Simple Tips That Are Best&lt;/a&gt;) and a link to &lt;a href=&#034;http://dontpanic82.blogspot.com/2007/10/simplifying-evaluate.html&#034;&gt;Tommy&lt;/a&gt; who first blogged about it.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>LotusScript</category>
    
    <comments>http://lekkimworld.com/2007/10/02/codestore_its_always_the_simple_tips_that_are_best.html#comments</comments>
    <guid isPermaLink="true">http://lekkimworld.com/2007/10/02/codestore_its_always_the_simple_tips_that_are_best.html</guid>
    <pubDate>Tue, 02 Oct 2007 20:52:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>
