madicon NotesKiller 1.0 (English) – Freeware

Manfred Dillmann stellt ein kleines Programm zum Download bereit, welches das Eintippen des NSD Aufrufs von der Kommandozeile in eine anwenderfreundliche GUI verlagert.

A Windows 32 tool to clean up (kill) any leftover processes after a Crash of your Notes Client – your running Notes Client will be killed, too… 😉

UPDATE 1.2.0

– Now stores all settings in the file noteskiller.ini
– Delete the file Cache.DSK or Cache.NDK (optional)
– Calls NLNOTES.EXE instead of NOTES.EXE during the restart (optional)
– Runs in “silent mode”. Use the command line switch -s

madicon NotesKiller 1.2.0

Rebuilding a Notes Mail Inbox

Your Inbox in your mail file has become corrupt for whatever reason. Because the Inbox is a folder, it does not use selection formulas to give a collection of documents. It is built by the router depositing messages there. Once the folder is destroyed or replaced, the collection is lost with it. After replacing it with a new one, only new documents will be deposited in it from that point on.

Below is a script that can be used to repopulate your Inbox with the older mail messages that have not been currently filed in folders. The script can be placed in a button and mailed to the users who need it.

Read More


Verbalizer: Updated code using MSAgent to read e-mail aloud

After receiving years of email, feedback, and support for my first published article on SearchDomino, Using MSAgent to vocally/audibly read e-mail aloud, I ( = Brian Downs ) discovered that implementing the code on a Win2000 system required more than a few changes, and I thought I might share that updated and commented code with all my good friends here.

What this code does is to hijack Clippy….ah, err… I mean, utilize Microsoft Agent (MSAgent), to audibly read any text string fed to it aloud. Having no need to display the agents’ animation, we send Clippy to the netherregions of negative coordinates, enabling users to hear the agents’ “voice” without subjecting them to MSAgents’ animation.

Insofar as MSAgent is automatically installed with every modern Windows OS, its a pretty sure thing that this code *should* run on nearly all Wintel boxes in your organization. You may need to reorient the location of the “Merlin.acs” file to match your configuration, though.

Additionally, beyond the code and the Merlin.asc location, there is one last piece necessary for this to operate — an MSAgent object must be placed on the form on which the code is to run. Select whitespace on your form, and select ‘Create/Object’ in Designer. Switch the first option from ‘Object’ to ‘Control’, and in the Object TYpe selection list search out the “Microsoft Agent Control 2.0”, which will place a small icon representing the object. You can hide this object using the Text Properties box.

As in my original post, you’ll need to cobble together your own @ReplaceSubstring and @Contains scripts; SearchDomino has more than a few posts concerning both. And, as before, I’m still searching for a more elegant means of determining where a response post ends and its quoted original begins; currently, we’re testing for a “—-forwards” string, but I’d be pleased if anyone might suggest a better way.

Read More


Control e-mail with Domino Mail Rules

Using Domino Mail Rules and Passwords, you can control how e-mail is sent to a large number of recipients and protect inboxes from unwanted messages.

1. Create a Group named ej: “Mail Password” and add your own name to the member list.
2. In the Internet address field put the password followed by your domain — Ej: 987654@yourdomain.net
3. Save the group document.
4. Create a Domino Mail Rule in the Configuration document with this content.
5. If “To or CC” is All Company and “BCC” is not 987654@yourdomain.net – don’t accept the message.

via searchdomino


DMS in Essen, Outline, Archivierung und GDPdU

In dieser Woche findet in Essen die DMS2005 statt. die DMS2005 ist Europas grÜÃ?te, hochspezialisierte Messe zum Thema Unternehmensweite Elektronische Informations- und Dokumentenverarbeitung, begleitet durch eine ebenfalls dreitägige Fachkonferenz.

Ich habe mich dort fĂźr meinen Arbeitgeber zum Thema GDPdU konforme Archivierung von Lotus Notes Dokumenten bei verschiedenen Anbietern umgesehen. Resumee; alle Anbieter konnten mit dem Thema umgehen. Der Eine besser, der Andere nicht so gut.

Alle besichtigten Anbieter konnten einzelne oder mehrere Dokumente aus der Maildatei in ein Archiv ( Non-Notes ) archivieren. Dabei konnten die Dokumente vollständig oder auch nur die darin enthaltenen Attachments archiviert werden. ( Dublettenprßfung ! )

So weit, so gut. Durch die Bank weg konnten ALLE eine Sache nicht. Das Archivieren kompletter Ordnerstrukturen mit allen in dieser Struktur enthaltenen Dokumenten. Niemand hatte auch nur ansatzweise eine Idee, wie das zu realisieren ist.
Soll ich also wirklich alle Dokumente in einer gewachsenen Ordnerstruktur Ordner fßr Ordner ins Archiv schieben ? Kann ja wohl nicht sein. Grund genug, sich einmal Gedanken darßber zu machen, ob das UnvermÜgen der Anbieter mit technischer UnmÜglichkeit zu erklären ist.

Betrachten wir einmal die abgebildete Ordnerstruktur. Der übergeordnete Ordner ist â??SAPâ?. Es müssen also alle Ordner ermittelt werden, die sich unterhalb dieses â??WurzelOrdnersâ? befinden.
Lotus Notes enthält zwar zwei Klassen: â??NotesOutlineâ? und â??NotesOutlineEntryâ?. Man könnte glauben, man käme mit den Methoden dieser Klassen ans Ziel. Weit gefehlt, die helfen uns bei dieser Aufgabe nicht weiter.

Der Tip von Frank im Deutschen Notes Forum brachte Licht ins Dunkel. @ViewTitle kÜnnte weiter helfen. @ViewTitle lässt sich aber nicht in LotusScript verwenden, also muss die Idee entsprechend umgesetzt werden.

Der folgende Code zeigt schon das Endergebnis der weiteren Ã?berlegungen:

Sub Initialize
 Dim s As New NotesSession
 Dim ws As New NotesUIWorkspace
 Dim i As Integer
 i = 1
 Forall v In s.CurrentDatabase.Views
   If Instr ( v.name , ws.CurrentView.ViewName ) > 0 Then
     Redim Preserve FNames ( i ) As String
     FNames ( i -1 ) = v.name
     i = i +1
   End If
 End Forall

For i = 0 To ( Ubound ( FNames ) - 1 )
   Msgbox FNames  ( i )
 Next
End Sub

Das Konstrukt â??ws.CurrentView.ViewNameâ? ist nichts anderes als @ViewTitle. Und das ist auch schon das ganze â??Geheimnisâ?. Der Rückgabewert repräsentiert den ausgewählten Ordner. Um jetzt auch noch alle Unterordner zu ermitteln, lesen wir zunächst alle Ansichten und Ordner der Datenbank aus ( â??s.CurrentDatabase.Viewsâ? ) und vergleichen jeden Eintrag mit dem retVal aus â??ws.CurrentView.ViewName â??. Bei einem Treffer schreiben wir das Ergebnis in die Variable FNames.

FNames enthält am Ende der ForAll-Schleife alle Unterordner des Wurzelordners und den Wurzelordner selbst.
Jetzt ist es nur noch ein kleiner Schritt, die Einträge in FNames dazu zu verwenden, entsprechende NotesDocumentCollections zu erstellen und die Docs in den Collections ins Archiv zu schaufeln.

Liebe Aussteller; so schwer ist das doch gar nicht, oder ?


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