30.07.2014

Die 30-Tage-iFixes für IBM Connections 5

Category: IBM Connections, Administration

IBM Connections
Kaum wird IBM Connections 5 einen Monat alt, schon gibt es die ersten "required" iFixes: "All IBM Connections 5.0 environments must apply iFixes LO80688 and LO80990." Eine weitere wichtige Voraussetzung ist der WebSphere Application Server 8.5.5.1 iFix PM91417 (Partial application updates will not update JARs in non-active Java EE locations).

Die IBM Technote Update strategy for IBM Connections 5.0 enthält auch relevante Informationen für IBM Connections-Installationen auf einer Oracle-DB und für Leute, die ihr Connections von 4.5 auf 5 aktualisieren wollen.

29.07.2014

IBM Notes-Kunden dürfen jetzt auch Version 5 von IBM Connections nutzen

Category: IBM Connections, IBM Domino, IBM Notes

IBM ConnectionsIBM Notes
Seit knapp 2 Jahren dürfen IBM Notes-Kunden zwei Module von IBM Connections nutzen: IBM Connections Files und IBM Connections Profiles. Vor einem Monat ist IBM Connections 5 heraus gekommen und es war nur eine Frage der Zeit, wann die Berechtigung für Notes-Kunden aktualisiert werden würde.

Ehrlich gesagt, habe ich es etwas verpasst: Bereits am 1. Juli hat IBM diese Änderung verkündet: IBM Notes and Domino V9.0.1 adds new social software capabilities

24.07.2014

Quick-Tipp: 'Verbergen-Formeln von Aktionen bei jedem Dok'wechsel prüfen' funktioniert nicht

Category: Quick-Tipp, IBM Notes, Entwicklung

Quick-TippIBM Notes
Es gibt immer mal wieder Tage, wo einem das Offensichtliche nicht ins Gesicht springt und man sucht und sucht und sucht...

Man kann bei einer Ansicht eine Eigenschaft einstellen, dass die Verbergen-Wenn-Formeln (hide when) jedes mal neu berechnet werden, wenn man auf ein anderes Dokument in der Ansicht geht bzw. darauf klickt.
A picture named M2

Das braucht man, wenn man z. B. Ansicht-Aktionen abhängig von Status des Dokuments anzeigen möchte, also die Aktion "Antrag genehmigen" in der Ansicht nur anzeigen möchte, wenn der aktuell ausgewählte Antrag auf "zu genehmigen" steht.

Ich wollte eine Aktion zum Kopieren des Feldinhalts in die Zwischenablage nur dann anzeigen, wenn das Feld "Passwort" ausgefüllt ist:
A picture named M3

So einfach funktioniert das - normalerweise. Und die gleiche Aktion in der Maske funktionierte auch, nur eben nicht in der Ansicht.

Nach längerer Suche und viel Ausprobieren bin ich dann auf die Lösung gekommen. Kern des Problems war, dass das Feld "Passwort" verschlüsselt gespeichert wird:
A picture named M4

Verschlüsselte Felder werden nicht "normal" im Dokument gespeichert, sondern in $SealData-Items.
A picture named M5

Sie können dann weder in Spalten angezeigt, noch in Spalten- oder Aktionsformeln benutzt werden.

Als Lösung habe ich ein neues Feld "PasswortEingegeben" in der Maske hinzugefügt, dass nur die Information speichert, ob das Passwort-Feld gefüllt ist. Im geöffneten Dokument kann man ja noch einfach auf die verschlüsselten Felder zugreifen.
A picture named M6

Danach habe ich das neue Feld in der Verbergen-Wenn-Formel der Aktion benutzt:
A picture named M7

Und es funktioniert!

18.07.2014

Quick Tip: Get rid of those Scheduler messages each time the Domino server starts

Category: Quick-Tipp, IBM Domino, Administration, Entwicklung

Quick-TippIBM Domino
Chris Miller  is one of the best Domino administrators alive. He regularly writes for the SocialBiz user group and answers difficult questions about  Domino administration, like last week's From the SocialBiz Mailbox: Excluding Calendars from Mail-in Databases  


You all probably know those unnecessary "errors" the Scheduler writes each time, when it encounters a mail database, where it cannot find the database's owner in the Domino directory anymore.
SchedMgr: Error processing calendar profile document (NoteID: NT....) in database...:
Can't find $BusyName field on profile

SchedMgr: Error processing calendar profile document (NoteID: NT...) in database ...:
Cannot find user in Domino Directory


Perhaps, the user has left the company, doesn't use this mail database anymore or the database simply is a mail-in database.

The Scheduler task is important to validate and update freetime information about current users, but in the above cases, the mail database doesn't include important calendar information anymore. Thus it would be great to just tell the Schedule: "Please, ignore this database".

And Chris knows a solution: There is a small program "NoCal" to do this magic little trick.

But it has some limitations:
  • It's really, really old: Release: R5, Platform: Windows 95/98/NT, Date Posted: 04.05.2001
  • it has to be run from the command line and
  • it just can switch off the "Has Calendar" database option.
I felt this itching again: Can't I do better than this?  
  • Something small and transportable like an agent, you can easily put in your mail(-in) database template or any database, you want,
  • it should be easy to switch on and off this option and
  • it can be run comfortably in the Notes client.
 And I did it with through investigations, lot of tries (and failures) and some C API calls:

The basic agent looks like this:

Sub Initialize
        '/**
        ' * gets current database's options, prints "Has Calendar" option,
        ' * toggles it and prints new status
        ' *
        ' * @author        Thomas Bahn/assono <tbahn@assono.de>
        ' * @version        2014-07-17
        ' */                

        Dim session As NotesSession
        Dim returnCode As Integer
        Dim hDB As Long
        Dim retDbOptions As Long
       
        On Error GoTo miniErrorHandler

        Set session = New NotesSession
       
        ' open the current database
        returnCode = NSFDbOpen(session.CurrentDatabase.FilePath, hDB)
        Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbOpen", hDB)

        ' get current options
        returnCode = NSFDbGetOptions(hDB, retDbOptions)
        Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbGetOptions", hDB)
       
        ' print current status
        If retDbOptions And  DBOPTION_HAS_CALENDAR Then
                Print "Database has calendar"
        Else
                Print "Database doesn't have calendar"
        End If
       
        ' toggle option
        returnCode = NSFDbSetOptions(hDB, _
                        retDbOptions Xor DBOPTION_HAS_CALENDAR, _
                        DBOPTION_HAS_CALENDAR)
        Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbSetOptions", hDB)
       
        ' get current options
        returnCode = NSFDbGetOptions(hDB, retDbOptions)
        Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbGetOptions", hDB)
       
        ' print new status
        If retDbOptions And  DBOPTION_HAS_CALENDAR Then
                Print "Database now has calendar"
        Else
                Print "Database now doesn't have calendar"
        End If
       
        ' close the database
        returnCode = NSFDbClose(hDB)
        Exit Sub
       
miniErrorHandler:
        MessageBox "Error #" & Err & " occurred in line " & Erl & Chr$(10) &_
                "Error message: " & Chr$(10) & Error$, 48, "Error"
       
        If hDB <> 0 Then ' if there is a valid handle, try to close database
                returnCode = NSFDbClose(hDB)
        End If
End Sub

Read More

11.07.2014

Neue Traveler Client App 9.0.1.1 erschienen

Category: IBM Notes Traveler, Administration

Lotus Notes Traveler
Wie Mat Newman in seinem Blog ganz richtig bemerkt, ist dieses Release nicht einfach nur ein Punkt-Release. Es ist eine Generalüberholung mit neuen Funktionen und ganz neuer Benutzerführung.


Die nachfolgende 29(!)-seitige Präsentation zeigt mit sehr schönen Screenshots, was sich geändert hat:
Matnewman.com IBM Notes Traveler 9.0.1.1 from Mat Newman

Um Missverständnissen vorzubeugen: Damit geht kein neues Traveler Server Release einher. Wer diese neue App also haben möchte, muss sie sich im Google Play herunterladen und ggf. manuell auf seinem Traveler Server einbinden.

06.07.2014

Quick-Tipp: Domino Console verbindet sich nicht mit lokalem Server

Category: Quick-Tipp, IBM Domino, Administration

Quick-TippIBM Domino
Seit einigen Versionen des Windows-Servers kann man nicht mehr direkt die Konsole des Domino-Servers sehen - aus Sicherheitsgründen.

Als Ersatz kann man die Domino Console (jconsole.exe) auf dem Server starten, die auch deutlich vielseitiger und leistungsfähiger als die "alte" Serverkonsole ist.

Normalerweise (soll heißen: in meiner Erfahrung bisher immer) findet die Domino Console nach dem Start den lokal laufenden Domino-Server und verbindet sich ohne weitere Authentifizierung mit diesem. Letzten Donnerstag habe ich das erste Mal erlebt, dass es nicht funktioniert hat.

Der Server wurde migriert von Hardware auf VM, die Version von 8.5.3 FP6 auf 9.0.1 FP1 IF1 angehoben. Er ist ein Cluster-Server mit einer zweiten Netzwerkkarte und IP-Adresse für den Cluster-internen Verkehr. Der "Hauptserver" des Clusters wurde vorher schon umgestellt und alles lief auf Anhieb wie erwartet. Bei diesem, zweiten Server jedoch hat sich die Domino Console nicht mit dem laufenden Domino-Server verbunden - weder automatisch beim Start der Console, noch auf "Aufforderung".

Man konnte sich mit der Domino Console auf andere Server über Netzwerk verbinden, indem man Server-Adresse, Name und Passwort angab.

netstat -a -n zeigte, dass der Dienst auf tcp/2050 lauschte und zwar auf der Hauptadresse des Servers. Die Domino Console versucht beim Start sich mit dem lokalen Server zu verbinden und benutzt dazu den Namen des Windows-Servers (der abweicht vom Namen des Domino-Servers).

Ein ping auf den Windows-Namen nutzte IPv6, ein ping -4 zeigte, dass der Windows-Name auf die IP-Adresse des Cluster-Netzwerks aufgelöst wurde. Das ließ sich erstaunlicherweise aber weder über den DNS-Eintrag noch über einen entsprechenden Eintrag in der lokalen hosts-Datei ändern. Windows halt.

Die Lösung fand ich in einer Technote, die sich eigentlich mit etwas anderem beschäftigt: Domino running on Windows 2008, Is there way to set the Lotus Domino Console starts, it would connect to the local Domino server ?

Dort stand in der dconsole.ini im ersten Abschnitt:
LocalHost=Name:2050

Flugs habe ich eine solche Zeile auf dem problembehafteten Server eingetragen - mit dem Domino-Server-Namen, der per DNS-Eintrag auf die "richtige" IP-Adresse übersetzt wird, und nach einem Server-Neustart und dem Aufruf der Domino Console verbindet sich diese automatisch mit dem lokalen Domino-Server! Ich habe fertig!

04.07.2014

Quick-Tipp: Fehler beim Signieren von Datenbanken mit der Server-ID

Category: Quick-Tipp, IBM Notes, IBM Domino, Administration

Quick-TippIBM NotesIBM Domino
Das war mal wieder ein ganz mysteriöser Fehler: Im Domino Administrator unter dem Reiter Dateien eine Datenbank ausgewählt, im Rechtsklick-Kontextmenü "Signieren..." und im folgenden Dialog "ID des aktiven Servers" gewählt. Sofort kommt eine Dialogbox mit der Fehlermeldung "Sie sind zur Durchführung dieser Operation nicht berechtigt." (You are not authorized to perform that operation).

Kurze Recherche und viel Überprüfen der aktuellen Einstellungen:
  • Aktueller Benutzer muss Administrator auf dem Server sein (Server-Dokument, Sicherheit-Reiter): gecheckt.
    Er hat sogar das Recht für Administration mit voller Berechtigung - und selbst wenn diese aktiviert ist, kommt der Fehler.
  • Er muss mindestens Autor sein auf der Datenbank admin4.nsf (Administrationsanforderungen) und Dokumente erstellen können: gecheckt, sogar Manager mit allen Rechten.
  • Er ist Manager auf der zu signierenden Datenbank
  • Er kann die Gestaltung der Datenbank mit seiner ID problemlos signieren.
Als Entwickler im Herzen probiere ich es über einen Agenten, den ich in der zu signierenden Datenbank erstelle:

Option Public
Option Declare

Sub Initialize
        '/**
        ' * signs this database by manually creating a request with NotesAdministrationProcess.
        ' *
        ' * @author                Thomas Bahn <tbahn@assono.de>
        ' * @version        2014-07-03
        ' */
       
        Dim uiws As New NotesUIWorkspace
        Dim session As NotesSession
        Dim currentDB As NotesDatabase
        Dim adminDB As NotesDatabase
        Dim adminP As NotesAdministrationProcess
        Dim noteID As String
       
        Set uiws = New NotesUIWorkspace
        Set session = New NotesSession
        Set currentDB = session.CurrentDatabase
        Set adminDB = New NotesDatabase(currentDB.Server, "admin4.nsf")
        Set adminP = session.CreateAdministrationProcess(currentDB.Server)

        noteID = adminP.SignDatabaseWithServerID(currentDB.Server, currentDB.FilePath, False)
        If noteID <> "" Then
                Call uiws.EditDocument(False, adminDB.GetDocumentByID(noteID))
        End If
End Sub

Ich nenne ihn "Datenbank per Administration Request signieren lassen via AdminP-Objekt" (SignDatabaseAdminPViaAdminPObject),
  • Auslöser: Durch Ereignis - Auswahl im Menü 'Aktionen'
  • Ziel: Keine
  • Sicherheitsstufe zur Laufzeit: 2. Beschränkte Operationen zulassen

Es kommt in der Zeile mit "adminP.SignDatabaseWithServerID" der gleiche Fehler wie im Admin-Client.

Noch gebe ich mich nicht geschlagen, ein anderer Weg, ein anderer Agent:

Read More

01.07.2014

Quick-Tipp: Unter CentOS 6 zusätzliche Repositories benutzen

Category: Quick-Tipp, Administration, Linux

Quick-Tipp
CentOS 6 ist für mich eine rundherum gelungene Distribution. In Zusammenhang mit IBM-Software, wie z. B. IBM Domino, gefällt mir besonders die Kombination aus "fast" offiziell vom Hersteller unterstützter Plattform und kostenloser Benutzung für beliebig viele Server. Gerade wenn man ständig neue VMs erstellt zum Testen, für Demos usw., die man aber auch nach Monaten und Jahren noch nutzen können möchte, müsste man sonst für andere Betriebssystemlizenzen sehr viel Geld ausgeben. Nur "fast" weil es (binär-)kompatibel zum RedHat Enterprise Linux (RHEL) ist, das IBM offiziell als Betriebssystem für IBM Notes, IBM Sametime, IBM Connections usw. unterstützt.

Eine kleine Einschränkung ist aber, dass die Paketbibliotheken (Repositories), die direkt zu CentOS gehören, relativ klein sind zu anderen Linux-Distributionen. Kürzlich hatte ich auf einem Gentoo-Linux ein kleines Hilfsprogramm gesehen (htop), das mir auf Anhieb gefiel. Heute wollte ich auf eine mit NTFS formatierte, externe Festplatte zugreifen. Beides geht nicht mit den Paketen aus den Standard-Repositories. Aber glücklicherweise gibt es da was von Ratio... RepoForge (vormals RPMForge), einem weiteren Repository, das sich leicht einbinden lässt.

Bei zusätzlichen Repositories gibt es ein prinzipielles Problem: Was ist, wenn die Pakete und/oder Versionen enthalten, die mit denen aus den Standard-Repositories konkurrieren? Bei RepoForge sollte das kaum auftreten, aber wenn man sich trotzdem etwas absichern möchte, kann man das mit dem yum-priorities-Plug-in tun. Hier die notwendigen Schritte in aller Kürze für CentOS 6:
  • im Terminalfenster
    yum install yum-plugin-priorities
  • prüfen von /etc/yum/pluginconf.d/priorities.conf: enthält die Datei enabled=1 im Abschnitt ain/font>?
  • in allen Dateien in /etc/yum.repos.d/ Prioritäten eintragen, also priority=n in allen Abschnitten eintragen, wobei ich für die Basis-Pakete in CentOS-Base.repo 1 bzw. 2 vergebe, in CentOS-Vault.repo 3 bis 7 (aufsteigend zu den älteren Versionen hin), in CentOS-Media.repo die 8 und in CentOS-Debuginfo.repo die 9.

Jetzt kann man das RepoForge-Repository hinzufügen:
  • Je nach Plattform: 32-bit (i686):
    wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
    bzw. 64-bit (x86_64):
    wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    oder einfach:
    wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.`uname -m`.rpm
  • Signatur-Schlüssel holen:
    rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
  • Paket überprüfen:
    rpm -K rpmforge-release-0.5.3-1.el6.rf.*.rpm

    Ergebnis sollte etwa so aussehen:
    rpmforge-release-0.5.3-1.el6.rf.i686.rpm: (sha1) dsa sha1 md5 gpg OK
  • und installieren:
    rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm
  • in /etc/yum.repos.d/rpmforge.repo Prioritäten eintragen, also priority=n in allen Abschnitten eintragen (ich verwende 10 bis 12 von oben nach unten)

Und zum Test kann man jetzt htop installieren:
  • einmalig die Yum-Caches säubern:
    yum clean all
  • htop installieren:
    yum install htop
  • und schließlich ausführen:
    htop
  • für die NTFS-Unterstützung installiere ich ntfs-3g:
    yum install ntfs-3g

27.06.2014

IBM Connections 5 - interessante Links

Category: IBM Connections

IBM Connections
Nachdem gestern (endlich) IBM Connections 5.0 erschienen ist, heute noch ein paar Links zu nützlichen und/oder interessanten Informationen:


Die Produktdokumentation, die ich gestern noch nicht gefunden hatte, im IBM Knowledge Center:
IBM Connections 5.0 - Administering Connections V5

Die Dokumentation enthält auch diese interessante Übersicht:
What's new in IBM Connections 5.0
Dadurch dass aber (fast) alle Änderungen aufgelistet sind, kann man kaum die wichtigen großen von den nicht so wichtigen kleinen unterscheiden.

Das IBM Social Software-Blog bringt immer wieder die neuesten Neuigkeiten, wichtige Verweise und nützliche Informationen, darunter auch Videos zu den Neuerungen.
Besonders relevant aktuell ist der Announcing the new IBM Connections 5.0 Reviewer's Guide.

IBM Connections Product life cycle dates
Die Version 2.5 läuft dieses Jahr noch aus dem Service. Ich erwarte, dass die Version 3.0 aus 2010 demnächst auch abgekündigt wird mit einem Service-Ende vielleicht in 2015?

Es gibt bereits die ersten beiden Interims Fixes für Connections 5.0 in der IBM Fix Central.
Auf der Seite Update strategy for IBM Connections 5.0 steht auch ein Verweis auf den WebSphere Application Server 8.5.5.1 iFix PM91417, der zwingend vorausgesetzt wird, bevor man die beiden Connections-Fixes einspielen kann.

Für Entwickler ist wahrscheinlich die IBM Connections 5.0 API Documentation interessant.

Für Administratoren eher die IBM Support-Seite für IBM Connections 5.0.
Von dort kommt man auch leicht zu weiteren nützlichen Seiten, wenn auch einige noch nicht für die Version 5 aktualisiert wurden. Insbesondere die IBM Connections 5.0 System Requirements fehlen mir noch auf den entsprechenden Seite.

Zwar schon älter (aus dem letzten Jahr ), aber Immer noch ziemlich aktuell:
IBM Redbooks: Installing and Deploying IBM Connections

26.06.2014

IBM Connections 5-Plug-ins sind auch schon da

Category: IBM Connections

IBM Connections
Bereits seit letzter Woche steht das IBM Connections Plug-in für Microsoft Windows zum Download bereit. Es "passt" auch zur IBM SmartCloud for Social Business-Variante von IBM Connections, die schon seit einiger Zeit auf der Version 5 der "on-premises"-Lösung aufsetzt. Heute ist noch das Plug-In für IBM Notes dazu gekommen:


A picture named M2

Beide befinden sich im Solutions Catalog auf dem IBM Greenhouse:
IBM Connections Plug-ins for IBM Notes
IBM Connections Desktop Plug-ins for Microsoft Windows

Kalender (Calendar)

Tags

Deutsche RSS-Feeds (German)

Custom Button Custom Button

English RSS feeds

Custom Button Custom Button