Friday, March 30, 2007

my Diploma

Today I received my diploma with honor from my University. That was end of my official student life :).

Tuesday, March 20, 2007

sync Domino and Exchange

I have gotten opportunity to work in team that develop "Exchange 12". The PM of this team proposed me to explore possibility sync. Domino with Exchange via Notes API, and if it would possible make a prototype. This really interesting area, I think about this before... I read many forums and articles in this area, and to tell the true I did not find right way. By the way I find only one good "article" on IBM's forum

Monday, March 12, 2007

Lotus Notes/domino R8

I downloaded Lotus Notes/Domino R8 today and to tell the true it didn't justify my hopes. I thought that IBM made Lotus Notes R8 like Eclipse, but... There are only some new features that I see. So Lotus Notes still Lotus Notes :).

Tuesday, March 06, 2007

Folder with shared actions to DXL

I try to explain my task and a problem.
I must export ($Inbox) folder from my mail database to DXL file, then do modification in this DXL file (add action) and then I must import it into another database. But as you know folder ($Inbox) has shared action. So when I export folder to DXL file I see that the content of file contains next text

and of course, when I try to import DXL file as folder it generate bad folder. You can try it and you will see what I mean.
I have only 1 good idea, how to export folder with no . I must copy it to another database and resave it. Then all shared actions will change their type to non shared actions and my task will be solved. Unfortunaly I cant do it :(.

Maybe anybody can help me ?

Friday, March 02, 2007


I want show my little but I think powerful application. It’s “Cross”. It allows registering database and then use it. Copy any database as link, then open cross.nsf and click “Paste DB Link” -> as a result you will see new document, when you click on it – the database it open. It’s something like as bookmark, but it’s not the end, it’s only 1 feature.

Second and main feature is that you can receive any database that contains in cross.nsf. Because when you register “database1” in CROSS you also create a profile document “cross” in “database1” that contain information about location of cross.nsf, (server and replica id). So you can receive cross database and then receive any database that register into it. I think it’s not bad if you have a big system with more then 5-10 databases and all of them are communicate with each other.

NotesNoteCollection + ExportDesignElement + NotesDXLImporter

Here, I try to explain you how we can change design document with Lotus Script.
For example you want to put a subformA from database1 to formA in database2.

1) So, firstly you must copy our subform from database1 to database2.
Dim nc As NotesNoteCollection
Dim doc As NotesDocument
Dim El As String
Dim nid As String, nextid As String
Dim i As Integer

Set nc = db.CreateNoteCollection(False)
Let nc.SelectSubforms = True
Call nc.BuildCollection

Set GetNoteElement = Nothing
Let nid = nc.GetFirstNoteId

For i = 1 To nc.Count
Let nextid = nc.GetNextNoteId(nid)
Set doc = db.GetDocumentByID(nid)
Let El = doc.GetItemValue("$TITLE")(0)
If El = “subformA” Then
Set GetNoteElement = doc
Let i = nc.Count
End If
Let nid = nextid

And then copy to database2 as usual notesdocument.

2) This is main step. You must take a formA from database2 and export it, then take the content of export file and add to it

Dim s As New notessession
Dim stream As NotesStream
Dim content As String
Set stream = s.CreateStream
If Not stream.Open(filepath, "UTF-8") Then
Print "Not open"
Exit Sub
End If
If stream.Bytes = 0 Then
Print "Not content"
Exit Sub
End If

Let content = stream.ReadText()

If Instr(content, {wtInclude}) = 0 Then
Let content = Replace(content, {}, {})
End If

Call stream.Truncate
Call stream.WriteText(content)
Call stream.Close

3) Then you must import this file to database2.

I tested it on XP and 2000, and it worked.