Search This Blog

Wednesday, October 26, 2016

How to set Workspace as default homepage in IBM Notes client


Recently I've got the task to set up Workspace as default homepage in IBM Notes client for about 400 users.

Googling didn't really help - suggestion from IBM I found looked crazy and I didn't want to mess with it. My hope on Domino policies didn't work either - not sure, may be I missed something.

However I found another interesting thing that can be very helpful for resolving this task.
Database Bookmark.nsf (where Workspace is actually located) contains form "WPDiscoverChange"

with a button "Set Workspace as Home"

with @formula: @URLOpen("notes:///ClientBookmark?OpenWorkspace&SetAsHome")

This option opens many possibilities about how to programmatically set Workspace as Homepage:

1) Use any third party tool for a single mass-opening of mentioned URL for all users
2) Put NotesUiWorkspace.URLOpen() into PostOpen of Database Script of mail template with some additional logic to run it at once per each user
3) Send Notes-email with Notes-button "Click me" in body which would open the URL 
4) Send Notes-email with saved form that would open URL on email PostOpen event

The only one disadvantage of using this approach that I currently see is that Workspace will get active and gets in front of all windows in your Lotus Notes so if you put URL opening on mail database PostOpen even (Database Script) then user may be confused because Workspace window will cover Mail database window. However it should happen only once so I think I go with this approach than with the one suggested by IBM.

If you know better way - please share.

Thursday, July 21, 2016

Avoid processing items as both NotesItem and NotesMIMEEntity objects concurrently.

Hi guys

May be this will save a day to someone.

Let's imagine you need to send email with HTML inside.
In most of cases you would need to use NotesMIMEEntity class and probably some other MIME-related classes to build mail Body. Though it is possible to use the same classes to define Subject, SendTo, CopyTo and other mail headers people often use usual NotesItem-based syntax for the rest simple mail parameters.

However very important point is that as soon as you used NotesMIME-class you can NOT use NotesItem-based syntax until you close all NotesMIME entities.

So, if you write something like below, it will be rather OK

Set mailDoc = db.createdocument
mailDoc.Subject ="blablabla"
mailDoc.SendTo =""

Set mime = mailDoc.CreateMIMEEntity()
call maiDoc.send(false)

However, if you do it in another order you will reap problems sooner or later

Set mailDoc = db.createdocument
Set mime = mailDoc.CreateMIMEEntity()
mailDoc.Subject ="blablabla"
mailDoc.SendTo =""
call maiDoc.send(false)

The last example can even work when you try it, but then after some time users may complain about empty mail Body or something else.

If you really need to work with mail NotesItems after you used NotesMIME-classes you have to close all MIME entities first, for example, using method NotesDocument.CloseMIMEEntities.

Actually, everything I said here you can find in description of NotesMIMEEntity class in Usage part that I personally read not carefully enough.

Saturday, July 16, 2016

Third level in "Application links" section of Xpages Application Layout, WTF?


Do you know how to create a third level in "Application links" section of Xpages "Application Layout" control? It has to work but it doesn't.

Please look on my screen shots below.

Here is a simple page with a single "Application layout" control (Bootstrap theme).
I have added three levels for my top menu (in different ways).

However I can only see two first levels in browser and whatever I tried to do the third level never appears.

Do you know how to fix that?

I have the latest version of Extension Library (Jun 2, 2016) and Domino 9.0.1FP5

Thursday, March 24, 2016

How to get a list of components for not open Xpage ?

Hi guys.

Need a clue from people smarter than me :-)

The task is simple.
I am working on configurable fields validation functionality.
I want to provide application administrator with Web GUI where he/she can:

  1. choose database
  2. choose Xpage from selected database
  3. choose field from selected Xpage ( <-- Here is a problem )
  4. define validation rules for selected field
It can look like this, for example:

Monday, September 14, 2015

LDAP on Domino with iPhone (iOS8x) - can it work? (Updated)

Hi guys.

May be you can help me with this.
I need to provide users with ability to access Domino Directory (primary or additional) through iPhone LDAP account. Today I've spent a whole day on that and failed eventually. Sad feeling.

At the beginning the task looked extremely easy:
1) enable SSL on Domino server for Internet LDAP users ;
2) quick adjusting of Server document and Configuration document regarding LDAP task;
3) run "load ldap" from Domino console and enjoy;

I downloaded LDAP Admin (just a first link among search results) for testing purposes and made sure that everything worked perfectly. Here are a few proving screenshots.

Friday, September 11, 2015

A question: do you know how to disable/remove/cleanup Xpages tooltips in Domino Designer? They make me crazy.

Hi guys

Sometimes, when you work with XPages controls in Domino Designer you may see that your screen get slowly overwhelmed with hanged up tooltips.

It's soooooooo annoying.

I don't know how to get rid of them - the only one way is to completely close Domino Designer but I hate this option also. Here is what I have in my Domino Designer right now:

These tooltips are so hateful that I can see them even when I switch to Notes client

Do you know any workaround to get rid of them with some keys combination or some white or black or street magic ?

How to implement "Totals" with Data View control


Earlier I posted a question about how to implement totals with Data View control.
Thank's everyone for help.
Eventually I managed to do it and now I see that it was a shame to ask for help :-), too easy....

So, let me show you how I did it

1) Let's imagine we have a "Test" form with three fields "a", "b" and "c".

2) Then we create a simple Notes View with three categorized columns, which categorized columns for "a", "b" and "c" correspondingly. Important condition: each nested category column should contain a value of a parent category via some specific separator. I chose "###" as a separator.
You can use also this trick to make it working faster.
So, eventually we get something like this:
(just for clarification: the first document in the view has fields [a]="aaa", [b]="bbb" and [c]="ccc")

The first column with totals serves just for making the demo easier - I do not use it with Xpages so you may not create it.