<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Nevermind.dk</title>
    <link>https://nevermind.dk</link>
    <description>Nevermind.dk...HCL Notes,HCL Domino,XPages,Life...</description>
    <item>
      <title>Notes Client - sending crazy key combinations to interact with Windows</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/notes-client---sending-crazy-key-combinations-to-interact-with-windows</link>
      <description>In my earlier blog entry I showed how to refresh the Notes Client UI with F5 sending key presses from code.

Using the same technic you can do some wild stuff, since you can almost simulate any keypress on the keyboard.

In an Action button you could for example:

- create email (CNTL + M)
- log out of Notes (CNTL +F5)
- lock Windows  Windows key + L)
- show emoji bar (Windows key +.)
- show previews of open applications (Windows key  + tab)
- print screen (ALT + PrnScr)

Also you could play back longer sequences of keypresses:

Robot robot = new Robot();      
robot.setAutoDelay(500);    
//WinKey + Q  search
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyPress(KeyEvent.VK_Q);
robot.keyRelease(KeyEvent.VK_WINDOWS);
robot.keyRelease(KeyEvent.VK_Q);

//C
robot.keyPress(KeyEvent.VK_C);
robot.keyRelease(KeyEvent.VK_C);

//m
robot.keyPress(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_M);
//d
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
//enter
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
//D
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
//I
robot.keyPress(KeyEvent.VK_I);
robot.keyRelease(KeyEvent.VK_I);
//R
robot.keyPress(KeyEvent.VK_R);
robot.keyRelease(KeyEvent.VK_R);
//enter
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);


try it  ! :-)


This will go to Windows Search, and search for CMD,  open the Command Prompt, and enter the DIR command.

So you are probably wondering ...can I also open it in Administrator mode and do "bad stuff"?  :-)

No..., it seems the keyboard buffer is ignored .... fortunately :-)

(you do need to have a pause in between commands, 0,5 second is maybe a little long but you can better see what is going on then)   

What about a scheduled agent in Domino?.....</description>
      <pubDate>Thu, 27 Mar 2025 22:34:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/notes-client---sending-crazy-key-combinations-to-interact-with-windows</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2025-03-27T22:34:00Z</dc:date>
    </item>
    <item>
      <title>F5 - UI refresh from code</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/f5---ui-refresh-from-code</link>
      <description>In the Notes client you can refresh the UI by pressing the F5 (F9) button. 
This means for a document the UI document gets recalulated and updated. 
There are methods to something similar in code, UI.reload, UI.refresh etc, 
In the backend document you can call doc.computewithform, but my experience is that with a complicated form with maybe both LotusScript and Formulas it will often fail.

Sometimes you just need a simple F5 refresh to update the document...because it works.

So here is a way to make a F5 refresh from LotusScript and Java.

Java: 
System.setProperty("java.awt.AWTPermission", "createRobot"); 
Robot robot = new Robot(); 
robot.keyPress(KeyEvent.VK_F5); 
robot.keyRelease(KeyEvent.VK_F5);       

LotusScript:
Dim mySession As JAVASESSION 
Dim Systemclass As JAVACLASS 
Dim RobotClass As JAVACLASS 
Dim robotObject As Javaobject 
Set mySession = New JavaSession () 
Set SystemClass = mySession.GetClass("java.lang.System") 
Set RobotClass = mySession.GetClass("java.awt.Robot") 
Call SystemClass.setProperty("java.awt.AWTPermission", "createRobot") 
Set robotObject = RobotClass.Createobject() 
robotObject.keyPress(116) 
robotObject.keyRelease(116) 

You really do not need to call
System.setProperty("java.awt.AWTPermission", "createRobot");
to make the code work.
However for other Robot functionality, you will need it, so it is just show you how to</description>
      <pubDate>Thu, 27 Mar 2025 13:40:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/f5---ui-refresh-from-code</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2025-03-27T13:40:00Z</dc:date>
    </item>
    <item>
      <title>Notes 14 issues with Java and Locales</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/notes-14-issues-with-java-and-locales</link>
      <description>If you work in an International company you know all about the pain of different date, number etc formats around the world.

I have a CRM project at a customer where PDF invoices are created from Notes/Domino data. On each invoice the date and number formats are dependant on in which country the customer resides.

The invoices are created in Java and have been working great for a number of years.

Recently I have begun upgrading users to Notes 14. Then suddenly some users could no longer create the invoices for some countries, dates and numbers would be missing.  

I could not exactly pinpoint where the issues were, but it had to do with Java Locales

After running up and down the Internet and looking everywhere....It got clearer to me things had changed after Java 8 (used in Notes 12), how locales are handled in Java. 

It does not matter if your code is compiled to Java 8,it is a runtime issue. 

It is described well here: https://incusdata.com/blog/locale-problems-upgrading-java8.

So there is a workaround how use the "old" way like in Java 8.

You need to add the parameter -Djava.locale.providers=COMPAT when the VM is run.

I was a little unsure how to do this in Notes, however Jesse Gallagher pointed to the use of a JavaOptions file.

In notes.ini add an entry JavaUserOptionsFile=Path/Filename   pointing to a text file with the VM paramters
     
Lo and behold ..it worked and the invoice PDF creation is working again.    


Links:

https://github.com/elastic/logstash/issues/12409
https://incusdata.com/blog/locale-problems-upgrading-java8
https://admincamp.de/customer/notesini.nsf/85255a87005060c585255a850068ca6f/2865a6a9b1bd5a7bc1257264004ff8ca?OpenDocument</description>
      <pubDate>Mon, 07 Oct 2024 16:23:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/notes-14-issues-with-java-and-locales</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2024-10-07T16:23:00Z</dc:date>
    </item>
    <item>
      <title>HCL Notes-Domino mail routing issue, "No names found to send mail to"</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-notes-domino-mail-routing-issue-no-names-found-to-send-mail-to</link>
      <description>There has been an email routing issue for years at a customer which I could not get my head around. Sometimes it seems someone would get the error for no apparent reason.
Today I might have circled in on what the issue is or rather what the bug in Notes/Domino is   

I have tested and confirmed it on two different Domino 2 systems. 

Scenario: 

A = external mail user (MIME/SMTP)
B = internal mail user (Domino mail routing) 
C = internal used mail-in database (does NOT have an internet Email address, only Notes/Domino address) 

A sends email to B.
B receives the email over SMTP as an MIME email.
B forwards the email to C using Notes address. 

The email does NOT get delivered to C. 

The Notes client fails to lookup the correct internal Notes address, but instead tries to lookup the internet email address (which does not exist) and fails. 
The email then gets stuck in users local Outbox with error "No names found to send mail to" and no recipients in the email.




  
(As a further issue the email in the local Outbox with no recipients will block and delay for further mail to be send from the user, to much annoyance for the user)   

If there are other internal recipients in the email in Sendto, CC  which do have an internet address, they will get the email.
Only the mail-in database with no internet address will NOT get the email.    
  
The correct routing would be to lookup the internal Notes address first for the Mail-in database and send the email to that address, before trying to send to Internet Email address.. 

(I have created a case at HCL)</description>
      <pubDate>Tue, 27 Aug 2024 12:35:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-notes-domino-mail-routing-issue-no-names-found-to-send-mail-to</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2024-08-27T12:35:00Z</dc:date>
    </item>
    <item>
      <title>Classic Domino and HTML 5</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/classic-domino-and-html-5</link>
      <description>Sometimes a simple web application based on classic Domino is in place.

However Domino has not been updated in this area for many years. 
If you create a form and use it on the web it will create a very old HTML document type.      

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;

In 2024 you probably want to use HTML 5 and some of the newer features in it.

Fortunately you can change it to HTML 5.

Example:

Add a field, "Computed for display"  type, named $$HTMLFrontMatter and set it to "&lt;!DOCTYPE html&gt;"   

Here is simple example using HTML 5 features.



Adding the "required" property to the field for HTML 5 client validation

 

In browser this will show if you try to submit an empty field


Also you can see the HTML 5 feature of showing SVG graphics.


Note ... on Database properties you need to turn of "Use JavaScript when generating pages" to make validation work</description>
      <pubDate>Tue, 28 May 2024 13:15:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/classic-domino-and-html-5</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2024-05-28T13:15:00Z</dc:date>
    </item>
    <item>
      <title>The very useful little feature of a NotesItem</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/the-very-useful-little-feature-of-a-notesitem</link>
      <description>Sometimes there are these little things that you somehow do not notice ...until one day you do.
The thing I stumbled on, is that the NotesItem has a property called "SaveToDisk". 
You can set whether a NotesItem should be saved to disk or not when a document is saved.
And that is really cool. Why ?
Because this a a great way to have temporary values and calculations on the document itself, when you are working with the document
and you do not have to worry about ever getting these values on the disk version of the document.</description>
      <pubDate>Sun, 01 Oct 2023 20:57:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/the-very-useful-little-feature-of-a-notesitem</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2023-10-01T20:57:00Z</dc:date>
    </item>
    <item>
      <title>Workspace all grey - no icons - workaround</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/workspace-all-grey---no-icons---workaround</link>
      <description>If you are running Notes 12.0.2 or higher you will for sure at some point run into an error were the workspace tabs fills out the entire workspace and you can not access you workspace database icons no more.

There is nothing you can do in the UI to fix it.

The problem is due to a new setting in the notes.ini and and is easy fixable, if you know what to fix

You need to reset a new setting in 12.0.2 to default and it works again after a Notes restart.

Workspace_Navigator_Width=170

Or just create a button with the LS code and send it to the user.

Sub Click(Source As Button) 
        Dim session As New NotesSession 
        Call session.SetEnvironmentVar( "Workspace_Navigator_Width", "170",True ) 
End Sub    

UPDATE:

Just saw another variant where workspace fills all area and no tabs. Fortunately same fix :-)</description>
      <pubDate>Wed, 17 May 2023 09:11:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/workspace-all-grey---no-icons---workaround</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2023-05-17T09:11:00Z</dc:date>
    </item>
    <item>
      <title>HCL Verse contacts integration on Samsung phones not working - a quick workaround</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-verse-contacts-integration-on-samsung-phones-not-working---a-quick-workaround</link>
      <description>There has been a very annoying bug in HCL Verse on Samsung for a long time.

The integration from HCL Verse contacts to other apps on the phone breaks. 

This meant that in recent calls, SMS  etc only a phone number would be shown, and not the name of the contact.

A reinstall of HCL Verse would normally fix this for a while and then it would break again. 

HCL blames Samsung for the issue, and the issue does not seem to get fixed.

I have found a quick workaround to fix the issue when it arises.

Go to Application settings in HCL Verse and then to the "People" section.

Unclick "Export Verse Contacts", and enable it again.

This will get Contacts integration working again (...until it breaks again)</description>
      <pubDate>Tue, 21 Feb 2023 09:34:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-verse-contacts-integration-on-samsung-phones-not-working---a-quick-workaround</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2023-02-21T09:34:00Z</dc:date>
    </item>
    <item>
      <title>HCL Domino, view indexer stuck with very high CPU usage</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-domino-view-indexer-stuck-with-very-high-cpu-usage</link>
      <description>I have a customer who has a Domino server running with very high CPU usage, and it should not, since it is not a very busy server. 

It is the indexer which gets stuck with very high CPU usage




I have a support case with HCL.

It seems that it is the dynamic view indexing added to the recent releases of Domino which is the reason behind this.   

This feature polls the database for data for getting information on which views are frequently updated.

https://help.hcltechsw.com/domino/11.0.0/high_usage_views.html

Disabling the feature brings back the CPU usage to normal again.

You can do this by setting NIF_VIEW_USAGE_ENABLED=0 in notes.ini, if you have enabled the feature</description>
      <pubDate>Mon, 02 Jan 2023 11:39:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-domino-view-indexer-stuck-with-very-high-cpu-usage</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2023-01-02T11:39:00Z</dc:date>
    </item>
    <item>
      <title>HCL Notes 12.0.2 - New Signature feature seems broken</title>
      <link>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-notes-1202---new-signature-feature-seems-broken</link>
      <description>To test the new HCL Notes 12.0.2 "Signature" feature  I created a simple form with a Rich Text Lite field for testing out the feature.

I have have removed all options,but the signature feature for the field.
This what the RT field looks like in edit mode before entering data

Clicking on the button shows a dialog box for entering a signature
This is what I entered in the signature dialog box



This is what it looks like after clicking on the OK button


(it looks the same in read mode) 
Only a part of the image seem to be saved in the field.

Only a part of the image seem to be saved in the field.

(UPDATE: Apparently the issue is in 64 bit version only)</description>
      <pubDate>Sun, 20 Nov 2022 23:10:00 GMT</pubDate>
      <guid>http://nevermind.dk/nevermind/blog.nsf/subject/hcl-notes-1202---new-signature-feature-seems-broken</guid>
      <dc:creator>Jesper B. Kiær</dc:creator>
      <dc:date>2022-11-20T23:10:00Z</dc:date>
    </item>
  </channel>
</rss>

