Posts Tagged: ‘Lotus Domino’

Scott Souder has started his blog.

21. März 2013 Posted by Ralf Petter

Scott Souder the successor of ed brill in the IBM Messaging and Collaboration division has started his new blog on sssouder.com. I hope his blog will get as informative as the blog of ed brill which was one of the most valuable information source in the IBM collaboration bubble. So good luck to scott souder in his new role and with his new blog.

And by the way, the blog he is using runs on Domino and looks really well.


Lotus Notes 9 final is available in passport advantage

21. März 2013 Posted by Ralf Petter

I am so excited that Lotus Notes 9 is available. Now i am downloading the code and will post what has changed since the public beta later today.



The product codes for the most important downloads are:

IBM Notes, Domino Designer and Admin V9.0 for Windows XP,Vista and Windows 7 32 Bit English(CIB9AEN)

IBM Notes Client V9.0 for Windows English(CIB8LEN)

IBM Notes Client V9.0 for Mac English(CIB8PEN)

IBM Notes Client V9.0 for Linux (RPM Install) English(CIB8MEN)

IBM Notes Client V9.0 for Linux (Debian Install) English(CIB8NEN)

IBM Notes Traveler V9.0 for Windows Multilingual(CIB95ML) 

IBM Domino Sever V9.0 64 bit for Windows English(CIBM1EN)

IBM Domino Sever V9.0 32 Bit for Windows English(CIBM0EN) 





IBM announces general availabilty of Domino 9 on March 21th

12. März 2013 Posted by Ralf Petter

The wait is over. IBM has announced the GA of Domino for delivery on March 21th 2013. I am really looking forward to test the final release of Domino and Notes Social Editon.

Aktivieren des REST Api der Domino Data Services am Server

3. März 2013 Posted by Ralf Petter

Seit 8.5.3 Upgrade Pack 1 gibt es mit dem Domino Data Services eine neue Methode um auf die Daten eines Lotus IBM Domino Server zuzugreifen. Ein Teil dieser Domino Data Services ist ein REST Api mit dem man Daten aus Domino Datenbanken über eine einfache URL als JSON Objekte zurückbekommt. Dies sieht wirklich nach einer sehr viel versprechenden Technologie aus, da man in einem Clientprogramm egal ob es sich jetzt um einen Rich client, einen Webclient oder einen Mobilen Client keine Librarys wie notes.jar installieren muss, um auf Daten von Domino Servern zugreifen zu können.

Die Voraussetzungen für die Verwendung der Domino Data Services sind ein installiertes Upgrade Pack 1 auf 8.5.3 oder natürlich noch besser ein Domino 9 Server. Ich habe alle meine Tests mit einem 9er Server durchgeführt. Die Domino Data Services sind standardmäßig nicht aktiviert und müssen über den Admninistrator freigeschalten werden.

Konfiguration ohne Internet Site Dokument

Im Server Dokument im Tab "Internet Protocols/Domino Web Engine" befindet sich ganz unten der Punkt "Domino Access Services" Bei dem Feld "Enabled Services" muss der Punkt "Data angehakt werden. Danach muss man mit "tell nhttp quit" und "load nhttp" den Http Task von Domino durchstarten und die Data Services sollten funktionieren.



Konfiguration mit Internet Site Dokument

In dem Internet Site Dokument befindet sich die Einstellung für die Domino Data Services auf dem Tab "Configuration". Bei dem Feld "Enabled Services" muss der Punkt "Data angehakt werden. Danach muss man mit "tell nhttp quit" und "load nhttp" den Http Task von Domino durchstarten und die Data Services sollten funktionieren.

Im nächsten Post möchte ich dann zeigen wie einfach es ist auf Daten in einer Datenbank über die REST API zuzugreifen.

Wichtige Gruppen sind im Domino Administrator 9 vor dem Löschen geschützt.

24. Februar 2013 Posted by Ralf Petter

Im Domino Administrator 9 wurde eine neue Funktion hinzugefügt, die bestimmte systemrelevante Gruppen vor der unabsichtlichen Löschung schützt. Dies ist wirklich eine gute Neuerung, da eine versehentlich gelöschte LocalDomainServers Gruppe eine mittlere Katastrophe auslösen kann. Der neue Schutz betrifft aber nur das UI das Administrators, denn über API's können die Gruppen nach wie vor gelöscht werden.


Dieses Feature wird über das Directory Profile konfiguriert. Dort kann man für eine Gruppe den Schutz entfernen, oder für eigene sehr wichtige Gruppen den Löschschutz aktivieren.



Für weitere Infos zur neuen Version schauen Sie auch auf meine Übersicht über alle Postings zum Thema Notes/Domino 9

Domino 9 neue Optionen beim Datenbank compact

24. Februar 2013 Posted by Ralf Petter

In der Version 9 wurde der compact Task um einige sehr praktische Features erweitert. Leider sind die Features in der Admin Hilfe noch nicht dokumentiert. Deshalb habe ich hier soweit bekannt die wichtigsten Infos zusammengetragen.

Compact mit mehreren Threads durchführen.

Mein absolutes Lieblingsfeature. Heutige Server mit vielen Prozessorcores und vielen Platten haben das Problem, dass bei einem Compact über alle Datenbanken Compact zwar ewig läuft, der Server jedoch nur minimal ausgelastet ist. Man hat sich dann mit .ind Files beholfen um mehr als einen Compact Task laufen lassen zu können. Die Pflege der .ind Files hat aber einen relativ großen Aufwand bedeutet und immer wieder wurden Datenbanken nicht in die .ind Files eingetragen und deshalb beim Compact nicht komprimiert. Jetzt kann man jeden Compact Befehl die Option "-# X" anhängen und es werden automatisch X Threads erzeugt die die Komprimierung ausführen. Die maximale Anzahl von Threads ist 20.

Load compact -c -#=5 z.B. führt ein copy style compact mit 5 gleichzeitig laufenden Thread durch.

Schade das ich kein Admin mehr bin. Der nächste Upgrade der ODS wird soviel einfacher und schneller sein. Ebenfalls eine große Erleichterung bei der Einführung von DAOS, da dann auch gleichzeitig in mehreren Threads Anhänge aus den Datenbanken extrahiert werden können.

Compact mit Hilfe einer neuen Replik.

In einer sehr großen Notesdatenbank kann es passieren, dass die Note ID Tabelle  zu groß, bzw. extrem fragmentiert wird. Es kann dann zu der Fehlermeldung "Unable to extend an ID table - insufficient memory" kommen. Diese ID Table wird nur beim erstellen einer neuen Replik reorganisiert. Dieses erstellen einer neuen Replik kann nun mit dem Compact Task und der neuen Option "-REPLICA" ausgeführt werden. Dabei wird ähnlich wie beim copy style compact eine neue Replik angelegt, die mit der Originaldatenbank synchronisiert wird. Dann werden alle Verbindungen zu der Original Datenbank gedroped und auf .orig  sowie die neue auf den alten Namen umbenannt. Danach werden nocheinmal etwaige Änderungen von der orig in die neue Replik synchroniesiert. Falls die Umbennenung nicht klappt, da die Datenbank trotz drop noch immer in Verwendung ist, wird ein Trigger gesetzt, dass die Umbennennung beim Server Neustart gemacht wird. Um die "-REPLICA" Funktion zu verwenden, muss das ODS auf der neuesten Version sein. Sonst bekommt man die Fehlermeldung, dass die ODS Version zu alt ist. Zusätzlich zu "-REPLICA" kann man noch mit "-IDS_FULL=X" angeben, ab welchen Prozentsatz x eine Bereinigung der ID Tabelle mit Replica durchgeführt werden soll. Mit "-REN_WAIT=X" kann angegeben werden, wie viele Minuten Domino versuchen soll die Datenbank nach dem Erstellen der Replica umzubenennen, damit ein Serverneuststart vermieden werden kann. Falls die Datenbank weiter in Verwendung ist, kann man mit der Option "-RESTART" einen automatischen Serverneustart auslösen. Beim Serverneustart wird dann die neue Replik in die alte umbenannt. Das ist praktisch bei Systemdatenbanken die permanent in Verwendung sind.

Load compact -REPLICA -IDS_FULL=50 z.B. führt ein compact mithilfe einer Replik zum bereinigen der ID-Table durch, wenn die IT-Table bereits zu mehr als 50 % voll ist.

In der Public Beta hat bei mir der Parameter "-IDS_FULL" nicht funktioniert. Er hat den Compact immer gemacht, obwohl ich es an einer ganz kleinen Datenbank probiert habe. Ich habe dieses Problem im Betaforum gemeldet.

Compact upgrade

Ebenfalls neu ist die Option -upgrade die laut Hilfe die DB Classes upgraden kann. Leider konnte ich noch nicht herausbekommen was das bedeutet. Falls da jemand Infos hat bitte um einen kurzen Kommentar.



Gedanken zur Edcom Nachlese 2013

20. Februar 2013 Posted by Ralf Petter

Die letzten zwei Tage war ich auf der Edcom Nachlese in München. Zwei Tage vollgepackt mit interessanten Sessions, vielen Gesprächen mit anderen Anwendern von IBM Produkten und einer gemütlichen Abendveranstaltung mit sehr gutem Essen.

Einige Punkte die ich von der Veranstaltung mitnehmen konnte:

Die Sessions zu Connections waren teilweise eher weniger besucht. Im Vergleich dazu waren die Sessions zu Neuerungen in Notes/Domino 9 so voll, dass gar nicht alle sitzen konnten. Man sieht also, dass das Interesse an Notes nachwievor sehr groß ist.

In Notes und Domino 9 gibt es noch mehr Neuigkeiten als ich bisher kannte. Vielleicht kann ich noch den einen oder anderen Blogpost dazu erfassen, wenn ich auch diese Features getestet habe.

xPages ist noch immer ein großes Thema bei der IBM, auch wenn ich nach wie vor eher skeptisch bin was xPages betrifft. Der neue Serverside Javascript Debugger von xPages in Notes 9 sieht nicht schlecht aus.  Auch die Managed Beans die man in xPages verwenden kann, sind eine gute Erweiterung der Möglichkeiten des xPages Entwicklers.

Connections ist ein interessantes Produkt mit vielen Möglichkeiten, dass aber aufwendig einzurichten und vor allem zu administrieren ist. Was sich die IBM dabei denkt, dass es keine UI für die Administration gibt und man sämtliche Administrierungstätigkeiten in XML Dateien bzw über kryptische Befehle auf der Commandline erledigen soll, erschließt sich mir nicht wirklich.

Die TimetoAct hat mit dem Connections Administration Toolkit (CAT) ein sehr interessantes Werkzeug zur Administration von Connections im Angebot, dass die Defizite der IBM ausgleichen kann.

Scott Souder und Chris Crummney haben die Keynotes gehalten und konnten eine sehr positive Stimmung verbreiten. Scott Souder präsentierte erfreuliche Nachrichten für den Bereich Notes/Domino. Die Anzahl der Kunden mit aktiven Wartungsverträge ist 2012 wieder gestiegen. 1500 Kunden die Ihre Verträge früher nicht mehr verlängert hatten, sind 2012 wieder zurückgekehrt. Ich denke Scott Souder der Notes seit Version 1 kennt, hat die Fähigkeiten die Lücke die der Wechsel von Ed Brill zur mobility Sparte hinerlassen hat zu schließen. Ein Blog von Scott, ählich dem von Ed Brill ist bereits in Vorbereitung und soll demnächst online gehen.


Scott Souder hat in der Fragestunde gemeint, dass der Designer und der Notesclient getrennt werden sollen, damit die Eclipseversion des Designer schon früher aktualisiert werden kann. Aber auch der Client soll in der nächsten Major Version nach 9 auf die aktuelle Eclipseversion gebracht werden. Dies ist mir als Pluginentwickler von sehr großer Bedeutung Ebenfalls auf meine Frage hin wurde versprochen, dass auch die Bereiche die derzeit noch im alten Design sind an die neue Designsprache angepasst werden. z.B. der Anwendungs Öffnendialog wurde von ihm explizit erwähnt. Er meinte auch, dass seit der öffentlichen Beta im Dezember noch viele Verbesserungen eingebaut wurden.

Volker Weber hat seine neuesten Handys Blackberry Z10 und Nokia Lumia 920 vorgezeigt und erklärt. Blackberry 10 sieht wirklich sehr gut aus und vor allem die perfekte Trennung zwischen geschäftlicher und privater Umgebung ist ein echtes Alleinstellungsmerkmal von Blackberry. Blackberry 10 wird vom Traveler 9 unterstützt. Ein Blackberry Enterprise Server ist für Blackberry 10 nur notwendig, wenn ich die Trennung zwischen geschäftlich und privat haben möchte. Sonst kann man das Z10 auch ohne BES betreiben. Der BES 10 ist wesentlich ressourcenschonender, da er eigentlich nur mehr ein Provider für eine sichere Verbindung ins Firmennetzwerk ist. Die eigentliche Synchronisation mit Domino erfolgt ebenfalls über Activesync und dem Traveler. Auch das Lumia 920 macht einen extrem guten Eindruck und wird ebenfalls ab Traveler 9 unterstützt. Die Kamera des Lumia ist ein echtes Highlight und macht vor allem bei wenig Licht für eine Handykamera fantastische Fotos. Auch sonst läuft Windows Phone 8 extrem flüssig und ist auf jeden Fall eine Alternative zu iOS und Android.

Alles in allem eine rundum gelungene Veranstaltung, die sich auf jeden Fall ausgezahlt hat.




Neues Redbook zum Thema IBM Traveler Deployment

6. Januar 2013 Posted by Ralf Petter

Ein neues Redbook "Lotus Notes Traveler hints and tips for a successful deployment"wurde vom IBM Redbook Team publiziert. Es enthält jetzt nicht wirklich viel neues für einen erfahrenen Domino Admin, aber trotzdem ist es gut an einem Ort die Best Practice Empfehlungen für den Traveler zu haben.

Neues Feature Database Maintenance in Domino 9

4. Januar 2013 Posted by Ralf Petter

In Domino 9 Social Edition gibt es ein neues Feature, dass die Datenbankwartung erleichtern soll. Bisher musste man dafür mehrere verschiedene Tasks (Updall, compact, fixup) über Programmdokumente aufrufen. Dies alles sollte nun durch den Datenbank Maintenance Task zusammgengefasst werden. Der Datenbank Maintenance Task bietet dabei den Vorteil, dass man die Maintenancetasks auf mehrere gleichzeitig laufende Threads aufsplitten kann. Das heißt, wenn man über entsprechend leistungsfähige Hardware verfüge, kann der DBMT Task mehrere Compact oder Updall gleichzeitig ausführen. Dies war bisher nur umständlich über .ind Dateien möglich.

Man kann den DBMT Task entweder beim Serverstart über ein Programmdokument aufrufen und ihm als Parameter mitgeben, dass er zu bestimmten Zeiten arbeiten soll, oder man ruft den DBMT Task über ein Programmdokument regelmäßig auf, wobei man dann eine Stopzeit mitgeben kann.

Ein Beispielprogrammdokument für den Aufruf beim Dominoserverstart:


Die Parameter bedeuten, dass 3 Compacts und Updalls gleichzeitig laufen dürfen. Die Datenbankmaintenance wird zwischen 2:00 und 7:00 morgens durchgeführt. Compact soll aber nur alle 3 Tage gemacht werden. Der "-force 1" Parameter bedeutet, dass Fixup am Sonntag (1. Tag der Woche) ausgeführt wird. Der DBMT bleibt in diesem Fall immer aktiv, arbeitet aber nur in den angegebenen Zeiten.

Beispiel für die regelmäßige einmalige Ausführung von DBMT mit einer Stoppzeit mittels eines Programmdokuments.


Hier wird der DBMT Task jeden Tag um 2:00 in der Früh durch das Programmdokument mit 3 Compact und 3 UpdateallThreads gestartet. Spätestens um 6:00  in der Früh wird der DBMT abgebrochen bis zum nächsten Start durch das Programmdokument.

Bei beiden Varianten wird ein abgebrochener Compact beim nächsten Durchlauf an der Abbruchstelle fortgesetzt. Es werden somit also nach mehreren Durchläufen auch wenn die Zeit nicht ausreicht alle Datenbanken mittels copy style compact komprimiert.

Achtung! Bei Verwendung des DBMT Tasks sollte man in der notes.ini des Servers den UPDALL Task entfernen, da er sonst doppelt läuft.

Mit "show stats dbmt" kann man sich diverse Informationen über die Ergebnisse des "DBMT" Task anzeigen:




Es gibt noch ein paar zusätzliche Parameter und notes.ini Einträge die dbmt betreffen, die man in der Doku nachlesen kann.

Mein Fazit: Für alle die Datenbankquotas auf Ihren Maildatenbanken verwenden, ist der DBMT vor allem im Zusammenspiel mit der neuen notes.ini Variable "MailFileDisableCompactAbort" ein riesen Fortschritt, weil man damit die Verkleinerung der mail Datenbanken sehr gut automatisieren kann und durch die Verwendung von mehreren Threads die Compacts auch sehr gut performen. Für alle die keine Datenbankquotas verwenden, wäre meiner Meinung nach ein Parameter für die Auswahl des Compact styles sinnvoll gewesen. Da copy style compacts die Datenbanken im Filesystem extrem fragementieren und ohne quotas nicht so oft notwendig sind.

Wünschenswert wäre es wenn der compact Task und auch der Fixup Task eine Option für mehrere Thread bekommen würden.



 




Coole neue notes.ini Variable in Domino 9 für Copy style compact

3. Januar 2013 Posted by Ralf Petter

Bisher hatte man bei einem copy style compact von mail Datenbanken oft das Problem, dass der Copy style compact abgebrochen wurde, weil der Router eine e-mail in die zu komprimierende mail Datenbank zustellt. Deshalb war es oft notwendig, dass man vor der Datenbankmaintenance den Router Task stoppen musste, damit nicht Datenbanken beim Copystyle Compact übergangen werden. Mit Domino 9 wurde eine neue INI Variable "MailFileDisableCompactAbort=1" eingeführt, die genau dieses Problem löst. Sobald man die INI Variable am Server eingetragen hat, liefert der Router keine e-mails mehr an mail Datenbanken aus, für die gerade ein Compact läuft. Sobald der Compact fertig ist, werden die wartenden mails zugestellt.

Das ist einmal eine wirklich gute Neuerung obwohl erst die Praxis zeigen muss, ob es so gut funktioniert wie in der Doku versprochen ;-)

Quick Tipp: HTML E-Mail-Signaturen mit "Trauerrand"?

28. November 2012 Posted by Manuel Nientit

Kürzlich hatte ich bei einem Kunden das Problem, dass HTML-basierte E-Mail Signaturen im MS Outlook 2010 "seltsam" angezeigt wurden.
Die Signatur hatte ein tabellen-basiertes Layout und Outlook zeigte die Tabelle immer mit Rand an, obwohl dies mit "border-style:none" anders entwickelt worden war. Ein Blick in den Source der empfangenen E-Mail zeigte, dass aus "border-style:none" ein "border-style: solid" mit "border-width: 0px" geworden war. Das ist zwar ein wenig krude und entspricht nicht dem Original, sollte aber (eigentlich) auf das Gleiche hinauslaufen.

Nun scheint es so zu sein, dass MS Outlook 2010, die Word Engine zur Bearbeitung und Darstellung von HTML benutzt. Dass diese nicht so wirklich standardkonform ist, ist wohl ein offenes Geheimnis.

Nichts desto trotz kann man die Lösung in Lotus Notes herbeiführen.
Das erwähnte, etwas seltsame, HTML entsteht, wenn man es dem Client überlässt, E-Mails ans Internet von Notes Rich Text nach MIME zu konvertieren. Die Lösung besteht darin, dieses ausschließlich dem Server zu überlassen:
  1. In der aktuellen Arbeitsumgebung wird unter Mail bei "Format für Nachrichten an Internet-Adressen" "Notes Rich Text" eingestellt.
  2. In der Serverkonfiguration wird dann unter "MIME -> Konvertierungsoptionen -> Ausgang" bei "Nachrichteninhalt" z.B. "Von Notes in HTML" eingestellt.
Je nach Routingkonfiguration ist es notwendig, diese Einstellung bei jedem Server auf der Route in der Domino-Domäne vorzunehmen.
Der Domino-Server nimmt die Konvertierung anders vor als es der Client tut, so dass auch MS Outlook in der Lage sein sollte, die E-Mail-Signatur korrekt anzuzeigen.

IBM Connections 4 Profile und Dateien jetzt auch für Notes und Domino-Kunden inklusive

14. November 2012 Posted by Thomas Bahn

IBM ConnectionsLotus Notes
Ab sofort dürfen Kunden, die einen aktiven Wartungsvertrag für IBM Lotus Notes und Domino haben (und also berechtigt sind, die Version 8.5.3 zu nutzen), auch IBM Connections 4 Profile (Profiles) und Dateien (Files) installieren und nutzen (IBM Connections 3.01 war ja schon seit letztem Jahr inklusive).

In zwei Wochen, am 27. November kommt dann auch die Berechtigung für den Tivoli Directory Integrator in der Version 7.1.

Quelle: Ed Brills Blog,
http://www.edbrill.com/ebrill/edbrill.nsf/dx/updating-entitlements-in-notesdomino-8.5.3

SnTT: Update zum Starten von Batch-Dateien mit Programm-Dokumenten

5. Oktober 2012 Posted by Thomas Bahn

showntell-w120.png
Eine kleine Aktualisierung zu dem Blog-Eintrag SnTT: Starten von Batch-Dateien mit Programm-Dokumenten von 2007:

Ein freundlicher Leser unseres Blogs (Danke, Ruaridh) hat mich darauf aufmerksam gemacht, dass das Beispiel-Skript nicht wie gewünscht durchlief. Es würde zwar den Server beenden, ihn dann aber nicht mehr starten - wenn das Skript von einem Programm-Dokument aus gestartet wurde. Wird es manuell gestartet, funktioniere es wie gewünscht.

Eine etwas längere Suche brachte mich dann doch schließlich auf die richtige Fährte:
Während bei einem manuellen Start das Skript auch weiter läuft, wenn zu löschende oder umzubenennende Dateien nicht vorhanden sind, und nur eine Warnung in der Konsole ausgegeben wird, bricht das Skript sofort ab, wenn es per Programm-Dokument gestartet wird.

Die Lösung ist also, vorher zu prüfen, ob die Datei überhaupt existiert, also statt
DEL "%DOMINO_DATA%\log.nsf.4" >>"%BATCH_FILE_LOG%"
REN "%DOMINO_DATA%\log.nsf.3" "%DOMINO_DATA%\log.nsf.4" >>"%BATCH_FILE_LOG%"
besser
IF EXIST "%DOMINO_DATA%\log.nsf.4" DEL "%DOMINO_DATA%\log.nsf.4" >>"%BATCH_FILE_LOG%"
IF EXIST "%DOMINO_DATA%\log.nsf.3" REN "%DOMINO_DATA%\log.nsf.3" "log.nsf.4" >>"%BATCH_FILE_LOG%"
schreiben.

Das vollständige, korrigierte Batch-Skript ist dann:

@ECHO OFF
REM variable parts; to be adapted for each installation
SET DOMINO_SERVICE=Lotus Domino Server (notesdomino6)
SET DOMINO_PROGS=C:\Programme\Domino6
SET DOMINO_DATA=D:\Notes\Domino6
SET BATCH_FILE_LOG=%DOMINO_DATA%\weekly-maintenance.log

REM log settings
ECHO Weekly maintenance started >>"%BATCH_FILE_LOG%"
date /t >>"%BATCH_FILE_LOG%"
time /t >>"%BATCH_FILE_LOG%"
ECHO DOMINO_SERVICE: %DOMINO_SERVICE% >>"%BATCH_FILE_LOG%"
ECHO DOMINO_PROGS: %DOMINO_PROGS% >>"%BATCH_FILE_LOG%"
ECHO DOMINO_DATA: %DOMINO_DATA% >>"%BATCH_FILE_LOG%"
ECHO. >>"%BATCH_FILE_LOG%"

ECHO Stopping Domino service >>"%BATCH_FILE_LOG%"
net stop "%DOMINO_SERVICE%" >>"%BATCH_FILE_LOG%"

ECHO Compacting system databases >>"%BATCH_FILE_LOG%"
"%DOMINO_PROGS%\ncompact" -c -i names.nsf >>"%BATCH_FILE_LOG%"
"%DOMINO_PROGS%\ncompact" -c -i admin4.nsf >>"%BATCH_FILE_LOG%"
"%DOMINO_PROGS%\ncompact" -c -i events4.nsf >>"%BATCH_FILE_LOG%"
REM Domino 7+ only
REM "%DOMINO_PROGS%\ncompact" -c -i ddm.nsf >>"%BATCH_FILE_LOG%"

ECHO Refreshing view in Domino Directory >>"%BATCH_FILE_LOG%"
"%DOMINO_PROGS%\nupdall" -R names.nsf >>"%BATCH_FILE_LOG%"

ECHO Save log database (4 generations) >>"%BATCH_FILE_LOG%"
IF EXIST "%DOMINO_DATA%\log.nsf.4" DEL "%DOMINO_DATA%\log.nsf.4" >>"%BATCH_FILE_LOG%"
IF EXIST "%DOMINO_DATA%\log.nsf.3" REN "%DOMINO_DATA%\log.nsf.3" "log.nsf.4" >>"%BATCH_FILE_LOG%"
IF EXIST "%DOMINO_DATA%\log.nsf.2" REN "%DOMINO_DATA%\log.nsf.2" "log.nsf.3" >>"%BATCH_FILE_LOG%"
IF EXIST "%DOMINO_DATA%\log.nsf.1" REN "%DOMINO_DATA%\log.nsf.1" "log.nsf.2" >>"%BATCH_FILE_LOG%"
IF EXIST "%DOMINO_DATA%\log.nsf"   REN "%DOMINO_DATA%\log.nsf" "log.nsf.1" >>"%BATCH_FILE_LOG%"

ECHO Restarting Domino service >>"%BATCH_FILE_LOG%"
net start "%DOMINO_SERVICE%" >>"%BATCH_FILE_LOG%"
ECHO. >>"%BATCH_FILE_LOG%"

ECHO Weekly maintenance completed >>"%BATCH_FILE_LOG%"
date /t >>"%BATCH_FILE_LOG%"
time /t >>"%BATCH_FILE_LOG%"
ECHO. >>"%BATCH_FILE_LOG%"

Quick-Tipp: E-Mails per POP3 (oder IMAP) abholen und per SMTP an Domino-Server zustellen

18. September 2012 Posted by Thomas Bahn

Quick-Tipp
Manchmal kommt es vor, dass man E-Mails nicht direkt per SMTP aus dem Internet empfangen will (Sicherheit) oder kann (z. B. kein Zugriff auf MX-Eintrag bei Domänen-Provider). Dann kann man entweder die E-Mails mit dem Notes-Client abholen oder man verwendet ein Hilfprogramm wie fetchmail, um die E-Mails per POP3 oder IMAP beim Provider abzuholen und dann (im lokalen Netz) per SMTP an den Domino-Server zu senden.

Wenn man sowieso einen Linux-Server am Laufen hat, bietet es sich an, Fetchmail aus der Distribution zu installieren. Hat man jedoch nur Windows-Server oder man möchte das Verfahren auf einem Windows-Desktop oder -Notebook implementieren, hat man ein Problem: Es gibt keine native fetchmail-Version für Windows. Aber zum Glück gibt es Cygwin für solche Fälle...

Zunächst muss man den aktuellen Cygwin-Installer herunterladen und installieren:
 
A picture named M2

A picture named M3

A picture named M4

A picture named M5

A picture named M6

A picture named M7


Eine Download-Site möglichst in der Nähe auswählen:
A picture named M8

A picture named M9


Wenn man unter Search den Namen, hier also "fetchmail" eingibt, wird die Liste gefiltert. Mit einem Linksklick auf "Skip" in der Spalte "New" schaltet man die Installation der aktuellen Version an und die Versionsnummer wird in der Spalte "New" angezeigt.
A picture named M10

Bei der Gelegenheit kann man noch andere Linux-Programme, wie z. B. den Editor "nano" und den Archiver "bzip2" auswählen und mit installieren.
A picture named M11



Als nächstes konfigurieren wir fetchmail. Wie unter Linux üblich, geht das über eine einfache Text-Datei, die man z. B. mit "nano /etc/fetchmailrc" anlegt und gleich zum Bearbeiten öffnet:
 
# globale Optionen
set postmaster "postmaster@assono.de"


# Vorgabekonfiguration für alle Polls
defaults
# Server-Optionen
protocol pop3
# User-Optionen
to "tbahn"
smtpname "tbahn@assono.de"
smtphost "smtp.assono.de"


# 1. Poll
poll "pop.gmx.net"
# Server-Optionen
uidl
# User-Optionen
username "******@gmx.de"
password "**********"
sslfingerprint "A6:57:BC:4A:97:AD:DB:99:00:E9:3A:B8:81:55:D7:B6"
# keep

# 2. Poll
poll "pop.web.de"
# Server-Optionen
uidl
# User-Optionen
username "******@web.de"
password "**********"
sslfingerprint "48:FC:ED:0A:EB:4F:DF:A3:F3:4A:C5:DB:8B:E4:D6:6A"

Da in dieser Datei Passworte gespeichert werden (müssen), verlangt fetchmail zur Sicherheit, dass nur der Besitzer (Owner) selbst darauf zugreifen kann, also: chmod 600 /etc/fetchmailrc im Cygwin-Terminal eingeben.

Ganz zu Beginn stehen die globalen Optionen. In diesem Fall nur die Einstellung postmaster: Wenn fetchmail nicht ermitteln kann, an wen eine E-Mail gehen soll, wird sie Notfalls an diese Adresse geschickt.

Im Abschnitt defaults können Voreinstellungen für alle Polls, d.h. alle Server und Benutzer, von bzw. für die E-Mails abgeholt werden, definiert werden.
Hier hole ich also immer per POP3 ab (protocol, IMAP ginge auch) und alle E-Mails sind für Benutzer "tbahn" (to), werden an "tbahn@assono.de" gesendet (smtpname) und dafür wird der SMTP-Server smtp.assono.de (smtphost) verwendet.

Der erste Poll soll vom Server pop.gmx.net gemacht werden.

Die Server-Option uidl besagt, dass die gelesen-Markierungen client-seitig verwaltet werden sollen. Greift man abwechelnd mit mehreren Mail-Clients auf das POP3-Konto zu, werden E-Mails, die mit einem anderen Client gelesen wurden, auf dem Server als gelesen markiert und würden ohne diese Einstellung nicht mehr von fetchmail abgeholt werden.

Die Benutzer-Optionen username und password sind wahrscheinlich klar, nur sslfingerprint ist wohl erklärungsbedürftig.
Wenn man nichts anderes angibt (wie ich hier), wird eine unverschlüsselte POP3-Verbindung aufgebaut und danach versucht, mittels STARTTLS auf eine verschlüsselte Verbindung umzustellen. Dabei wird auch das SSL-Zertifikat vom Server heruntergeladen und verifiziert. Das hat bei mir nicht geklappt, da die übergeordneten Zertifikate nicht vorlagen. Statt diese zu besorgen und im richtigen Verzeichnis abzulegen, habe ich nur den SSL-Fingerabdruck ermittelt und in die Konfiguration eingetragen. Jetzt wird der Fingerabdruck des Servers mit dem in der Konfiguration verglichen und nur E-Mails abgeholt, wenn er übereinstimmt. So beuge ich Man-in-the-Middle-Attacken vor.

Mittels der auskommentierten keep-Option wäre es möglich, die abgeholten E-Mails auf dem Server zu belassen. Ohne diese Einstellung werden abgeholte E-Mails gelöscht.

In einer Konfiguration können beliebig viele Polls, also Server, und pro Server beliebig viele Benutzer abgefragt werden. Für Details sei auf die Hilfeseiten und die FAQ des fetchmail-Projekts verwiesen. Auch Sammelpostfächer, die E-Mails von verschiedenen Benutzern gleichzeitig enthalten, sind möglich (siehe Multidrop Mailboxes auf den Hilfeseiten).


Als Nächstes erstellen wir ein Shell-Skript, um fetchmail bequem aufzurufen und dabei gleich die Protokolldateien zu verwalten. Ich baue dabei auf die Arbeit von Andreas Rehm, ITsolution² auf, dem ich hiermit vielmals für seine großartige Arbeit danken möchte.

Also: nano /usr/bin/fetchmail.sh:
 
#!/bin/bash
# fetchmail.sh:Andreas Rehm ITsolution², Thomas Bahn <tbahn@assono.de>
# Stand 0.3
#
# Diese Script muss mit einer bash/cygwin oder auf einem Unix Rechner
# gestartet werden.
# Es wird automatisch pro Tag ein Logfile angelegt.
# Es wird nur einmal fetchmail gestartet, wenn es bereits läuft wird
# abgebrochen.
# Archivierung alter Logfiles nach 7 Tagen mit bzip2 und automatische
# Löschung nach einem Jahr.
#
# Bitte beachten: Sie brauchen fetchmail und bzip2
#
# Geplant für die nächste Version:
#
###########################################################################
# History
# V0.1 - Initiale Version
# V0.2 - Fehlerbereinigung Löschen alter Logdateien
# V0.3 - Anpassungen von Thomas Bahn
#          Protokolle in /var/log
#          -v (verbose) bei fetchmail-Aufruf
#
###########################################################################

# Abbruch, wenn fetchmail noch läuft
ps -a | grep fetchmail && exit;

# Start
echo "Starte E-Mail-Abholung"

# Neue Logdatei ja / nein
NEWLOGFILE=0

# Log-Datei erstellen - LOGDATE ist das aktuelle Datum
LOGDATE=`date +'%Y-%m-%d'`
# Logdir ist der Ordner mit den Logdateien - dieser wird ggf. erstellt
LOGDIR='/var/log'
# Logfile ist die Logdatei, die sich aus den vorhergehenden Daten zusammensetzt
LOGFILE="${LOGDIR}/${LOGDATE}-fetchmail.log"

# Logdir erstellen wenn nötig
if [ ! -d ${LOGDIR} ]
then
       echo "Erstelle Logdir = ${LOGDIR}"
       mkdir -p ${LOGDIR}
fi

# Logfile anlegen, da sonst fetchmail kein Log schreibt
if [ ! -f ${LOGFILE} ]
then
       echo "Logdatei ${LOGFILE} erstellen..."
       touch ${LOGFILE}
       NEWLOGFILE=1
fi

# Anfang protokollieren
DATE=`date +'%d.%m.%Y %H:%M:%S'`
echo "Start der E-Mail-Abholung am ${DATE}" >> ${LOGFILE}

# E-Mail abholen
fetchmail -v -f /etc/fetchmailrc -L ${LOGFILE}

# Ende protokollieren
DATEEND=`date +'%d.%m.%Y %H:%M:%S'`
echo -e "Ende der E-Mail-Abholung am ${DATEEND}\n" >> ${LOGFILE}

# Logrotation wenn eine neue Datei angelegt wurde
if [ "${NEWLOGFILE}" == "1" ];
then
       # Dateien die älter als 7 Tage sind werden komprimiert
       find ${LOGDIR} -name \*.log -ctime 7 -exec bzip2 {} \;
       
       # Dateien die älter als 365 Tage sind werden gelöscht
       find ${LOGDIR} -name \*.log.bz2 -ctime 365 -exec rm {} \;
fi


Ein Shell-Skript muss ausführbar sein, also: chmod 755 /usr/bin/fetchmail.sh im Cygwin-Terminal eingeben.

Es bleibt der regelmäßige Aufruf des Shell-Skript, wofür es unter Windows 7 die Aufgabenplanung gibt:
 
A picture named M12


Dort kann man eine neue Aufgabe erstellen:
 
A picture named M13

A picture named M14

A picture named M15

A picture named M16

A picture named M17


Programm: C:\cygwin\bin\mintty.exe
Argumente: -h error -e /usr/bin/bash --login -i /usr/bin/fetchmail.sh
 
A picture named M18

A picture named M19


Der Start der Aufgabe macht nur Sinn, wenn überhaupt eine Netzwerkverbindung besteht.
 
A picture named M20


Man kann die Aufgabe dann einmal gleich ausführen lassen und im Cygwin-Terminal mit less /var/log/*-fetchmail.log nachschauen, wie es denn so lief.

Quick-Tipp: DAOS aktivieren bei neuen Mail-Datenbanken

17. September 2012 Posted by Thomas Bahn

Quick-Tipp
Für viele ist das vielleicht eine schon lange bekannte Eigenschaft von Schablonen, für andere mag es noch neu sein: Grundsätzlich übernehmen aus einer Schablone erstellte Datenbanken die erweiterten Datenbank-Eigenschaften der benutzten Schablone.

Im Fall der Mail-Schablone kann man also einfach die verschiedenen Komprimierungen und DAOS einmal auf der im Unternehmen genutzten Schablone aktivieren, und alle danach erstellten Mail-Datenbanken haben diese Eigenschaften auch gesetzt:
DAOS-aktivieren-bei-neuen-Mail-Datenbanken-Screenshot.gif