BUG: Compress Design – Use With Caution

I a recent post I wrote that under some circumstances a database compact on a Domino 8.5 server can corrupt java applets in the database design.

Today, IBM support confirmed this as a bug:

Hello,

I was able to reproduce the issue you reported following your steps to
recreate.
This seems like a bug alright. I am going to create a new Software Problem
Report on this issue which will be brought to the attention of Level 3.

Notes 8.5 and Traveler 8.5 Multilingual

Lotus Notes Standard and Basic Client 8.5 and Lotus Notes Traveler 8.5 are available on Passport Advantage in the following languages:

Catalan, Chinese Simplified, Chinese Traditional, French, German, Italian, Japanese, Korean, Portuguese Brazilian, Spanish

You cannot find these downloads? Well, you have to open the IBM Lotus Notes and Domino 8.5 Multiplatform Japanese eAssembly(CR89HJA) category 🙂


Traveler 8.5: “Wipe device” – Follow Up

I a recent post I wrote about the “wipe device” feature that is new with Traveler 8.5 and does not work on my Nokia E61i.
I created a PMR to clarify, if the “wipe device” feature is available for Nokia S60 devices als well.

Today IBM came up with the following answer:

This error message is as designed. The Traveler 8.5 client for Nokia
S60 does not support the device wipe feature or the device security 
policy feature. Performing the wipe will block the device from syncing
with the server until a "Clear wipe" is performed.

and a second one:

Hello Ulrich

Following on from our phone conversation today I have created an 
enhancement request SPR # PPOR7NCEFE  requesting that this future be 
added to future releases. ...

Name Lookup

Traveler 8.5 come with some new features. One feature that is still missing is the name lookup. It was supposed to be in Traveler 8.5 but isn’t.

Found this information on Bastian Wieczorek’s blog

The name lookup feature of Lotus Notes® Traveler allows mobile users to search for and find information about users in the Domino® directory, or remote directories if directory assistance is configured. The name lookup feature can be accessed by selecting Lookup Name on the tools menu of the Lotus Notes Traveler client. By default, name lookup returns the first 25 results for a given query and returns names, telephone numbers, and e-mail addresses. You do have the option to customize the name lookup feature to best fit your needs.

isn´t included in the 8.5 Release. It is planed to add it in a later release.


Noteshound 8.0.0 is out

This is the first NotesHound version ever that is completely DXL-free.
Two new applications have been added to the package, bringing the total number of applications in the set to seventeen.

New applications in Noteshound 8.0.0 are:

Refresh/Replace Design
Allows you to refresh or replace the design of one or more databases/templates.

Keyword Cleaner
Allows you to manipulate content of keyword fields in documents and help reduce the size of these fields to avoid the 64 KB limit.

For more information goto www.noteshound.com


Compress Design – Use With Caution

Starting with ODS 48, Notes / Domino supports design and document compression, which can save you plenty of disk space. Today I had to learn that it is not always recommended to use these features.

Earlier this morning I received a service desk call from our front desk. The front desk staff are using a Notes database to manage our car pool. The database is a simple 1 form 5 views database that sits on our server for almost 7 years now.

For a better overview of booked cars I had build in a java applet from jnotes.de. You can simply change the booking period by rezising the bar in the grid or drag and drop an existing booking for one car to another.

kfz

So far, so good.

The front desk guy complained in his service desk call that the applet did not display any longer.

This behaviour was reproducable in Notes 7.0.3 and in 8.0.2 and 8.5 as well. Finally I found the reason.

After Domino 8.5 was released, I upgraded our production servers. In addition, I used a load compact -c  -n -v to upgrade to ODS51 and enable document- and design compression not only on mailfiles but on several directories as well, including the one that contains our car pool database.

I found out that the design compression corrupts the applet. After removing the flag from the database’s properties and replacing the applet, the database works again.

Update:

I did some testing; here are the results.

The original database has ODS43, no LZ1, No design- or datacompression enabled

I created a new copy (TEST1) on the server, ODS changed to ODS51   — Applet status: OK

I enabled data- and designcompression plus LZ1 and created a new copy ( TEST2) on the server. ODS changed to ODS51, Applet status: OK

On the server I triggered load compact -B TEST2; Applet status: OK

On the server I triggered load compact -c -ZU -n -v TEST1; Applet status: *#@@*BANG!!

UPDATE (14.01.2009)

Reproducable on 8.0.2


Traveler 8.5 – “Wipe device” not available?

I’ve installed Traveler 8.5 and wanted to use the “wipe device” action. All I get is this message

wipe2

I looked into the code of the “Wipe device” shared action in LotusTraveler.nsf. In line 103 I found this code:

If (Isempty(wipeSupported) Or "1" <> wipeSupported(0)) Then
confirmMsg = Strleft(NOWIPETEXT, "%0") + deviceName(0) + Strright(NOWIPETEXT, "%0")

Then I looked into the wipeSupported field of  the “Device” form.

wipe3

With a Default value of “0” the code to wipe the device is never executed.  So I tried to wipe the device by sending the signal via the server console:

tell traveler security addFlags wipeDevice IMEI:3518xxxxxxxxxxx CN=Ulrich Krause/O=singultus

The command is executed without errors and after the next sync, the device is no longer allowed to access the server. But the client and all data are still available

Seems that the function is not yet implemented properly. Or did I miss something??


Domino 8.5 and Compact

After upgrading 2 production servers to Domino 8.5 yesterday, I found this entry on the console when running a compact -c on the users mail mailfiles.

increasedby

I have seen this on several databases, but the amount of KB (  ~ + 11MB ) surprised me. Can someone explain this behaviour, pls?

All databases had ODS48 format with LZ1 compression and design and document compression enabled.


Get Column Totals with LotusScript

Here is a quick post in addition to my recent post on how to get sums / subtotals for a given category in a view with LotusScript.

totalsls

Assume, you want to get the total number of solved tickets. In my sample the value in question is located in column 7 at the very end of the ($ddTickets_ByMonthRep) view.

Here is the code that does the trick.

Sub Click(Source As Button)
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Set db = s.CurrentDatabase
	Dim v As NotesView
	Dim n As NotesViewNavigator
	Dim e As NotesViewEntry
	Set v = db.GetView("($ddTickets_ByMonthRep)")
	Set n = v.CreateViewNav
	Set e = n.GetLast
	If e.IsTotal Then
		Msgbox e.ColumnValues(7)
	End If
End Sub

Get View Column Sums With LotusScript

I surfed the web the other day and came across an entry in OpenNTF’s codebin.  Ferry Kranenburg posted a sample database that shows, how you can create graphs using RMchart from Notes Views.

In his code,  Ferry uses the NotesViewNavigator class to search a view for a given key and to return the according view column values as a string when the search returns a match.

The original function (= var_FastViewLookup ) is very static, because the columns to return are hardcoded, so it cannot be used in other applications without modifications. So I decided to rewrite the function to be more generic. Here is the result:

Function var_FastViewLookup(_
db As NotesDatabase,_
View As String,_
Key As String,_
KeyCol As Integer,_
cols As Variant) As Variant 

	On Error Goto Err_Handle
	Dim nav As NotesViewNavigator
	Dim ve As NotesViewEntry
	Dim v As NotesView
	Dim i As Integer
	Redim colVal (1) As String
	If Trim(view) = "" Then Goto Exit_Here

	Redim colVal (Ubound(cols)) As String
	Set v = db.GetView(view)

	Set nav = v.CreateViewNav
	Set ve = nav.GetFirst

	While Not ve Is Nothing
		If ve.ColumnValues(KeyCol) = Key Then
			i = 0
			Forall c In cols
				colVal(i) = ve.ColumnValues(c)
				i = i+1
			End Forall
			Set ve = Nothing
		Else
			Set ve = nav.GetNextCategory(ve)
		End If
	Wend
Exit_Here:
	var_FastViewLookup = colVal
	Exit Function
Err_Handle:
	Resume Exit_Here
End Function

Here is a sample of how to use the function:

Sub Click(Source As Button)
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Set db = s.CurrentDatabase
	Dim retval As String

	Dim KeyCol  As Integer
	KeyCol = 2 ' View column containing category search key

	Dim cols (3) As Integer
	cols(0) = 7 ' all tickets ( sum )
	cols(1) = 8 ' 0 - 4h
	cols(2) = 9 ' 4 - 8h
	cols(3) = 10 ' 8h +

	retval = Join(_
        var_FastViewLookup(db , "($ddTickets_ByMonthRep)", "2008-01", KeyCol, cols), "*")

	Msgbox retval
End Sub

The sample returns the following value

columnvalues


Symphony Automation Database

Jens-B. Augustiny from LigoNet.ch posted a sample database to show. how you can access OpenOffice or Symphony from within LotusScript by using the COM-UNO Bridge, that comes with these two products.

symphonyautomation

The database in fact contains an application, which almost immediately with some small modifications may be used to create invoices, that will be generated through OOo/Symphony.


Undocumented: Create Empty NotesDocumentCollection

If you do not look that often into OpenNTF’s CodeBin like I do, then you might have missed this entry.  David J Montalvo discovered a yet undocumented method of the NotesDatabase class.

This method allows you to create an empty NotesDocumentCollection without doing workarounds that have beeen used for years like this one from LDD.

I searched mail8.ntf using Notes Design Searcher.

createdocumentcollection

The method is used in 3 agents and one ScriptLibrary. Searching mail85.ntf returns the same result.

There is also an idea on IdeaJam which can be closed once the method is documented in either Notes 8.0.x or in the upcoming Notes 8.5 release.