In case if you have not seen this, have a look at the below link for the large collection of links to videos, demos and community websites around the Notes/Domino marketplace.
Have a look at all the TABS {Welcome, Market Buzz, Resources...}
its really a good resource for education on Notes and Domino.
My IBM Lotus Notes and Domino Buzz Kit <http://www.netvibes.com/tcoustenoble> {http://www2.netvibes.com/tcoustenoble#Developing_extensions <http://www2.netvibes.com/tcoustenoble>}
Also have a look at the
1.) LotusPlanet <http://planetlotus.org/> {<http://planetlotus.org/>}
2.) developerWorks e-kits <http://www-128.ibm.com/developerworks/offers/ekits/?S_TACT=105AGY01&S_CMP=BLOG> : its give you a collection of tutorials, articles, webcasts, podcasts, and demos about a particular product, task, or role.
{ http://www-128.ibm.com/developerworks/offers/ekits/?S_TACT=105AGY01&S_CMP=BLOG#lotus <http://www-128.ibm.com/developerworks/offers/ekits/?S_TACT=105AGY01&S_CMP=BLOG> }
Thanks,
Abhijit.
Monday, March 31, 2008
Notes and Domino Buzz Kit
Friday, March 28, 2008
In Place Merge Sort
Dim nHigh As Integer
Dim nMid As Integer
Dim nEndLow As Integer
Dim nStartHigh As Integer
Dim vTemp As Variant
Dim nCount As Integer nLow = nLow0
nHigh = nHigh0
If nLow >= nHigh Then
Exit Sub
End If nMid = (nLow + nHigh) \ 2 Call InPlaceMergeSort(vArray, nLow, nMid)
Call InPlaceMergeSort(vArray, nMid + 1, nHigh) nEndLow = nMid
nStartHigh = nMid + 1 While nLow <= nEndLow And nStartHigh <= nHigh
If vArray(nLow) < vArray(nStartHigh) Then
nLow = nLow + 1
Else
vTemp = vArray(nStartHigh)
For nCount = nStartHigh -1 To nLow Step -1
vArray(nCount + 1) = vArray(nCount)
Next
vArray(nLow) = vTemp
nLow = nLow + 1
nEndLow = nEndLow + 1
nStartHigh = nStartHigh + 1
End If
Wend
End Sub Sub sort(vArray As Variant)
Call InPlaceMergeSort(vArray, Lbound(vArray), Ubound(vArray))
End Sub
Thursday, March 27, 2008
Profiling agents and Web services
By using profile document developers can know total execution time taken by the agent in milliseconds. Here is how to profile an agent -
1. To enable profiling in an agent or Web service, select the Security tab of the properties box and check "Profile this agent" or "Profile this web service."
2. Run your agent
To view profile document results of latest run-
1. Select the agent and choose Agent - View Profile Results, or select the Web service and choose Design - View Profile Results.
Screen shot for profile document results is shown below:
For more information on the same please have a look at Designer Help Document.
Wednesday, March 26, 2008
Thing Two of Three about @Dbfunctions
Yesterday I talked about reasons to use a separate, hidden view for @DbColumn and @DbLookup. But if you choose to risk the wrath of harkpabst, and use a single view (without re-sorts!) for both users and lookups, can you at least mitigate the adverse effect on maintainability?
There is one thing you can do. For @DbLookup, for the argument that specifies what column to get the results from, you can code either a column number, or a name. For instance, if column 5 displays the field DateDue, you could write either:
You might have been taught that it's more efficient to use the column number because the value is read directly from the view index, whereas using a fieldname requires accessing the document, which is slower. This is only approximately true. The Designer help actually says, "Lookups based on view columns are more efficient than those based on fields not included in the view." Because DueDate is included in the view -- there's a column that displays that exact value -- the two formulas above are equally efficient. There may be some tiny difference between them, but very small compared to the extra time it takes to "crack open" the document note to read an item value that's not in a column, and I'm not actually even sure which is faster.
So, all right; that's nice. If the above two formulas are equally fast, there are two good reasons to use the second one.
- It's more readable.
- It's more maintainable because it won't break if you edit the view design and rearrange the columns. Even if you delete the column, the lookup will still work. It just won't be as fast.
"What!" (you might be saying to yourself) "Columns have names? Does he mean the column title?"
No. I'm referring to the column "programmatic name" which appears on the Advanced tab of the column properties. If the column just refers to a field, it's automatically assigned a programmatic name which is the name of the field. That's why "DueDate" works in the above formula. You're not referring to the field named DueDate in that formula; you're referring to the column by that name. If you write a formula in the column instead of selecting a field, the column is assigned a unique programmatic name of the form $n where n is a number, but you can change it if you like.
Now here's a key point: you can use the column name to specify the data column for your lookup. So if you know a column is called "$4", you can write:
Of course, $4 is not a very descriptive name to appear in your formula. If you want to use the column for lookups, I suggest entering a better name in the column properties.
One other fun thing you can do with column names (if you share my ideas of fun), is use them in the formulas of other columns. This is occasionally useful in avoiding a repetition of some complex calculation.
Tuesday, March 25, 2008
Notes Domino 8 LotusScript courses
The three new courses are Beginner LotusScript for Notes Domino 8, Intermediate LotusScript for Notes Domino 8, and Advanced LotusScript for Notes Domino 8. All three courses may be purchased individually. Another option is TLCC's Notes Domino 8 LotusScript Package, which includes all three courses. TLCC is having an introduction sale on the Notes Domino 8 LotusScript Package. Developers can save $800 compared to purchasing the courses separately if the package is purchased by April 15th.