Cluster Failover Error: Failing Over from Servername !! WEB.NSF
… the IBM Lotus Notes KnowledgeBase shows how to solve the problem
… the IBM Lotus Notes KnowledgeBase shows how to solve the problem
“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.
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 !!
In addition to Julian Robichaux’s “Format LotusScript as HTML”, Chad Schelfhout recently published a database to “Format @Formulas as HTML”
“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.
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!”
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)
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
You may observe that a deleted mail rule continues to function, even though it no longer appears in the Rules folder. You may also observe that an enabled mail rule does not run. Read this article in the knowledgebase on how to solve this issue.
Chad Schelfhout describes how to color code formula language using regular expressions … read more
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
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
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.
Starting with Domino 6.0, the Domino server creates a console.log file by default in the “IBM_TECHNICAL_SUPPORT” folder, which is located in the server’s Data directory. The development of the console.log file, which can be dynamically enabled and disabled at the server console, makes the use of the parameter debug_outfile obsolete.
For backwards compatibility, when debug_outfile is present in the notes.ini it takes precedence. However, using the debug_outfile parameter is no longer the preferred method for capturing console output.
Console.log is superior to the use of “debug_outfile” because it can be dynamically enabled and disabled at the server console thus eliminating delays capturing crucial data. Server reboots are no longer required to begin capturing basic console logging, which is not the case when using the parameter “debug_outfile”.
Enabling Dynamic Console Logging
Console.log can be dynamically enable and disabled at the server console with the following commands:
start consolelog
stop consolelog
Please note that these commands are not “sticky” (i.e. they are only specific to the current server session). To avoid console logging from being disabled after a reboot, the following parameter can be set to 1 (where 1 is enabled and 0 is disabled):
CONSOLE_LOG_ENABLED=
Lotus Software KnowledgeBase Document# 1181562
Möchte man gezielt eine bestimmte Variable der Datei NOTES.INI eines Clients hinzufügen oder verändern, so ist dies offiziell durch die mit ND6 eingeführten Policies bislang nicht vorgesehen. Manfred Dillmann zeigt auf seiner Seite, wie es dennoch geht
When you use the LotusScript GetDocumentByKey method (of the NotesView class) with a numeric value for the key, either no documents are returned or the incorrect document is returned.You must convert both the column formula and key to string values in order to perform the lookup. You should edit the column formula, adding an @Text function call to the present formula. The key values passed to the GetDocumentByKey method can be converted to string values by using the Cstr function. The dimension, or Dim, statement for the key array must now be declared as a String or Variant.
Example:
Using the @Text function in a column formula. Given a formula which contained the entry ‘numfield’:
@Text(numfield)
Using the Cstr function to convert the desired key value:
keys(0)= cstr(doc.numfield(0))
Lotus Software KnowledgeBase Document# 1101037
Here’s a great little Action (or Agent) that lets a user filter any categorized view based on whichever category they choose. I suggest putting it in a SmartIcon so that it will be available in any database or view. You may want to put it in an action button at the top of certain categorized views. It is super-fast (much like using an embedded single-category view). I have put error handling for everything that I encountered, so the user will always get a friendly message.
The @SetViewInfo function filters a view down to a single category. Calling it with a null value will reset the view to show all categories.
This is helpful because of an ugly side-effect of @SetViewInfo — filtering is retained even when the user changes to a different view. Sometimes this results in zero documents being shown. Clicking the action button again will show all docs.
By the way, I believe that the column choice does not work in @SetViewInfo( ). In my testing, it only works on the first categorized column.
REM { --- this action button filters a view based on the user's input --- };
tmpVName := @Subset( @ViewTitle; -1 );
@If( tmpVName = "";
@Return( @Prompt( [Ok]; "Warning"; "This only works when a database
is opened to a view.") );
@Success );
tmpCol := 1;
REM { produce a list of categories from the current view };
tmpList := @Unique( @DbColumn( "":""; "":""; tmpVName; tmpCol ) );
REM { handle common errors -- reset filtering in an inappropriate view };
warningText := "This action only works in a categorized view where the category
is the first column." + @Char(10) +
"This will not work in a flat view or in a view where the first column is not
the category";
@If( @IsText( tmpList[1] );
@Success;
@Do( @SetViewInfo( [SetViewFilter]; ""; ""; 1); @Return( @Prompt(
[Ok]; "Warning"; warningText ) ) ) );
REM { Let the user pick one category };
tmpChoice := @Prompt( [OkCancelCombo];
"Select a Category for Filter"; "This will filter the view to a single
category." + @Char(13) + " (specify blank for all)";
""; "" : tmpList );
REM { reminder: expand the view or it may appear empty };
@Command( [ViewExpandAll] ) ;
REM { Set the filter (or clear the filter) };
tmpCName := "sPOAreaName";
@SetViewInfo( [SetViewFilter]; tmpChoice; tmpCName; 1 )
In einem früheren Artikel hatte ich bereits beschrieben, wie man den heimischen Domino Server für den Einsatz des OpenSource Spamfilters kSpam konfiguriert. Nun wird nicht jeder einen Domino sein Eigen nennen. Die meisten Heimanwender werden hre Mails über den Notes Client mittels POP3 von ihren Provider abholen. Leider gibt es noch kein Produkt, das ähnlich wie kSpam in die Notes Installation eingebunden werden kann.
Für die meisten eMail Clients gibt es aber solche Spamfilter; sei es als PlugIn oder als Proxy. Ich werwende hier das Freeware Produkt Spamihilator von Michel Krämer. Spamihilator schaltet sich zwischen Ihre E-Mail-Software und das Internet und überprüft jede eingehende E-Mail auf Spam. Ã?berflüssige Werbenachrichten (Spam, Junk) werden herausgefiltert. Die Filterung läuft dabei vollständig im Hintergrund ab. Der neue lernfähige Filter (Bayesian Filter) arbeitet nach den Regeln von Thomas Bayes (englischer Mathematiker, 18. Jahrhundert) und errechnet für jede E-Mail eine bestimmte Spam-Wahrscheinlichkeit. Sie können diesen Filter trainieren! Dadurch stellt er sich auf Ihr persönliches Mailaufkommen ein und kann mit der Zeit immer bessere Ergebnisse liefern. Zusätzlich benutzt Spamihilator noch einen Wortfilter, der nach bekannten Schlüsselwörtern sucht. Natürlich unterstützt das Programm auch Plugins. Diese nützlichen Filter schützen Ihren Computer zusätzlich vor nervigen Werbenachrichten. Die Installation erfolgt über ein komfortables Setup-Programm. Spamihilator ist nach der Installation im SysTray zu finden.

Wenn der Notes Client bereits für den Abruf von Mails über POP3 eingerichtet ist, ist die restliche Konfiguration ein Kinderspiel. Es muÃ? lediglich erreicht werden, daÃ? die Mails nicht mehr direkt vom POP3 Konto abgeholt werden, sondern das Spamihilator die Mails abholt und an den Client zustellt

In das Feld “Server für dieses Benutzerkonto” wird localhost eingetragen. Damit wird erreicht, daÃ? der Mailabruf über Spamihilator erfolgt. Die Anmeldeinformationen im Feld “Anmeldename” wird um den POP3 Servernamen des Providers ergänzt. Jetzt noch das Dokument speichern und schlieÃ?en; FERTIG 😉
Wie man den Notes Client so konfiguriert, das Mail von unterschiedlichen POP3 Accounts abgeholt werden, wurde bereits mehrfach an anderer Stelle im Internet beschrieben. Die beschriebenen Konfigurationen verwenden dabei für die unterschiedlichen Accounts separate Arbeitsumgebungsdukumente und Dokumente f?r die Konfiguration der POP3 Konten. Der Nachteil dabei ist, daÃ? alle Mails in einer Maildatei landen; n?mlich der Datei, die in der aktuellen Arbeitsumgebung eingetragen ist.
Steht ein eigener Domino Server zur Verfügung, ergeben sich daraus ganz andere Möglichkeiten. Im Folgenden möchte ich beschreiben wie man den eigenen Domino so einrichten kann, da? Mails automatisch von unterschiedlichen POP3 Konten abgeholt werden können und in unterschiedlichen Mailboxen auf dem Server zugestellt werden. Auch in der Version 6.51 besitzt der Server leider immer noch nicht die Fähigkeit, sich bei einem Provider vor dem Versand von SMTP Mails zu authentizieren. Mit einem kleinen Freeware Programm lässt sich aber auch diese Hürde nehmen.
Auch wenn die meisten Provider eigene Virenprogramme einsetzen, empfielt es sich dennoch auf dem Domino mit einem eigenen Virenscanner zu arbeiten. Da gleiche gilt auch für den Einsatz eines SPAM Filters.
Der installierte Server ist ND 6.51 englisch auf einem Windows 2000 Advanced Server deutsch ( 3.2 GHz, 1.5 GB RAM, 0.75 TB HD ). Die Anbindung an das Internet erfolgt über DSL. Neben dem Domino Server kommt noch folgende Software zum Einsatz:
pullmail.exe Freeware zur Abfrage der POP3 Konten ( 7th wave )
SMTP AUTH 2.0.1 Freeware zum Versenden von SMTP-Mails
NOD32 für Windows Virenscanner ( keine Freeware )
kSpam für ND / WIndows Freeware SPAM Filter für Lotus Notes
1. Serverdokument bearbeiten
Zunächst einmal muss der Domino Server für das Routing von Mail und SMTP Mail konfiguriert werden. Dazu sind im Serverdokument die Routing-Funktionen “Mail-Routing” und “SMTP-Mail-Routing” zu aktivieren. Ebenso muss der SMTP-Listener-Task eingeschaltet werden, da pullmail die Mails an den Domino Server per SMTP übermittelt.

Unter “Anschlüsse -> Internet-Anschlüsse -> Mail” werden folgende Ports für POP3 und SMTP eingestellt
Mail (POP3) 110
SMTP-Eingang 25
SMTP-Ausgang 10025 (!)
Die Wahl des Port 10025 bei SMTP-Ausgang ( DEFAULT = 25 ) ist wichtig, damit der Domino Server mit dem Programm SMTP-AUTH auf der gleichen Maschine installiert werden kann.
2. POP3 Mails abrufen
Zum Abrufen der E-Mails wird das Programm pullmail.exe verwendet. Das Programm mu? nicht installiert werden; ein einfaches Kopieren z.B. in das Notes Programmverzeichnis reicht aus.

pullmail wird über die Kommandozeile aufgerufen; daher können wir die Parameter in einer BATCH-Datei speichern und hinterher über den Scheduler von WINDOWS 2000 ausf?hren.

Meine pullfreenet.cmd sieht dann beispielhaft so aus:
pullmail pop3.freenet.de webmaster@qualytec.de ThePasswort /S:192.168.xxx.xxx /to:ulrich.krause@eknori.local
pullmail pop3.freenet.de webmaster@eknori.de ThePasswort /S:192.168.xxx.xxx /to:ulrich.krause@eknori.local
pullmail pop3.freenet.de eknori@eknori.de ThePasswort /S:192.168.xxx.xxx /to:ulrich.krause@eknori.local
pullmail pop3.freenet.de ulrich.krause@eknori.de ThePasswort /S:192.168.xxx.xxx /to:ulrich.krause@eknori.local
In dem Beispiel werden 4 Konten von freenet.de abgefragt. Hier habe ich ein Intervall von 2 Minuten eingestellt. web.de z.B. erlaubt eine neuerliche Anmeldung erst nach 15 Minuten. Daher habe ich für unterschiedliche Provider je nach Gegebenheit und Notwendigkeit unterschiedliche Konfigurationen, die in einem getrennten geplanten Task im Scheduler aufgerufen werden.
3. SMTP AUTH
Grundsätzlich ist es natürlich möglich, Mails via SMTP ?ber den Domino zu versenden. Bei der gewählten AnschluÃ?art über DSL verfügt der Server aber über keine feste IP Adresse. Ebenso fehlt ein MX -Eintrag; daher würden Mails in der Regel von den Systemen der Empfänger zurückgewiesen werden, da der Server nicht authentiziert werden kann.
Ein direktes Versenden ist daher nur bei fester IP-Adresse und entsprechendem MX-Eintrag möglich.
SMTP-AUTH ist ein Freeware Programm, das es ermöglicht, SMTP Mail an einen Provider zu übermitteln und die notwendigen Anmeldeinformationen mitzuliefern. Die Installation erfolgt über ein Setupprogramm. SMTP AUTH bietet in der Version 2.00 Beta 3 die Möglichkeit, die Software als Dienst zu betreiben. Das ist natürlich ideal für unsere Zwecke.

Nach der Installation kann das Konto für den SMTP Mailversand konfiguriert werden. Hier wird dann auch die Portnummer eingetragen (10025) , die wir in das Serverdokument eingetragen haben. Die Anmeldemethode AUTH PLAIN funktioniert mit freenet.de und web.de. Mir wurde zugetragen, daÃ? die Methode auf AUTH LOGIN geändert werden muss, damit es auch mit einer Schlund und Partner Dom?ne funktioniert
Damit der Domino Server mit SMTP-AUTH kommunizieren kann, muÃ? in das Konfigurationsdokument des Servers noch ein Relay-Host eingetragen werden

Wichtig ist hier, daÃ? auch der Port 10025 mit angegeben wird, da sonst die Kommunikation auf dem DEFAULT Port 25 erfolgt; der Domino also quasi selber mit sich verbinden m?chte. Das mag er aus verständlichen Gr?nden aber nicht. Sind alle Einstellungen richtig, kann nun eine Testmail versendet werden. Die Console sollte dann sinngemäÃ? folgende Ausgaben zeigen

Der Domino Server sendet die Mail an den SMTP Proxy; dieser meldet sich mit den eingetragenen Daten beim Provider an und übermittelt die Mail.
4. Mails auf Viren scannen
Als Virenscanner kommt NOD32 der Firma ESET zu Einsatz. Einzelheiten zum Scanner können auf der Seite des Herstellers eingesehen werden. Das Windows-Portal WinTotal hat den Scanner 2003 getestet. Die Ergebnisse sind hier zu finden.
Der Scanner wird auf meinem Server sowohl als Schutz des Dateisystems eingesetzt (AMON) als auch zum scannen eingehender Mails (IMON).

Da NOD32 für Windows alle Mails direkt auf Winsock-Ebene abgreift und prüft, ist keine weitere Konfiguration nach der Installation notwendig. Lediglich der POP3-Port ist anzugeben; in unserem Fall 110.

NOD32 hat in meinen Tests alle Viren zuverlässig erkannt. Auch Viren im Archiven (zip, rar, ace) wurden erkannt und bereinigt.
Der Preis von ? 39,- umfasst einen Updateservice für 1 Jahr auf Programmupdates und die Online-Aktualisierung der Virensignaturen.
5. SPAM filtern mit kSpam
kSpam ist ein Open Source SPAM Filter (addin) für Lotus Notes/Domino und ist in einer Windows bzw. Linux Version erhältlich. Die neueste Version kann bei www.openntf.org heruntergeladen werden.
Die Installation und Konfiguration ist im Download beschrieben. Mitlerweile läuft kSpam bei mir mit einer Erkennungsrate von 90% bei einer false positive rate von < 2%.
Sie können den Code ohne Anpassung in jeder beliebigen Adressdatenbank verwenden.
Dazu kopieren sie aus der Demo-DB die folgenden Designelemente
Maske ($lblConfig)
Ansichten ($lblConfig) und Config
ScriptBibliothek libLabel
Nachdem sie ihre Datenbank vorbereitet haben, können wir den Datenexport konfigurieren. Wechseln sie in die Ansicht Config und erstellen sie eine neue Konfiguration.

Sie können mehrere unterschiedliche Konfigurationen erstellen; wenn sie die Adressen drucken, wird ihnen eine Liste der mglichen Ausgabeformate angezeigt.

Generell ist der Ausdruck auf 5 Zeilen begrenzt. Welche Werte ausgedruckt werden, legen sie durch die Werte in den Feldern Row 1 – Row 5 fest. Tragen sie hier die Namen der Felder ein, die ausgedruckt werden sollen. Es können pro Zeile mehrere Felder ausgedruckt werden; die Feldnamen werden dann, wie im Beispiel duch ein Komma getrennt.
Das Feld Config ist ein Beschreibungsfeld; es wird ihnen in der Auswahl ebenso angezeigt wie des Feld Description.
In den Feldern Label und Rows legen sie die Werte des Formulas fest. Die korrekten Werte des zu verwendenden Labels erhalten sie, indem sie in Microsoft Word über “Extras – Umschläge und Etiketten” klicken.

Wechseln sie in der Reiter Etiketten und klicken auf Optionen

Jetzt können sie die gewünschte Vorlage auswählen

eine Besonderheit stellt das Feld Skip dar. Einige Formulare enthalten Zwischenr?ume. Dies müssen sie dem Programm durch das setzen des Feldes Skip auf den Wert Yes mitteilen, da sonst der Ausdruck in diese Zwischenräume erfolgt.

Darüber hinaus müssen sie in das Feld Rows die Gesamtzahl der Zellen einer Reihe eintragen, also Anzahl der Label plus Anzahl der Zwischenräume
Nachdem sie alle notwendigen Konfigurationsdokumente angelegt haben, können sie den Labeldruck starten; hierzu wählen sie die gewünschten Adressen in einer Ansicht aus und klicken auf “Print Label” Die gewählten Adressen werden dann über Microsoft Word ausgedruckt.