Tuesday, July 27, 2010

Is there a Lotus Domino/Notes version feature comparison chart?

HI I have been searching for a list of new features added to each new version of Domino/Notes. I would like to start at R5 but R6 would be the minimum.

I could also use links to release notes to all versions from R5 or R6.
If there is not one is this something I should create?

Thoughts?

Monday, May 17, 2010

Why did IBM let Chrysler Go?????

I start by re-iterating that this post is purely my opinion and not that of my Employers, or anything else that I am even remotely connected with.

OK Chrysler is moving away from Notes. Moving to a hosted Exchange/Sharepoint environment! Now granted, I have no prior knowledge to this prior than hearing about it today, but I think it would be a great win if IBM could propose a LotusLive solution and show the tremendous cost savings they would have keeping their thousands of apps in Notes.

In my day job, I unfortunately hear about customers moving away from Lotus Notes quite frequently. This is by far the biggest. The second biggest,we were able to help fend off the migration and they are still on Notes.

Sadly Chrysler's plan is already in motion. I do not know what else to say

Wednesday, May 12, 2010

Chris Toohey Spoke at NELUG meeting last night

While in Boston for the VIEW admin/developer conference Chris Toohey took the time to come and speak at the New England Lotus User Group Meeting.

He talked about Xpages, specifically custom controls.

Chris was a very entertaining and informative speaker. He spoke for about two hours and showed off some cool tips.

I am envious of attendees of the The View conference this week, you will have 3 chances to hear him speak. If you are attending the conference do NOT miss his sessions you will be enlightened.

Thursday, March 25, 2010

Call an external program with Lotusscript and wait for it to finish before continuing with your code

I occasionally need to call out to a batch file or an executable in my Lotusscript. The problem is the code has no native way of knowing when the external process has completed. Hence Execute and wait.

Using the windows API you can create a process and wait for it to complete in you lotusscript code before continuing.

an example would be where you need to run a command-line tool, with arguments, from your code. The output is a csv file that you then need to import. The size of the data is not guaranteed so you need to wait for the windows process to complete before importing.

Example code below


'this is the win32 api information

Const NORMAL_PRIORITY_CLASS = &H20&
Const INFINITE = -1&

Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Const STARTF_USESHOWWINDOW = &H1
Const SW_MINIMIZE = 6

Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type

Declare Function CloseHandle Lib "kernel32" (hObject As Long) As Boolean
Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long,ByVal dwMilliseconds As Long) As Long
Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As Long,ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVallpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO,lpProcessInformation As PROCESS_INFORMATION) As Long


Sub Initialize()

Dim cmdline As String ' this it the command you wish to run
cmdline = "application.exe -r -p -l output.csv"

Call ExecuteAndWait(cmdline)
msgbox "process finished"
end sub

' this creates the windows process and waits for it to finish before continuing on
Sub ExecuteAndWait(cmdline)
Dim NameOfProc As PROCESS_INFORMATION
Dim NameStart As STARTUPINFO
Dim X As Long
NameStart.wShowWindow = SW_MINIMIZE
NameStart.dwFlags = STARTF_USESHOWWINDOW
NameStart.cb = Len(NameStart)
X = CreateProcessA(0&, cmdline, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS,0&, 0&, NameStart, NameOfProc)
X = WaitForSingleObject(NameOfProc.hProcess, INFINITE)
X = CloseHandle(NameOfProc.hProcess)
End Sub


There you have it pretty simple and straightforward. As always let me know if you have questions

Monday, March 1, 2010

If nobody knows how to do something, how can you do it wrong?

I used this as a Facebook status update last week after I used it as a comment in a meeting.
I was funny to me at first, and then I thought about it.

If nobody knows how to do something, how can you do it wrong?

In our work lives we have may different tasks to do. For some it is coding, others keeping the servers up, etc. How often could we apply this statement?

I have quoted this a few times in the past when give vague instructions for my team to do something.

Team member: “How do we do that John?”
Me: “Well we will have to figure it out”
Team member: “what if we mess up or do it wrong?”
Me: “If nobody knows how to do something, how can you do it wrong?"

My point is that not knowing what you are trying to accomplish, before you start it, is a dangerous thing way to start a project.

Know the details, get exact requirements (No laughing please) and map out what you are going to do. A little more work up front is well worth it in the end

Monday, February 22, 2010

Why I like the Lotus Software Certification Program or Change does happen

In my last post blogged about the certifications I recently attained. I was awaiting word on the Domino security Professional Certification.

Well the Lotus Education team reviewed my points and decided that have Lotus domino 8.5 Certification, with the Domino security test DOES meet the requirements for the Domino advanced Security Professional certification.

I have nothing but high praise for both William McCook and Sara Nicklin of The Professional Certification Program from IBM. They listened to my reasoning on this and were more than helpful.

So change does happen.

Monday, January 25, 2010

Finally updated my certification

After letting my Administration certification lapse since R5, I decided to get back in gear.
As well as updating my Application development form R7
I am now officially:
IBM Certified Advanced Application Developer - Lotus Notes and Domino 8.5
IBM Certified Advanced System Administrator - Lotus Notes and Domino 8.5
I also passed the Domino Advanced security Professional for Lotus Domino 8. I am waiting to hear if I get the certification though, due to the pre-requisite of Domino 8 admin not 8.5. We shall see.

No Lotusphere for me this year. I submitted 3 abstracts that did not get accepted. I will be doing something with them here.

Debating on getting more advanced certification with ITIL, not sure yet.

Otherwise I have found some more cool code/ideas to share over the coming months.
I will be updating the Microsoft constants database with Office 2010 constants soon. That is my next focus.

Talk to you soon