Wir hatten bereits darauf hingewiesen, dass die OpenUserGroup | Westfalen die im vergangenen Jahr sehr erfolgreiche IBM Connect Comes To You auch in diesem Jahr veranstaltet. Das Event findet am 03. März 2016 in Bielefeld statt. Nachdem die Connect 2016 nun seit ein paar Tagen vorbei ist und alles ein wenig sacken konnte, ist nun die Agenda für die Veranstaltung freigegeben. Sie sieht folgendermaßen aus:

»12:45 – 13:00«

  • Begrüßung
  • Impressionen/Fazit der IBM Connect Teilnehmer

»13:00 – 14:45«

  • IBM Verse – Update & What’s next
  • IBM Connections – Update & What’s next
  • Wo geht die Reise hin? Cloud, Analytics, Watson, Digital Assistance

»14:45 – 15:00«

  • Kaffeepause & Networking

»15:00 – 15:30«

  • Speed Sponsoring – Vorstellung der Sponsoren

»15:30 – 17:30«

  • IBM Mail for Outlook, Notes und Domino – Update & What’s new
  • IBM Mobil First – IBM ICS Mobile Apps & Traveler
  • Connections, Verse, Bluemix, XPages News für Entwickler
  • Project Toscana – Die neue integrierte Enterprise Team Messaging Lösung

»17:30 – 18:00«

  • Abschlußdiskussion

Damit haben wir alle spannenden Themen der IBM Connect 2016 im Programm und erwarten eine sowohl unterhaltsame als auch informative CTY. An dieser Stelle sei noch einmal darauf hingewiesen, dass die Veranstaltung für alle Teilnehmer kostenlos ist! Dies ist möglich durch das Engagement der Sponsoren acceptIT, hedersoft, ITWU und midpoints.

Melden Sie sich am besten noch heute an!

Im Anschluss findet wie immer der OpenUserGroup Stammtisch statt, zu dem alle herzlich eingeladen sind.

soccnx_logo_site

In weniger als zwei Monaten trifft sich die Social Business Welt im Herzen von IBM Deutschland in Ehningen. Die Social Connections 9 nimmt mehr und mehr Gestalt an. Gegen Ende dieser Woche wird die Agenda in finaler Fassung veröffentlicht.

Bis Ende September gilt noch ein Frühbucherangebot von 179€ inklusive Abendveranstaltung. Das Angebot ist gültig solange der Vorrat reicht!

Die hedersoft GmbH ist in Ehningen als Gold Sponsor dabei und zeigt den hs.Crawler, ein Produkt zum automatisierten Datenaustausch zwischen IBM Connections und anderen Systemen wie IBM Domino oder Jira. Wir freuen uns auf Ihren Besuch!

UPDATE:
Die Agenda wurde heute veröffentlicht –> Link

Da ich gerade vor dem Problem saß, aus einem nicht als MIME gespeicherten RichText Feld HTML Content zu extrahieren und ein wenig gebraucht hatte, bis ich alles beisammen hatte, möchte ich meine Lösung teilen, damit Ihr ggf. weniger lange suchen müsst.

Die Anforderung war, aus einem als Notes RT gespeichertem Feld den Inhalt als anständig formatiertes HTML auszulesen. Es gibt dafür mehrere Ansätze, die aber für mich aus unterschiedlichsten Gründen nicht in Frage kamen.

  1. Auslesen über URI
    Mit folgender URI kann man den Inhalt eines RT Feldes auslesen (undokumentierte Funktion beschrieben von Carl Tyler):
    http://dominoserver/datenbank/ansicht/uid/feldname?openfield
    Gibt man diese URI im Browser ein, dann erhält man den vollständigen Inhalt eines RT Feldes als HTML angezeigt. Leider kam das für mich nicht in Frage, da ich ein OSGI Plugin entwickele und direkten Zugriff auf das Dokument per Java API hergestellt habe. Jetzt per URI zu operieren ist zwar möglich, aber ziemlich umständlich, da dann auch neu authentifiziert werden muss wegen des HTTP Zugriffs. Also musste ich nach einer anderen Lösung schauen.
  2. DominoDocument und DominoRichTextItem
    Mark Leusink hat in seinem Blog eine tolle Funktion präsentiert, die es mit einfachsten Mitteln erlaubt, den HTML Inhalt eines RT Feldes über die Java API auszulesen mit Hilfe der Klassen DominoDocument und DominoRichTextItem. Die Klasse DominoRichTextItem enthält eine Funktion getHTML(), die den Inhalt des RT Feldes mit einem Aufruf als HTML zurückgibt. Nun ist es leider so, dass die beiden Klassen nur in der XSP Umgebung zur Verfügung steht, nicht aber für mein OSGI Plugin oder innerhalb eines Java Agenten. Also fällt diese Lösung auch aus.

Ich habe mich dann hingesetzt und geschaut, was mit den Bordmitteln der Java API möglich ist. Nach einigem Fummeln habe ich dann eine Lösung gefunden, die schnell ist und meine Bedürfnisse voll erfüllt. Diese Lösung ist im Übrigen auch nach Lotus Skript übertragbar, falls der Bedarf existiert. Hier das Code Snippet:

Das Snippet geht davon aus, dass der Inhalt im RT-Feld als Notes RT gespeichert ist. Der Code kann dahingehend erweitert werden, das zu prüfen und nur bei Bedarf zu konvertieren. Diese Prüfung habe ich vorher gemacht. Falls der Inhalt bereits als MIME vorliegt, kann gleich mit dem Auslesen begonnen werden.

IBM hat nach POODLE erstaunlich schnell reagiert und anstelle des unsicheren SSL v3 TLS v1.0 in Domino integriert. Nun ist TLS v1.0 nicht gerade das aktuellste Protokoll und auch nicht unverwundbar. Daher ist der nächste Schritt nur konsequent. Mit einem der nächsten Fixes für Domino 9.0.1 FP3 wird TLS v1.2 unterstützt. Die Unterstützung hat IBM noch für Q1/2015 versprochen, also können wir uns noch im März auf das Update freuen. In 9.0.1 FP4 wird es dann ohne zusätzlichen Fix enthalten sein.

Alle, die noch eine Domino Version unter 9 betreiben gehen aber leer aus. Wurde TLS v1.0 noch für Domino 8.5.x per Fix ausgeliefert, so wird dies mit TLS v1.2 nicht mehr erfolgen. Der Grund ist, dass TLS v1.2 Ciphern voraussetzt, die nur in Domino 9 vorhanden sind.

 

Haben Sie schon einmal überlegt, Domino Daten über REST zu lesen und zu schreiben, wussten aber nicht, wie Sie das anstellen sollten? Sind die Überlegungen vielleicht in die Richtung gegangen, eine eigene Schnittstelle zu schreiben, vielleicht als OSGI Plugin?

Nun, es geht viel einfacher! Domino hat nämlich bereits alles an Bord, um auf Domino Daten per REST zuzugreifen! Die Domino Data Services und Domino Calendar Services erlauben den direkten Zugriff per REST auf Domino Daten.

Die Einrichtung ist ein mehrstufiger Prozess. Zunächst müssen die Data Services aktiviert werden. Dazu öffnet man das Internet Site Dokument, für welches man die Aktivierung vornehmen möchte.

DominoInternetSiteAuf dem Reiter „Configuration“ (englischer Client) müssen die Data Services eingestellt werden. Wenn Sie Daten zurückschreiben möchten, dann müssen die Methoden POST, PUT und PATCH aktiviert sein!

Anschließend muss jede Datenbank, die per REST zur Verfügung stehen soll, also solche markiert werden. Dazu müssen die Datenbank-Eigenschaften geöffnet werden und der letzte Reiter aktiviert.

DominoDBDataService

Sie können hier bestimmen, ob nur auf Daten in Ansichten zugegriffen werden soll oder ob auch ganze Dokumente gelesen und geschrieben werden können. Damit steht die Datenbank grundsätzlich für die REST API zur Verfügung, sie liefert aber noch keine Daten. Im letzten Schritt muss jeder Ansicht mitgeteilt werden, dass sie für die Data Services zur Verfügung stehen. Dazu öffnen Sie die Ansicht im DDE.

DominoViewDataService

Auf dem vorletzten Reiter muss das Häkchen gesetzt sein bei „Allow Domino Data Service operations“. Wenn alle Voraussetzungen erfüllt sind. Dann kann über verschiedene URIs (siehe Dokumentation) auf die Daten der Ansicht zugegriffen werden. Beispielsweise können alle Einträge einer Ansicht unter Berücksichtigung der vergebenen Zugriffsrechte mit folgender URI abgerufen werden:

Die Antwort vom Server sieht dann exemplarisch so aus:

Die URIs erlauben einige Parameter, um die Rückgabemenge einzugrenzen und zu steuern, was genau zurückgegeben werden soll. U.a. kann ein QueryString übergeben werden, um eine Volltextsuche durchzuführen.

Die Domino Data Services bietet somit ein tolle Möglichkeit auf Notes-Daten zuzugreifen. Diese Idee haben wir als hedersoft aufgegriffen und eine wesentlich flexiblere und dynamischere Schnittstelle geschaffen. Es muss zwar ein Osgi-Plug-In auf dem Domino Server installiert werden jedoch entfällt die globale Konfiguration des Servers bzw. von einzelnen Gestaltungselementen. Weiterhin können kann direkt Business-Logik implementiert werden.

Bei Interesse einfach melden, wie freuen uns über das spannende Thema REST mit Interessierten zu sprechen.

Spätestens seit XPages Einzug in den Entwicklungsprozess von Notes Applikationen gehalten haben, müssen sich Entwickler zwangsläufig mit Web-Entwicklungstechnologien auseinandersetzen, u. a. auch mit JavaScript. Da gerade das Entwicklercamp 2015 zu Ende gegangen ist, hoffe ich, dass sich der Eine oder Andere hat begeistern lassen, neben der klassischen Notes-Entwicklung der Web-Seite (und hier insbesondere der XPages Entwicklung) eine Chance zu geben.

Daher ein paar – sicherlich unspektakuläre – aber vielleicht für den Start hilfreiche kleine Hilfsfunktionen in JavaScript.

Wenn man aus der klassischen Notes-Entwicklung kommt, sind Befehle wie @Left oder strLeft schöne Hilfsfunktionen, um die man sich in der Entwicklung nicht kümmern muss. Die folgenden Funktionen sind sowohl clientseitig als auch serverseitig verwendbar.

Aber Achtung:
Um Entwicklern den Umstieg schmackhaft zu machen, hat IBM bewusst die Möglichkeit geschaffen, auch in serverseitigem JavaScript mit @-Function-Befehlen zu arbeiten. BÖSE! Wer wirklich ernsthaft daran denkt sich mit den neuen Technologien auseinander zusetzen, bitte nicht solche „Krücken“ verwenden (Stichwort: Performance).

Hier die Funktionen:

 

Ich hoffe, dass einigen die Funktionen weiterhelfen und wie schon in „Die Mumie kehrt zurück“ so schön gesagt:

Evelyn (Rachel Weisz): Ich schwöre dir, der Junge wird dir von Tag zu Tag ähnlicher.
Rick (Brendan Fraser): Du meinst attraktiv, liebreizend und verdammt charmant?
Evelyn (Rachel Weisz): Nein, er treibt mich in den Wahnsinn.

So kann der Start mit der XPages-Entwicklung sein, aber irgendwann geht man durch dick und dünn und es wird einfacher ;-)…

P. S.
Wer die gleichen Funktionen für Java benötigt und diese nicht selbst umschreiben möchte, kann sich gerne an uns wenden. Wir senden dann gerne eine Bibliothek per Mail.