Thursday, February 12, 2009

overload of methods/functions in Lotus Script

I make overload for any methods/functions using next approach. It is quite simple and useful from my point of view

Sub new(key As Variant)
Select Case Typename(key)
Case "STRING":
call newForString(key) or do code
Case "NOTESDOCUMENT
call newForNotesDocument(key) or do code
Case "EMPTY
call newForEmpty(key) or do code
End Select

EncryptOnSend, how can we send encrypted email even if "aim-user" does not have a key to read it?

I was facing with interesting problem, have to send encrypted email to user even if user does not have a key to open/read encrypted email. Let's say in case if I user does not have the key to read/open encrypted email I would like to send him just a message with confirmation that he received an email that was encrypted by userA. So, my main point is to catch users which do not have key to read/open encrypted emails in moment when I send these emails.
Right now Domino automatically UNencrypt emails for users which do not have a key to read/open them.
From help: EncryptOnSend property
To encrypt a document when mailed, this method looks for the public key of each recipient in the Domino Directory. If it cannot find a recipient's public key, the method sends an unencrypted copy of the document to that recipient. All other recipients receive an encrypted copy of the document.

Wednesday, February 11, 2009

how we can check LIST for empty

Today I was faced with small issue, I realised that I don't know how to check LIST variable for empty. Really, I was so confused. I've done it using next approach, but to be honest I don't like it. If anybody knows better approch, please share it here!
...
isValid = False
Forall x In myList
isValid = True
Exit Forall
End Forall
...

Wednesday, February 04, 2009

How to disable autorunning SameTime in IBM Lotus Notes 8.5

After I installed LN 8.5 each time when I run LN8.5 the sametime run also. I don't like this because I don't use it. So if you want to disable it you should add/change variable in notes.ini
IM_DISABLED=1
IM_DISABLE=1
IM_SHOW_STATUS=1
com.ibm.collaboration.realtime.application/useSystemTray=false
Please notice 2 variations of IM_DISABLED / IM_DISABLE, it depends of version of LN you have, so if one does not work for you, try another setting.

Tuesday, January 20, 2009

Transfer file to WebService and Encode/Decode base64 string

I had a task where I should give opportunity to user send file to WebService written on Java. File always should come as decode base64 string, and in WebService I should decode string to normal (it should be DXL content as result) and then import it in a special database, so I had small problem with decode/encod (dont know why but it was happen). So here this simple exmplae how to do it

public class Base64Test {
public static void main(String[] args) throws IOException {
String str = "my string";

String s = new BASE64Encoder().encode(str.getBytes("UTF-8"));
byte[] bytes = new BASE64Decoder().decodeBuffer(s);
String result = new String(bytes, "UTF-8");
System.out.println(result);
}
}