!!HELP!! – RBOD problem fixed

When using !!HELP!!, sooner or later a red box will pop-up on your display.

After a lot of try and error it seems that I finally found a solution.

We use the following code to switch betwen the framesets

_defaultNewFrame := @UpperCase(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; "AlwaysOpenNewNavigationFrame" ; 2;[FailSilent] ));
@If(_defaultnewFrame!="YES";
@Do(
@SetTargetFrame("_top");
@Command([OpenFrameset]; "FS-CLOSEDTICKETS"));
@Command([OpenFrameset]; "FS-CLOSEDTICKETS"))

@SetTargetFrame(“_top”) ( intoduced in Notes R5 ) obviously is responsible for the crash.

I tried to substitute @SetTargetFrame(“_top”); and found that @Command([CloseWindow]); ( introduced in R6 ) does the same job; with a little side effect ;-). The database has to be the last in the database switcher … This is logic; a workaround and to be serious, I dunno like workarounds. So, I had to find another solution.

For what ever reason I tried the following formula:

_defaultNewFrame := @UpperCase(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; "AlwaysOpenNewNavigationFrame" ; 2;[FailSilent] ));
@If(_defaultnewFrame!="YES";
@Do(
@SetTargetFrame("_top");
@Command([CloseWindow]);
@Command([OpenFrameset]; "FS-CLOSEDTICKETS"));
@Command([OpenFrameset]; "FS-CLOSEDTICKETS"))

And what shall I say; this seems to be the solution. No RBODs anymore 😉

To avoid an RBOD when switching the language, you have to replace the existing code in the OUT-LANGUAGE outline with the code below

REM { find users language };
_defaultLang := _defaultLang := @UpperCase(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; "LANGUAGE" ; 2 ));
_view:="($LULANG)";
_foundlanguages := @Unique(@DbColumn("Notes" : "NoCache"; "" : ""; _view; 1));
_userlanguage :=@If(@ClientType="Web";
@UpperCase(@LanguagePreference([Region]))[1];
@If(@Environment("HDLang")="";@UpperCase(@LanguagePreference([Content]));@Environment("HDLang")));
_language:=@If(@IsMember(_userlanguage;_foundlanguages);_userlanguage;_defaultlang);

REM { find label };
_key:="outDlgLang";
_label := @Implode(@DbLookup( "" : "NoCache" ; "":"" ; "($LULANGTYPE)" ;_language + "~outline";"typestring");";");
_val:=@Right(_LABEL; _key + "=");
REM { find all possible languages };
_LANGUAGE:="**": @Unique(@DbColumn("Notes" : "NoCache"; "" : ""; _view; 1));
REM {select a new language or delete the entry from notes.ini if "**" is selected};
_NEWLANG:=@Prompt([OkCancelCombo];
@Word(@Word(_val;";";1);"~";1);
@Word(@Word(_val;";";1);"~";2);
@Environment("HDLang"); _LANGUAGE);
REM { Set the environment variable };
@If(_NEWLANG = "**";@Environment("HDLang"; "");@Environment("HDLang"; @UpperCase(_NEWLANG)));
@SetTargetFrame("_top");
@Command([CloseWindow]);
@Command([OpenFrameset];"FS-MAIN")

Is this worth to tell IBM about ?

UPDATE:

According to Damien Katz there is possibly a bug in the frameset window title formula

“Stack traces from rip files are a little unreliable,
but the best I can tell is that its crashing in a frameset window title formula, but I can’t tell why.
Try removing that formula and see what happens. On second look, it could be any frameset formula, not necessary a window title one.”



How many times have you double clicked the right mouse button or pressed the ESCape key on your keyboard and expected the window of a non Notes application to close?

ICODEX ARC is a FREE tool which empowers Windows with this cool feature across all applications


Paste Information Application

Do you have bits of information that you reuse over and over again, and you’re frustrated by re-typing it each time? For example entering conference call numbers into calendar entries, sharing URLs, product information, maps to your home or office, pre-written response text to emails, etc?

Alan Lepofsky posted this great tip in his blog. You can even use it in the Lotus Notes Designer to paste you favorite code snippets into the designer pane.


TaskSwitchXP Pro 2.0

TaskSwitchXP “is an advanced task management utility that picks up where the standard Windows Alt+Tab switcher leaves off. It provides the same functionality, and adds visual styles to the dialog and also enhances it by displaying thumbnail preview of the application that will be switched to. TaskSwitchXP also has a powerful process and window management capability that allows you quickly to close/minimize applications and their groups. The unique capabilities of TaskSwitchXP make it useful for tracking down multitudinous windows, and provide insight into the way Windows and applications work”


Teamstudio Script Browser

Teamstudio Script Browser is a tool to help you use and navigate the LotusScript code stored within an IBM Lotus Notes database in a way that has never before been possible.

Navigating the various places where LotusScript can be defined is tedious and even confusing to even the most-seasoned Domino programmer. There is currently no way to easily navigate all the different ways that script can be linked together.

ItĂą??s common to have LotusScript code be defined in different places within a Notes database. Seeing all the code and moving around in Designer to edit that code is not a simple task. You canĂą??t see what LotusScript functions are calling other LotusScript functions without performing a database-wide search. Teamstudio Script Browser solves all these problems.

And the best of all … It’s freeware !!


Trigger Happy

“Trigger Happy” (formerly known as agent boost ) by Damien Katz let’s you register LotusScript agents to be triggered by low level Domino events. C Source-Code included. You’ll find the project here.


How To Integrate Open Office And Lotus Notes To Generate PDF …

And OoO Documents Using Lotus Notes Data And COM Automation

Justin Freeman posted this tip in his blog. The article includes a working sample, too

“This database is an example of how to integrate Open Office (OoO) with Lotus Notes using COM automation. It exports information from an Invoice document in a Notes database into a OoO Writer document. The Writer document is then formatted sincely into a printable invoice, then both a completed PDF and OoO version is re-attached to the Invoice document in Notes – all within a few seconds!”


Installierte Office Version ermitteln

Carlos J Hernandez. fragte auf OpenNTF nach einer Möglichkeit, die installierte Office Version auf dem Rechner eines Users zu ermitteln

” I am a Helpdesk Manager with some 3400 Notes users. How can I pull the MS Offices version information when a users created a ticket?”

Die einfachste Möglichkeit ist die Verwendung von @RegQueryValue ( ab Version 5.0.2 ). Der Hintergrund ist folgender:
Jede Office Version trĂ€gt einen versionsabhĂ€ngigen SchlĂŒssel ( 8.0 / 9.0 / 10.0 ) in die Registry ein. Dies ist aber noch kein eindeutiges Kennzeichen, da bei einem Update der Officeversion der VorgĂ€ngerschlĂŒssel nicht automatisch entfernt wird. Daher muÃ? man noch weiter in die Tiefe gehen. Mit der WinAPI könnte man das Vorhandensein eines bestimmten SchlĂŒssels abfragen. Eindeutiges Merkmal fĂŒr die installierte Office version ist der SchlĂŒssel “InstallRoot”. Dieser SchlĂŒssel ist nur in der installierten version vorhanden.
Mit @RegQueryValue lĂ€sst sich aber nicht das Vorhandensein eines SchlĂŒssels abfragen, sondern nur der Wert eines SchlĂŒssels auslesen. Daher begeben wir uns auf die unterste Ebene und ermitteln im SchlĂŒssel “InstallRoot” den Wert des Eintrags “Path”. Nur die installierte Version liefert hier einen gĂŒltigen Wert.

_retVal:=
@If(
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\Microsoft\Office.0\Common\InstallRoot"; "Path")!="";"Office 97";
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\Microsoft\Office.0\Common\InstallRoot"; "Path")!="";"Office 2000";
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\Microsoft\Office.0\Common\InstallRoot"; "Path")!="";"Office XP";
"no Office installed");
@Prompt([Ok];" ";_retVal)

DOWNLOAD


Most Frequently Used Technotes for Lotus Domino Server

When creating a new copy of a database with File -> Database -> New Copy, there is an option to only copy the design and no documents from the source database.
When creating a new replica of a database with File -> Replication -> New Replica, there is no option like this. The replica stub that is created will not include any documents, but it will not allow administrators to make any modifications to the database design or the ACL.

Is it possible to create a replica of a database (not a replica-stub) without any documents. –> more


@Unique Not Generating a Unique Number in Web Applications

The @Function, @Unique, is designed to generate a random, unique number as text data type. When used in a computed field on a form, for example, you should get a new, unique number for each new document created with such a form. You notice, however, when @Unique is used in a Web Application form, the number is not always unique. Why is this happening?

In the case where @Unique is contained in a computed field in a web application, the reason for the non-unique number could be related to the browser cache settings. If the “Check for newer versions of stored pages” option in the IE browser is set to “Automatically”, the number generated may duplicate.

To work around the issue, do one of the following:

Change the “Check for newer version of stored pages” option in IE (found under Tools –> Internet Options –> General tab –> Setting button) to “Every visit to the page” to ensure that a new and unique number is generated by the IE browser. In this case, the Domino server is sending a new and unique number, but the browser was caching the previous value instead of retrieving the newly generated one.
Use a profile document to generate a random number. Then, use a web query open or web query save agent to obtain a unique key by accessing a profile document for sequential unique numbers

Lotus Software KnowledgeBase Document# 1191209


Notes 6.5.x Documents that Have Been Replied to or Forwarded Appear as Unread

In Notes 6.5.x, when you reply to or forward a message, the message becomes unread directly afterward, even though you have already read the document.
This issue was reported to Lotus software Quality Engineering; however, it was been found that Notes was functioning as designed. To avoid the issue, enable the Database Property “Do not mark modified documents as unread” found on the Designer tab.

The property is enabled by default in the mail templates that ship with Notes/Domino 6.0.3 and 6.5.

A document that is forwarded or replied to in Notes 6.5.x appends a $RespondedTo field to the document and assigns it a value so that the corresponding “Action performed” icon appears in the view. With the addition of this field, the document has now been modified. Without the “Do not mark modified documents as unread” option enabled, Notes marks the document as Unread because the document was modified.

Lotus Software KnowledgeBase Document# XXXXXXX


Die Firewall von Windows XP Service Pack 2

Bereits in der Urfassung von Windows XP ist eine Firewall enthalten gewesen, von der aber kaum jemand Notiz genommen hat. GrĂŒnde hierfĂŒr waren der mangelnde Komfort und nur mÀÃ?iger Funktionsumfang.

Mit dem Service Pack 2 hat Microsoft die Firewall aufgebohrt und mit neuen Features versehen. Die Einstellung der Firewall ist aber nicht ganz so trivial, wie es bei erster Betrachtung den Anschein hat. Der Artikel von WinTotal gibt eine Hilfestellung und Rat zur Einstellung und Anpassung der Firewall.