Das Schwampel

Ebenso wie Reinhold Messner sich einst aufmachte, den Jeti zu finden, bemühen sich in Deutschland derzeit Tausende Möchtegern-Forscher darum, die Existenz des häufig als Fabelwesen eingestuften “Schwampel” endgültig zu beweisen. Doch was ist das für ein Tier, das momentan derart omnipräsent durch alle Medien geistert und binnen weniger Stunden in nahezu jeder Kaffeeküche dieser Republik zum Top-Gesprächsthema avancierte?
ZYN! klärt auf.


GIF und BMP mit Lotus Script erstellen

Guido Purper hat auf OpenNTF eine Lotus Script Klasse veröffentlicht, mit der es möglich ist, on the fly GIF und BMP Dateien zu erzeugen.

“I have developed this class to present statistical data in visual form (as graphs) and send them to some people automatically.
You can create 256-color images on-the-fly from within Notes, attach or embedd the images to HTML/MIME documents and send them to other people. This is not a “Paint” application, there is no way of interaction. This is a class to create images by Lotus script e.g. from an agent.” (Guido Purper, Januar 2005)

Damit lassen sich aus den Dokumenten einer Datenbank Statistiken erstellen, plattformunanbhängig und ohne zusätzliche Programme. Es kommt pures Lotus Script zum Einsatz. Durch die Verwendung spezieller Lotus Script Befehle ist die Klasse nur unter ND 6 verwendbar.

OK, das ist noch nicht so sonderlich schön geworden, aber mit ein bisschen Ã?bung lassen sich durchaus beeindruckende Ergebnisse erzielen.


Excel Datei ohne Excel erstellen

Programme zum Exportieren von Daten aus einer Lotus Notes Anwendung heraus gibt es viele. Alle diese Programme setzen voraus, daÃ? Excel auf dem Rechner, der die Exportdatei erzeugt auch installiert ist. Was macht man aber, wenn auf dem Rechner Excel nicht installiert ist oder der Export gar auf einem Server im Hintergrund laufen soll ? Was wenn die erzeugte Datei evtl. auch noch von älteren Versionen gelesen werden soll ?
Ein Format, welches Excel schon seit der Version 2.1 verwendet und welches auch noch mit Excel 2003 gelesen und verarbeitet werden kann ist BIFF2.1 ( Binary File Format )

Read More


Alle Dokumente einer Kategorie löschen

Hmm, warum kann ich eigentlich nicht einfach eine Kategorie markieren und bei Betätigung der “Entf” – Taste werden alle Dokumente der ausgewählten Kategorie gelöscht ? … Notes seitig passiert da rein gar nichts; noch nicht einmal eine Fehlermeldung wird auf den Bildschirm gezaubert. Es sei denn, man programmiert so etwas halt selber, aber die Boardmittel …


Adressbücher konsolidieren

Seit gut 5 Jahren verrichtet ein Tool bei mir im Unternehmen seinen Dienst; bei mir ist es fast schon in Vergessenheit geraten.
Durch einen Thread im deutschen Notes Forum musste ich mich aber noch einmal damit beschäftigen.

Ich verwende DWFSYNC, um Daten aus unterschiedlichen Adressbüchern in ein zentrales Organisationsverzeichnis zu synchronisieren.
Was unterscheidet die Synchronisation von der Replikation ? Dazu der Text aus der Hilfe.

Replication is the process of making two databases essentially identical.
In its simplest form, replication propogates additions, modifications and deletions in both directions between two data sources.

Synchronization is the process of propogating additions, modifications and deletions in one direction between a master database, called a source, to a target database.

Offenbar ist die Konfiguration des Tools aber nicht so einfach. Daher habe ich einmal eine Konfiguration vorbereitet, die die Quellen “Source 1” und “Source 2” in der Datenbank “Target” zusammenfasst.
Grundlage der Quellen und des Ziels ist die Schablone pernames.ntf.

DWFSYNC kann grundsätzlich jede Art von Daten behandeln ( ausgenommen Richtext ).
@Formulas können beim Füllen von Feldern verwendet werden.

DWFSYNC unterstützt ADD, UPDATE und DELETE von Datensätzen. Alles in Allem ein recht mächtiges Tool. Auf jeden Fall sollte man sich die, zugegebenermaÃ?en recht dürftigen, Hilfe-Dokumente einmal genauer ansehen.

DOWNLOAD


Guide to the Notes/Domino Out of Office

Part 1: Out of Office Design and Features

This document, the first in a series of four, describes in detail the design features and behavior of the Lotus Notes/Domino Out of Office functionality, answering these questions: 1. Out of Office terminology: What are some frequently used terms to describe the Out of Office functionality? 2. What does it do (and not do)? 3. Where is the Out of Office functionality located? 4. How does a Hide When formula affect when you see the Out of Office options in the Notes client? 5. How does the Out of Office functionality work? –What happens when you click the Enable button? –What happens each time the Out of Office agent runs? 6. How does the Out of Office functionality work with local replicas?

Part 2: ACL Access Level and its impact on the Out of Office behavior

The access level that a mail file owner has in the Access Control List (ACL) of his or her mail database impacts the configuration and behavior of the Out of Office functionality in Lotus Notes/Domino. This document, the second in a series of four, describes the Out of Office functionality with respect to each allowable database access level, examining the LotusScript code differences among the following: –Manager access –Designer access –Editor access (available with Notes/Domino version 6.0)

Part 3: Configuration of the Out of Office

For the Out of Office feature to work properly, certain settings in the Server document and Notes databases must be configured. This document, the third in a series of four, describes in detail all the settings necessary to configure the Lotus Notes/Domino Out of Office, relative to each ACL access level. This document, intended for Domino administrators, is a checklist of all these necessary configuration settings.

Part 4: Out of Office in Domino Web Access (iNotes)

This document, the final of a series of four, describes the Out of Office feature with respect to the Domino Web Access (formerly iNotes Web Access) client, outlining the basic differences between using the feature when in the Notes client as opposed to a Web browser.


AdminP Can Delete Readers Fields, Making Documents Visible To All

Deleting a user with the Administration Process (AdminP) can lead to restricted documents being made visible to all Notes users with ACL access to the database. When AdminP processes a ‘Delete in Reader/Author fields’ request, it will delete the user specified from any Readers fields in any databases that have the ACL property ‘Modify all Reader and Author fields’ selected on the Advanced tab. If a Readers field only contains a single entry (the user name being deleted), then the Readers field itself will be removed, making the document visible to all.

AdminP is functioning as designed. If the Readers field was not deleted, the document would not be accessible to anyone, including administrators with Manager access to the database.

The workaround for this situation is to eliminate the potential for this condition to exist. Do not add a single user to a Readers field. A group entry in a Readers field will prevent this. Even if all of the group members are deleted, the group entry is not, and the Readers field will be maintained. If it is acceptable that documents be made inaccessible to all and there is a business need to have a single user in a Readers field, then any second entry, even a dummy entry, added to the field will prevent the Readers field from being deleted by AdminP.

via Lotus Software KnowledgeBase Document# 1092787


!!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.”