Kognitiv in Notes

17.02.2017 04:56 PM Posted In:deutschIBMWatsonBluemix 250 Views 0 Comments

Schnell noch ein Screenshot vor dem Wochenende Rollend lachend

Normalerweise müssten wir jetzt zeigen wie man kognitive Technologien mit XPages nutzt. Dafür gab es auch einen schönen Workshop zur Vorbereitung. Aber kognitive Technologien wie IBM Watson auf Bluemix kann man auch im IBM Notes Client nutzen. Und im Zusammenhang mit einer Email bieten viele Watson-Services auch direkt einen Mehrwert. Ob wir nun Anhänge zur Bild-Analyse übergeben, die Stimmung einer Email interpretieren lassen oder einfach nur den Text übersetzen lassen, man kann direkt viele Anwendungszwecke erkennen. Das wollten wir mal ausprobieren und so kann es aussehen

ITWU Watson Bluemix Notes Client

Leider hat Herr Müller für die Veranstaltung "Müller arbeitet jetzt anders" in Düsseldorf für 2015 abgesagt. Dieses Verhalten ist mal wieder typisch für unseren fiktiven Herrn Müller.

Typisch Herr Mueller

 

Bis zum Ersatztermin in 2016 wird sich in der schnell wandelnden IT- bzw. ITWU-Welt wieder viel ändern. Da wollen wir Herrn Müller bis dahin wenigstens unsere Präsentation "Müller nutzt jetzt Anwendungen die Welten verbinden" zur Verfügung stellen. Natürlich fehlt dabei die ergänzende Live-Präsentation der Use-Cases, Carls Erklärungen und die zusätzlichen Präsentationen der Agenda. Wer das erleben will, muss leider noch etwas warten.
 

Eigentlich sollte es ein Feiertag sein, aber Teamstudio, TLCC und IBM hatten etwas anderes geplant. Es war mal wieder Zeit für das monatliche Webinar. Dieses Mal mit dem schönen Titel: App.Next - The Future of Domino Application Development.

Und es hat sich gelohnt. Schaut mal ab 15:27 was für Pläne es für die NSF gibt. Das Auslagern der View Indexes wäre nun wirklich eine sehr feine Sache. Im Q&A am Ende der Präsentation wird dazu sogar noch erklärt, dass die View Indexes auf einen eigenen Controller Channel könnten. Meine Performance Träume werden vielleicht irgendwann noch wahr. Aber weitere Vorteile liegen auf der Hand: innerhalb der NSF wird Platz frei (erinnert an DAOS), man kann viel mehr Views erstellen, ohne sich Gedanken um die arme NSF machen zu müssen und unnötige View Indexes müssen nicht mehr gesichert werden.

Das weitere Webinar verlief wie erwartet. Es wurden viele Features für XPages vorgestellt. Dabei sollte man sicherlich die Dokumenten-Verschlüsselung innerhalb von XPages hervorheben. Aber natürlich sind Responsive Designs und Relational Data Support und vieles mehr auch nicht langweilig.

Wer gerne etwas weiter in die Zukunft denkt, sollte ab 51:07 Domino on Bluemix schauen. Praktisch wird es ab 1:04:10 mit einer Demonstration von XPages auf Bluemix. Auf jeden Fall Dank an die Präsentatoren des Webinars am Feiertag: Pete Janzen, Martin Donnelly und Brian Gleeson ;)

Zum Glück gibt es für Programmierer regelmäßig Überraschungen wenn sie auf undokumentierte Funktionen stoßen. Diese können einem das Leben sehr erleichtern. Ein gutes Beispiel dafür ist die @Formula @GetMachineInfo. Beispielsweise war es immer etwas komplizierter die IP Adresse oder den Computernamen in LotusScript zu berrechnen. Dazu gibt es zwei Standard-Tricks. Entweder man nutzt LS2J (LotusScript to execute Java) und berechnet die gewünschten Informationen mit kurzem Java-Code oder man nutzt COM (Component Object Modell) und ein Windows Script Shell Object.

Seit der Version 8.5.3 gibt es aber eine wundervolle @Formula @GetMachineInfo. Damit geht es nun viel einfacher. Die Formel kann uns relativ viele unterschiedliche Informationen über eine Maschine bzw. Rechner zurückgeben. Diese sind die IP Adresse, die MAC Adresse, isLaptop oder isDesktop, IsSingleLogOn, IsMultiUser, HasDesigner, HasAdmin, IsStandard, MachineName, Memory, DiskSpace, EnvVariable und SysEnvVariable. Wenn man die Funktion ausführt, sollte man vorher im Code prüfen, ob man wenigstens schon Version 8.5.3 nutzt (List of IBM Notes Domino Build Numbers).

Wir haben bspw. einen Errorhandler in unseren Datenbanken, der auch die IP Adresse uvm. protokolliert, um Fehler einfach identifizieren zu können. Dort nutzen wir die @Formel so:

        If me.sNotesBuildVersion > 389 Then
            sMacro = |@GetMachineInfo([IP])|
            vEvalReturn = Evaluate(sMacro)
            If Not IsEmpty(vEvalReturn) Then
                me.varIPAddresses = vEvalReturn
            Else
                me.varIPAddresses = ""
            End If
            sMacro = |@GetMachineInfo([MachineName])|
            vEvalReturn = Evaluate(sMacro)
            If Not IsEmpty(vEvalReturn) Then
                me.sMachineName = vEvalReturn(0)
            Else
                me.sMachineName = ""
            End If
        Else
            varIPAddresses = ""
            me.sMachineName = ""
        End If