Neuerungen in IBM Domino Designer 9.0.1 Social Edition Feature Pack 8

Informationen zu neuen Funktionen und Verbesserungen in Domino Designer

In diesem Abschnitt werden die neuen Funktionen und Änderungen für Domino Designer 9.0.1 Social Edition Feature Pack 8 aufgeführt. Dabei liegt der Schwerpunkt auf den folgenden Bereichen von Domino Designer:
  • Domino Designer als Tool für die Anwendungsentwicklung
  • XPages als Option für die Anwendungsentwicklung
  • Bluemix-Integration
  • Programmierung, Sprachen und Services

Regelmäßige Aktualisierungen der Hilfe für Domino Designer sind im Web verfügbar. Die jeweils aktuelle Designer-Hilfedatei kann im Abschnitt "Documentation Library" von developerWorks unter "http://www.ibm.com/developerworks/lotus/documentation/" heruntergeladen werden. Klicken Sie zunächst auf Technical Library, dann auf by product und dann auf Domino Designer und wählen Sie schließlich das gewünschte Release aus.

Bei Domino Designer als Tool für die Anwendungsentwicklung gibt es zunächst die folgenden Änderungen und Zusätze für dieses Release:

  • JVM-Upgrade für Feature-Pack 8 – Für Feature-Pack 8 (FP8) werden der Notes-Client und Domino Designer jetzt in einer JVM in der Version 1.8 ausgeführt. Aufgrund eines Problems mit der Eclipse-Inkompatibilität kann Designer keinen Java-Code mithilfe der JRE in der Version 1.8 kompilieren. Um die Java-Kompilierung zu ermöglichen, wird FP8 auch mit der älteren JRE in der Version 1.6 ausgeliefert, die im Verzeichnis <notes_base_dir>\jvm1.6 installiert wird. Das FP8-Installationsprogramm ändert auch die Vorgabe Java>Installed JREs, um automatisch die JRE in der Version 1.6 auszuwählen und somit die erfolgreiche Java-Kompilierung für XPages, Java-Agenten und andere Java-basierte Gestaltungselemente zu ermöglichen. Nach der Installation werden die ursprünglichen Vorgabendateien mit einer Zeitmarke und der Erweiterung .bak umbenannt, damit Sie bei Bedarf zu den ursprünglichen Vorgaben zurückkehren können.
  • Upgrades für Dojo und CKEditor – CKEditor wurde von 3.6.6.2 auf 4.5.3.2 aktualisiert (vollständige Buildnummer: 4.5.3.2_20151106-1234). Dojo wurde von 1.8.3 auf 1.9.7 aktualisiert (vollständige Buildnummer: 1.9.7-20151126-IBM®). Diese Upgrades wurden zur Unterstützung von IE11 und iOS8 erstellt. Das CKeditor-Upgrade umfasst auch eine wichtige Sicherheitskorrektur.
  • Unterstützung für Designer ohne GUI – Es wurde ein Buildsystem für die Befehlszeile zu Domino Designer hinzugefügt, damit Sie NSF- und NTF-Dateien aus Quellcode-Repositorys erstellen können. Sie können entweder einen einzelnen Befehl oder eine Befehlsdatei verwenden. Weitere Informationen finden Sie in den Abschnitten zur Quellcodeverwaltung in diesem Handbuch.
  • Unterstützung für Endlosblättern (Blättern auf mobilen Geräten) im Dataview-Steuerelement – Das Dataview-Steuerelement wurde durch Hinzufügen einer neuen Eigenschaft verbessert, die das Endlosblättern für mobile Benutzer verbessert. Wenn diese Funktion aktiviert ist, wird zusätzlicher Inhalt automatisch geladen, wenn der Benutzer durch mobil aufrufbaren Inhalt blättert. Der Inhalt wird zuvor von einer nachfolgenden Seite abgerufen und direkt zur aktuellen Seite hinzugefügt, die in der mobilen Anwendung angezeigt wird. Es wurde eine neue Eigenschaft namens infiniteScroll hinzugefügt, um diese Funktion zu aktivieren. Sie kann in Designer entweder direkt in der Seitenquelle oder über die Ansicht "Alle Eigenschaften" festgelegt werden. Weitere Informationen finden Sie in den Abschnitten zum Steuerelement der Erweiterungsbibliothek und zur Eigenschaftenreferenz.
  • Verbesserungen bei der Unterstützung des mobilen Steuerelements für Datum und Uhrzeit für XPages in mobilen Motiven. Weitere Informationen finden Sie im entsprechenden Abschnitt zu diesem Thema.
  • Verbesserungen bei der Unterstützung für das TypeAhead-Steuerelement von XPages. Weitere Informationen finden Sie im entsprechenden Abschnitt zu diesem Thema.
  • Erweiterungen an den Motiv-Kombinationsfeldern im XSP-Eigenschafteneditor. Weitere Informationen finden Sie im entsprechenden Abschnitt zu diesem Thema.
  • "Single Page Applications"-Assistent wurde hinzugefügt – Mithilfe dieser Funktion können Sie ein anfängliches Gestaltungsframework mit einem "Assistenten" für Mobile-XPage-Anwendung erstellen, der Sie durch die Schritte der Anwendungserstellung führt, nachdem Sie ein "Single Page Application"-Steuerelement auf eine XPage gezogen haben. Weitere Informationen finden Sie im Abschnitt zum Steuerelement der Erweiterungsbibliothek.
  • Verbesserte Unterstützung von relationalen Datenbanken für XPages und Hinzufügung des JDBC-Treiber-Plug-in-Assistenten. Weitere Informationen finden Sie im Unterabschnitt "Unterstützung relationaler Datenbanken (RDBMS) mithilfe von XPages" des Abschnitts "Daten binden und übergeben" in diesem Handbuch.
  • Unterstützung für Bootstrap Responsive Web-Design in XPages. Weitere Informationen finden Sie im Abschnitt "Mit Themen in XPages arbeiten – Unterstützung von Responsive Web-Design in XPages" in diesem Handbuch.
  • Drei neue responsive Steuerelemente und ihre zugehörigen Eigenschaften sowie ein neues responsives Anwendungslayout – In diesem Release wurden einige neue Steuerelemente und eine neue Konfiguration für das Anwendungslayout-Steuerelement zum Bootstrap-Plug-in hinzugefügt. Diese neuen Steuerelemente und die Konfiguration erweitern den Satz responsiver Tools, die für Entwickler von XPages-Anwendungen verfügbar sind. Weitere Informationen finden Sie im Abschnitt "Mit Themen in XPages arbeiten – Unterstützung von Responsive Web-Design in XPages" in diesem Handbuch.
  • Tags xe:mapValuePicker und xe:collectionValuePicker für das Steuerelement zur Wertauswahl – Es sind zwei neue Datenprovider-Tags für die Wertauswahl verfügbar, die für die Eigenschaft dataProvider des Wertauswahlsteuerelements verwendet werden können, um die Liste der Optionen bereitzustellen, die im Dialogfeld für die Wertauswahl angezeigt werden. Weitere Informationen finden Sie im entsprechenden Abschnitt zu diesem Thema.
  • Neue einfache inPlaceForm-Aktion. Mithilfe dieser Aktion werden Steuerelemente für Platzhaltermasken ein- und ausgeblendet, die im Allgemeinen in einem Wiederholungssteuerelement, das mehrere Dokumente aufführt, direkt zur Platzhalterbearbeitung eines einzelnen Dokuments verwendet werden. Weitere Informationen finden Sie im entsprechenden Abschnitt zu diesem Thema.
  • Neue Unterdrückungsoption für xsp.properties für das dataView-Steuerelement. Weitere Informationen finden Sie im entsprechenden Abschnitt zu diesem Thema.
  • Neuer Domino Designer-Erweiterungspunkt für die Quellcodeverwaltung – Aufgrund von Einschränkungen der Funktionen zur Teamquellcodeverwaltung in Domino Designer wurde ein neuer Erweiterungspunkt hinzugefügt, der es Entwicklern ermöglicht, Add-ons beizusteuern, die das Standardverhalten ändern. Der neue Erweiterungspunkt wird als com.ibm.designer.domino.team.synclistener bezeichnet und er vereinfacht den Eingriff von anderen Anbietern, indem Anbindungspunkte an den Synchronisationsprozess auf der Festplatte bereitgestellt werden. Ein Beispiel für einen Anwendungsfall wäre eine Erweiterung, die unerwünschte Metadatenelemente aus Dateien auf der Festplatte löscht, bevor Ressourcen für das System zur Quellcodeverwaltung festgeschrieben werden.
  • Erweiterte und aktualisierte Dokumentation zum Festlegen von Domino Designer-Vorgaben. Weitere Informationen finden Sie in diesem Handbuch.
  • Neuer Abschnitt in der Dokumentation zur Verwendung von Domino Designer mit XPages in Bluemix. Dazu gehören Informationen zu den folgenden Punkten:
    • Domino Designer-Tools für die Anwendungsintegration von IBM Bluemix und Domino Designer
    • Die bluemixContext- und DataService-Objekte zum programmgesteuerten Abrufen von Informationen zum IBM XPages NoSQL-Datenbankservice
    • Verwendung des IBM XPages NoSQL-Datenbankservice mit anderen Laufzeiten
    • XPages-Laufzeitumgebungsvariablen
    • Bereitstellung zusätzlicher Domino Designer Bluemix-Vorgaben zur Unterstützung von Anwendungsfällen zur Hybridanwendungserstellung
    • Änderungen an Domino Designer Bluemix-Tools zur Unterstützung von Anwendungsfällen zur Hybridanwendungserstellung
    • Einführung von Bluemix/Domino Designer-Umgebungsvariablen, um bei der Unterstützung von Anwendungsfällen zur Hybridanwendungserstellung zu helfen
    Weitere Informationen finden Sie in diesem Handbuch.
  • Mit Notes/Domino 9.0.1 Feature-Pack 8 können Dokumente jetzt mithilfe von XPages im Web verschlüsselt werden. Zuvor stand die Funktion zur Verschlüsselung geheimer Schlüssel nur im Notes-Client zur Verfügung.

Weitere Informationen zu einigen der XPages-Elemente finden Sie im Abschnitt "XPages" im vorliegenden Dokument.

Weitere Details zu diesem Elementtyp finden Sie im Abschnitt "Programmierung, Sprachen und Services" in diesem Dokument.

XPages

Im Bereich der XPages als Option zur Anwendungsentwicklung umfassen die Änderungen und Zusätze für dieses Release als Nächstes Folgendes:

Dokumentverschlüsselung und -entschlüsselung in Domino mithilfe von XPages

Mit Notes/Domino 9.0.1 Feature-Pack 8 können Dokumente jetzt mithilfe von XPages im Web verschlüsselt werden. Zuvor stand die Funktion zur Verschlüsselung geheimer Schlüssel nur im Notes-Client zur Verfügung. Der Grund für diese Einschränkung war, dass die vom Verschlüsselungsprozess verwendeten geheimen Schlüssel in der ID-Datei eines Benutzers gespeichert werden. Daher waren sie vor der Einführung der neuen Notes/Domino-ID-Vault für webbasierte Anwendungen nicht verfügbar. Die Verschlüsselung und Entschlüsselung von Dokumenten erfordert Zugriff auf diese ID-Vault, um die geheimen Schlüssel des aktiven Benutzers abzurufen.

Die Verschlüsselung mit geheimem Schlüssel in XPages ist so konzipiert, dass das im Notes-Client bereitgestellte zugrunde liegende Modell mit denselben Regeln und Einschränkungen emuliert wird. Somit sind alle Notes-Clientanwendungen, die die Funktion zur Verschlüsselung mit geheimem Schlüssel angewendet haben, jetzt berechtigt, als XPages-Anwendungen im Web ausgeführt zu werden.
Anmerkung: Weitere Informationen zum zugrunde liegenden Modell zur Verschlüsselung und Entschlüsselung in Domino finden Sie im Abschnitt Verschlüsselung in Notes und Domino im Domino Designer Basic – Benutzerhandbuch.

Diese neuen Komponenten und Funktionen sind auch Teil der Unterstützung der Verschlüsselung/Entschlüsselung von XPages:

  • Auswahlsteuerelement für geheime Schlüssel – Dieses neue Steuerelement befindet sich im Erweiterungsbibliotheksfach der XPages-Steuerelementpalette. Das Ziehen und Ablegen dieses Steuerelements auf einer XPage führt dazu, dass ein Helper-Dialogfeld angezeigt wird, um Sie beim Einrichten der Verschlüsselung für XPages zu unterstützen.
  • dominoIDVaultBean – Dieses Dienstprogrammobjekt wird im Rahmen der XPages-Laufzeit bereitgestellt, um den Verschlüsselungsprozess reibungslos zu verwalten. Diese Managed Bean wird automatisch im Namen der einzelnen Benutzer von der XPages-Laufzeit instanziiert. Seine Aufgabe besteht darin, die Zugriffsdetails für die ID-Vault im Namen der einzelnen Benutzer zu verwalten (Benutzername, Kennwort und ID-Vault-Servername). Mit der Bean werden "Get"- und "Set"-Methoden bereitgestellt, um die für den Zugriff auf die Domino ID-Vault erforderlichen Eigenschaften zu verwalten. Die Methode getUserID gibt z. B. das UserID-Objekt auf Basis der Werte zurück, die den Zugriffseigenschaften zugeordnet sind. Mit dem UserID-Objekt können dann die zum Durchführen der Verschlüsselungsoperationen erforderlichen geheimen Schlüssel abgerufen werden.
  • JavaScript-Funktion @UserSecretKeys() – Mithilfe dieser Vereinfachungsfunktion werden geheime Schlüssel aus der ID-Datei eines Benutzers abgerufen.
  • JavaScript-Funktion @UserId() – Mithilfe dieser Funktion wird das UserID-Objekt zurückgegeben, das für einen bestimmten Benutzer in der ID-Vault gespeichert wird.

Weitere Informationen zu dieser Funktion finden Sie im Abschnitt Daten binden und übergeben der Knowledge Center-Onlineversion des XPages-Benutzerhandbuchs.

Fortgesetzte Bemühung zur Bereitstellung barrierefreier XPages-Motive

Für dieses Release unterstützt XPages jetzt ein neues Motiv, das den aktuellen Richtlinien und Anforderungen für eine behindertengerechte Bedienung entspricht. Dieses Motiv lautet Bootstrap3.6.6

Verbesserungen bei der Unterstützung des mobilen Steuerelements für Datum und Uhrzeit für XPages in mobilen Motiven

In IBM Domino Designer Release 9.0.1 können bestimmte XPages-Steuerelemente in einem Desktop-Web-Browser verwendet werden, um ein Datum, eine Uhrzeit oder beides auszuwählen. Diese Steuerelemente haben jedoch in mobilen XPages-Motiven nicht ordnungsgemäß funktioniert. Insbesondere bei der Verwendung eines mobilen Motivs und der Auswahl der Option zur Auswahl eines Auswahlfelds für Datum/Uhrzeit für ein Bearbeitungsfeld hat die sich ergebende Webseite ein unterbrochenes, nicht funktionsbereites Dojo-basiertes Web-Datumauswahlfeld angezeigt. Für dieses Release wurde dieses Verhalten verbessert und es ist jetzt möglich, "date"-, "time"- und "dateTime"-Werte auf mobilen Geräten einzugeben.

Mit den Funktionsverbesserungen können Sie jetzt entweder auf die Steuerelemente für Datum/Uhrzeit klicken, um einen Kalender (oder eine Liste mit Zeiten) für die Auswahl zu öffnen, oder Sie können einen Datums-/Uhrzeitwert in das dateTime-Steuerelement eingeben (verfügt nicht über einen Popup-Kalender).

Zusätzliche iOS-Option

Für iOS-Geräte steht jetzt auch die folgende Option zur Verfügung, bei der ein Popup angezeigt wird, wenn Sie auf das DateTime-Feld klicken. Mithilfe dieser Option können Sie die Uhrzeit ganz einfach auswählen, aber derzeit müssen Sie tageweise durch die Datumsangaben blättern. Dies ist möglicherweise nicht die optimale Option, da es zeitaufwendig sein kann, Werte aus dem Vorjahr auszuwählen.

Die aktuelle iOS-Lösung (die auf dem iPhone/iPad/iPod verwendet wird) wird zu einem späteren Zeitpunkt geändert, damit die Anforderung zur Datumseingabe im korrekten Format in eine benutzerfreundlichere Methode geändert wird.

Verwendungsdetails

Die folgenden Nutzungsinformationen stellen weitere Details zu diesen Funktionsverbesserungen bereit:

  • Für Bearbeitungsfelder, die ausschließlich ein Datum oder ausschließlich eine Uhrzeit enthalten, werden die nativen Auswahlfelder des Geräts für Datum/Uhrzeit verwendet (die HTML-Seite weist <input type="date"> oder <input type="time"> auf).
  • Für Bearbeitungsfelder, die Datum und Uhrzeit enthalten, werden in Android- und Nicht-iOS-Browsern die nativen Auswahlfelder des Geräts für Datum/Uhrzeit verwendet (die HTML-Seite weist <input type="datetime-local"/> auf).
  • Für Bearbeitungsfelder auf dem iPhone, die Datum und Uhrzeit enthalten, hängt das Verhalten von einer Option in der Datei xsp.properties in der Anwendung ab. Standardmäßig stellt das iPhone-Verhalten für Datum/Uhrzeit ein Bearbeitungsfeld mit einem empfohlen Wert als Platzhalter bereit, z. B. 2013-01-14T12:51. In diesem Fall müssen Sie manuell einen Wert für Datum und Uhrzeit im empfohlenen Format eingeben, um ein Datum bereitzustellen. Der Platzhalterwert (der nach der Eingabe durch den Benutzer ausgeblendet wird) entspricht tatsächlich dem aktuellen Datum und der Uhrzeit im erwarteten Format. Es ist keine Auswahlfunktion verfügbar, die die Auswahl eines Datums in einem Kalender ermöglicht. Dieses Verhalten wurde als bessere Lösung zum Beheben des vorherigen Verhaltens bereitgestellt, ist aber nicht als langfristiges Verhalten für "dateTime" auf iPhone-/iOS-Geräten vorgesehen.
  • Wie bereits erwähnt, gibt es auch eine Option, die möglicherweise in der Datei xsp.properties für die Anwendung festgelegt werden kann: xsp.theme.mobile.iOS.native.dateTime=true. Wenn diese Option vorhanden ist, verwenden die iOS-Geräte die für iOS native Auswahlfunktion für Datum/Uhrzeit (die HTML-Seite weist <input type="datetime-local"/> auf). Die Einschränkungen bei der Verwendung dieser "Mausrad"-Option wurde bereits im Abschnitt beschrieben.

Verbesserungen bei der Unterstützung des TypeAhead-Steuerelements von XPages in mobilen Motiven und Nutzungsinformationen

Vormals gab es bei der Verwendung mobiler Motive mit XPages-Anwendungen keine Unterstützung für das TypeAhead-Steuerelement von XPages. Die neue Unterstützung für das mobile TypeAhead-Steuerelement wurde zu den mobilen Motiven namens "android", "iphone" und "blackberry" hinzugefügt. Das neue Verhalten zur automatischen Vervollständigung basiert auf dem dojox/mobile/ComboBox-Steuerelement aus dem Dojo Toolkit.

Verwendungsdetails

Das mobile TypeAhead-Steuerelement wird nicht im mobilen IDX-Motiv namens "oneui_idx_v1.3" verwendet.

Das neue mobile Steuerelement für die automatische Vervollständigung unterstützt zudem nicht die Eingabe mehrerer Werte in das Bearbeitungsfeld. (Die normale automatische Vervollständigung für das Web unterstützt durch Kommas getrennte Werte wie "aaa, bbb, ccc".) Eine XPage, die für die Verwendung mehrerer Werte in einem Steuerelement für die automatische Vervollständigung konfiguriert ist, gibt in mobilen Motiven einen Fehler aus.

Es gibt jedoch unter iOS ein bekanntes Problem, bei dem die TypeAhead-Dropdown-Liste geschlossen und der Seitenkopfzeilenbereich möglicherweise deplaziert wird und das Bearbeitungsfeld des TypeAhead-Steuerelements verdeckt wird, anstatt am Seitenanfang zu verbleiben.

Erweiterungen an den Motiv-Kombinationsfeldern im XSP-Eigenschafteneditor

Derzeit müssen Sie die Schnittstelle "StyleKitFactory" über die Erweiterung com.ibm.commons.Extension verwenden, um zur XPages-Laufzeit ein Motiv beizutragen. Sie können den Kombinationsfeldern des Motivs jetzt auch "themeIds" im XSP-Eigenschafteneditor von Domino Designer beisteuern.

Dazu müssen Sie auch "StyleKitListFactory" in Ihrer Implementierung von "StyleKitFactory" implementieren und ein Array von themeIds von der Methode getThemeIds zurückgeben.

Als weitere Erweiterung für Kombinationsfelder von Motiven wird in der Anwendung definierten Motiven die Beschriftung "(Anwendung)" angehängt, um sie von anderen Motiven zu unterscheiden.

Neue Tags "xe:mapValuePicker" und "xe:collectionValuePicker"

Es sind zwei neue Datenprovider-Tags, xe:mapValuePicker und xe:collectionValuePicker, für die Wertauswahl verfügbar, die für die Eigenschaft dataProvider des Wertauswahlsteuerelements verwendet werden können, um die Liste der Optionen bereitzustellen, die im Dialogfeld für die Wertauswahl angezeigt werden.

xe:mapValuePicker

Mit dem ersten Tag, dem Datenprovider für das Map-Auswahlfeld (xe:mapValuePicker), können Sie eine "java.util.Map" berechnen, die für die Einträge im Auswahldialogfeld verwendet wird. Die Zuordnungsschlüssel sind die Beschriftung und die Zuordnungswerte sind die Datenwerte, die gespeichert werden. Nachfolgend finden Sie ein Beispiel für den Code, der mit diesem Tag verwendet wird:

<xe:valuePicker id="valuePicker13" for="inputText1">
		<xe:this.dataProvider>
			<xe:mapValuePicker>
				<xe:this.options><![CDATA[#{javascript://
var map = new java.util.LinkedHashMap();
map.put("Cat", "CAT");
map.put("Dog", "DOG");
map.put("Fish", "FISH");
return map;}]]&gt;</xe:this.options>
			</xe:mapValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>

In diesem Beispiel zeigt das Bearbeitungsfeld den Datenwert für den ausgewählten Eintrag an.

Wenn Sie einige der anderen Eingabesteuerelemente verwenden, zeigen einige von ihnen immer die Beschriftung des Eintrags an. Der folgende Textfeldcode für die Dojo-Liste zeigt die Beschriftung des ausgewählten Eintrags in einem kleinen Feld an (oder in mehreren Feldern, wenn das Steuerelement so konfiguriert ist, dass die Auswahl mehrerer Einträge zulässig ist).

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
<!--	<xp:inputText id="inputText1" value="#{viewScope.category}"></xp:inputText>-->
	<xe:djextListTextBox id="djextListTextBox1"
		value="#{viewScope.category}" displayLabel="true">
	</xe:djextListTextBox>
	<xe:valuePicker id="valuePicker13" for="djextListTextBox1">
		<xe:this.dataProvider>
			<xe:mapValuePicker>
				<xe:this.options><![CDATA[#{javascript://
var map = new java.util.LinkedHashMap();
map.put("Cat", "CAT");
map.put("Dog", "DOG");
map.put("Fish", "FISH");
return map;}]]&gt;</xe:this.options>
			</xe:mapValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>
</xp:view>

In diesem Beispiel zeigt das Textfeld für die Dojo-Liste auch den Datenwert für den ausgewählten Eintrag an.

xe:collectionValuePicker

Mit dem Datenprovider für das Collection-Auswahlfeld (xe:collectionValuePicker) können Sie ein java.util.Collection berechnen, das die im Dialogfeld angezeigten Werte angibt. Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
	<xp:inputText id="inputText1" value="#{viewScope.category}"></xp:inputText>
	<xe:valuePicker id="valuePicker13" for="inputText1">
		<xe:this.dataProvider>
			<xe:collectionValuePicker>
				<xe:this.collection><![CDATA[#{javascript://
var collection = new java.util.ArrayList();
collection.add("Cat");
collection.add("Dog");
collection.add("Fish");
return collection;}]]&gt;</xe:this.collection>
			</xe:collectionValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>
</xp:view>

In diesem Beispiel dient jeder Wert in der Gruppe als Beschriftung und als gespeicherter Datenwert, d. h., die angezeigte Beschriftung im Dialogfeld und der im Feld gespeicherte Text sind immer identisch.

xe:mapValuePicker und xe:collectionValuePicker weisen zudem einige Optionen auf, die die vom Auswahlfeld zurückgegebenen Daten steuern, wenn eine Suche durchgeführt wird. Es gibt zwei verschiedene Möglichkeiten, um eine Suche mit dem Steuerelement für die Wertauswahl durchzuführen. Wenn Sie die Wertauswahl mit einem Dojo-Typ für die Suche wie dojoType="extlib.dijit.PickerListSearch konfigurieren, werden am Anfang des Dialogfelds eine Schaltfläche für die Suche und ein Bearbeitungsfeld angezeigt. Der Benutzer kann dann Text in das Bearbeitungsfeld der Suche eingeben und auf die Schaltfläche Suchen klicken, um die Liste zu filtern, damit nur die Einträge angezeigt werden, die der Suche entsprechen. Diese Methode ist für die schnelle Auswahl von Werten hilfreich, wenn im Dialogfeld viele Optionen verfügbar sind.

Die andere Art der Suche, die über das Steuerelement für die Wertauswahl durchgeführt werden kann, erfolgt über die Konfiguration von typeAhead für das Bearbeitungsfeld, wobei die Datenliste aus der Wertauswahl verwendet wird. Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
	<xp:inputText id="inputText1" value="#{viewScope.category}">
		<xp:typeAhead mode="partial" minChars="1"
			preventFiltering="true">
			<xp:this.valueList><![CDATA[#{javascript:getComponent("valuePicker1").getTypeAheadValue(this)}]]&gt;</xp:this.valueList>
		</xp:typeAhead>
	</xp:inputText>
	<xe:valuePicker id="valuePicker1" for="inputText1">
		<xe:this.dataProvider>
			<xe:collectionValuePicker>
				<xe:this.collection><![CDATA[#{javascript://
var collection = new java.util.ArrayList();
collection.add("Cat");
collection.add("Dog");
collection.add("Fish");
return collection;}]]&gt;</xe:this.collection>
			</xe:collectionValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>
</xp:view>

Das bedeutet, dass typeAhead eine Suche durchführt, wenn Sie mit der Eingabe eines Werts in das Bearbeitungsfeld beginnen, um die entsprechenden Wert der Wertauswahl zu finden. Dann werden die Übereinstimmungen in einer Dropdown-Liste unter dem Bearbeitungsfeld angezeigt. Sie haben weiterhin die Möglichkeit, auf das Symbol der Wertauswahl zu klicken, um das Dialogfeld anstelle des typeAhead-Verhaltens zu verwenden.

Standardmäßig übernehmen beide Arten der Suche den im Browser eingegebenen Wert und versuchen, Übereinstimmungen in der Dialogfensterliste zu finden, die mit dem Wert aus dem Browser starten.

xe:mapValuePicker und xe:collectionValuePicker verfügen über die Eigenschaft searchType, mit der Sie die Kriterien für den Vergleich des Browserwerts auswählen können. Standardmäßig wird eine startsWith-Suche ausgeführt, die aber entsprechend konfiguriert werden kann, um eine "contains"-Suche auszuführen. Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
	<xp:inputText id="inputText1" value="#{viewScope.category}">
	</xp:inputText>
	<xe:valuePicker id="valuePicker1" for="inputText1" dojoType="extlib.dijit.PickerListSearch">
		<xe:this.dataProvider>
			<xe:collectionValuePicker searchType="contains">
				<xe:this.collection><![CDATA[#{javascript://
var collection = new java.util.ArrayList();
collection.add("John Paul Smith");
collection.add("Paul Adams");
collection.add("James Paul Jones");
collection.add("John Smith");
collection.add("Phil Cooper");
return collection;}]]&gt;</xe:this.collection>
			</xe:collectionValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>
</xp:view>

Damit nur genaue Übereinstimmungen angezeigt werden, verwenden Sie dann searchType="equals".

Sie können die Suche auch mithilfe der Eigenschaft searchRange konfigurieren, indem Sie vom Standardverhalten von restrictToSearch (hier werden nur Einträge zurückgegeben, die mit dem Suchwert übereinstimmen) zum neuen Verhalten von jumpTo wechseln, das den ersten Eintrag findet, der mit dem Suchwert übereinstimmt. Dann wird dieser Eintrag in allen nachfolgenden Einträgen angezeigt. Diese Methode wird im folgenden Beispiel verwendet:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
	<xp:inputText id="inputText1" value="#{viewScope.category}"></xp:inputText>
	<xe:valuePicker id="valuePicker13" for="inputText1" dojoType="extlib.dijit.PickerListSearch">
		<xe:this.dataProvider>
			<xe:collectionValuePicker searchRange="jumpTo">
				<xe:this.collection><![CDATA[#{javascript://
var collection = new java.util.ArrayList();
collection.add("Cat");
collection.add("Dog");
collection.add("Fish");
return collection;}]]&gt;</xe:this.collection>
			</xe:collectionValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>
</xp:view>

Es gibt auch eine Option, bei der die Groß-/Kleinschreibung nicht beachtet wird. Diese Option gestattet die Unabhängigkeit von der Groß-/Kleinschreibung beim Vergleich von Suchwerten mit der Eintragsbeschriftung.

Schließlich gibt es die Option preventFiltering, mit der die automatische Filterung durch den Datenprovider inaktiviert und eine requestScope.startValue-Variable für die Berechnung in der Eigenschaft options von "mapValuePicker" oder in der Eigenschaft collection von "collectionValuePicker" zur Verfügung gestellt wird. Mithilfe dieser Option können Sie angepassten Code für die Filterung in die Eigenschaftenberechnung der Dialogfeldeinträge einfügen. Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
	<xp:inputText id="inputText1" value="#{viewScope.category}"></xp:inputText>
	<xe:valuePicker id="valuePicker13" for="inputText1" dojoType="extlib.dijit.PickerListSearch">
		<xe:this.dataProvider>
			<xe:collectionValuePicker preventFiltering="true">
				<xe:this.collection><![CDATA[#{javascript://
var collection = new java.util.ArrayList();
collection.add("Cat");
collection.add("Dog");
collection.add("Fish");
if( ! requestScope.startValue ){
	// Keine Suche ausführen, gesamte Liste zurückgeben.
	return collection;
}
// Angepasste Filterung durchführen
// Die Durchführung einer Suche mit Beachtung der Groß-/Kleinschreibung entspricht einer jumpTo-Suche mit zusätzlicher Unterstützung für "Puppy" und "Kitten"
var submittedValue = requestScope.startValue;
if( submittedValue.equals("Puppy") ){
	submittedValue = "Dog";
}else if( submittedValue.equals("Kitten") ){
	submittedValue = "Cat";
}
var indexOfSubmitted = java.util.Collections.binarySearch(collection, submittedValue);
if( indexOfSubmitted < 0 ){ // Keine Übereinstimmung
	return collection;
}
// Alles vor dem Index entfernen
while( indexOfSubmitted > 0 ){
	collection.remove(0);
	indexOfSubmitted = indexOfSubmitted -1; 
}
return collection;
}]]&gt;</xe:this.collection>
			</xe:collectionValuePicker>
		</xe:this.dataProvider>
	</xe:valuePicker>
</xp:view>

Dieses Beispiel würde Dog am Anfang der zurückgegebenen Liste anzeigen, wenn Puppy in das Suchfeld eingegeben wurde.

Neue einfache "inPlaceForm"-Aktion

Dieses Release enthält eine neue serverseitige einfache xe:inPlaceFormAction-Aktion. Mithilfe von xe:inPlaceFormAction werden Steuerelemente für Platzhaltermasken ein- und ausgeblendet, die im Allgemeinen in einem Wiederholungssteuerelement, das mehrere Dokumente aufführt, direkt zur Platzhalterbearbeitung eines einzelnen Dokuments verwendet werden. Nachfolgend finden Sie ein Codebeispiel, das diese Aktion verwendet:

<xp:link escape="true" id="link1" text="Click Me to Edit Form">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="inform">
		<xp:this.action>
			<xe:inPlaceFormAction for="inPlaceForm1" 	formAction="toggle">
			</xe:inPlaceFormAction>
		</xp:this.action>
</xp:eventHandler>
</xp:link>

Die folgenden Eigenschaften sind für diese einfache Aktion verfügbar:

  • for – Gibt die ID für das Steuerelement für die Platzhaltermaske an, dessen Status von dieser Aktion geändert wird. Wenn sie leer ist, wird das in der übergeordneten Hierarchie nächste Steuerelement für die Platzhaltermaske verwendet.
  • formAction – Gibt die Aktion an, die für die Platzhaltermaske ausgeführt wird: "show", "hide" oder "toggle".

Neue Unterdrückungsoption für xsp.properties für das dataView-Steuerelement

Es gibt ein vorhandenes Verhalten im dataView-Steuerelement, das auftritt, wenn Sie der zugeordneten Domino View-Datenquelle ein databaseName zugewiesen haben (xp:dominoView), wie im folgenden Beispiel:

<xe:dataView var="viewEntry" pageName="/topicThread.xsp">
	<xe:this.data>
		<xp:dominoView var="dominoView" viewName="xpAllDocuments"
 		databaseName="Discussion_data.nsf">
		</xp:dominoView>
	</xe:this.data>

In diesem Beispiel generiert das Steuerelement für die Datenansicht einen Link für jedes Dokument. Die sich ergebende URL sieht wie folgt aus:

http://servername.example.com/Discussion_design.nsf/topicThread.xsp?databaseName=servername!!Discussion_data.nsf&documentId=2924D3C6A80C523280257DFD005C35A0&action=openDocument

Das bedeutet, dass die generierte URL einen databaseName-Parameter aufweist, wenn ein databaseName für die xp:dominoView-Datenquelle verfügbar ist. Beispiel:

databaseName=servername!!Discussion_data.nsf

Für dieses Release gibt es eine neue xsp.properties-Option, die Sie wie folgt auf der Registerkarte "Quelle" im XSP-Eigenschafteneditor der Anwendung konfigurieren können:

xsp.dominoView.url.databaseName.suppress=true

Wenn die Option suppress vorhanden und auf "true" festgelegt ist, sieht die vom Steuerelement für die Datenansicht generierte URL wie folgt aus:

http://servername.example.com/Discussion_design.nsf/topicThread.xsp?
documentId=2924D3C6A80C523280257DFD005C35A0&action=openDocument

Jetzt enthält die URL nicht den Parameter databaseName.

Anmerkung: Ähnliche vom Steuerelement für Ansichtsfenster (xp:viewPanel) generierte URLs wurden nicht geändert und enthalten weiterhin den URL-Parameter databaseName.

Verbesserte Erweiterbarkeit von Designer für vorhandene Steuerelemente

Es wurde ein neuer Erweiterungspunkt zu Domino Designer hinzugefügt (com.ibm.designer.domino.xsp.editor.componentOverride), damit Sie Entwicklungszeittools für die "core"- und "extlib"-Steuerelemente überschreiben können, die mit Designer ausgeliefert werden. Sie sollten mithilfe dieses Erweiterungspunkts pro Steuerelement nur eine Erweiterung beisteuern. Dadurch können Sie den Paletteneintrag für ein Steuerelement überschreiben, seinen eigenen Übergabeassistenten oder ein Eigenschaftenfenster hinzufügen. Weitere Informationen finden Sie in diesem Handbuch.

Verbesserungen am XPages-Editor

Es wurden weitere Vorgaben zum XPages-Editor hinzugefügt, um die Benutzerfreundlichkeit weiter zu erhöhen. Dazu gehören (u. a.):
  • Immer Register 'Quelle' öffnen – Sie können auswählen, welche Registerkarte geöffnet wird, wenn der XPages-Editor geöffnet wird.
  • Laden von Style Sheet-Ressourcen (CSS) für das Register 'Gestaltung' verhindern – Beendet das Laden von CSS-Ressourcendateien für die Registerkarte "Gestaltung". Dadurch wird der Editor nicht mehr langsamer, wenn große CSS-Ressourcendateien in eine XPage einbezogen werden.
  • Inhalt des Paletteneinschubs alphabetisch sortieren – Da einige Paletteneinschübe nicht sortiert sind (beispielsweise Kernsteuerelemente), wird dies durch Aktivieren der Vorgabe behoben.

Bluemix-Integration

Im Bereich der Bluemix-Anwendungsentwicklung mit XPages und der Bluemix-Integration wurde Folgendes hinzugefügt:

Domino Designer Bluemix-Tools für die bessere Integration mit XPages-Anwendungen, die unter Bluemix erstellt wurden

Es wurden neue Tools für die Anwendungsentwicklung zu Domino Designer hinzugefügt, um die Infrastruktur bereitzustellen, die auf der Clientseite von Domino Designer erforderlich ist, um XPages-Anwendungen auf und von der Bluemix-Plattform zu konfigurieren und zu implementieren. Diese neuen Tools umfassen Folgendes:

  • Eine neue Vorgabenseite für Domino Designer, über die Sie die richtige Bluemix-Serververbindung definieren können. Wählen Sie zum Öffnen der Bluemix-Vorgaben die Option Datei -> Vorgaben und dann Domino Designer -> IBM Bluemix aus.
  • Ein Importassistent, mit dem Sie XPages-Startercodeanwendungen in den Designer-Arbeitsbereich importieren können. Wählen Sie zum Öffnen dieses Assistenten die Option Tools -> IBM Bluemix-Startercode importieren aus. Sie können eine Anwendungskopie oder ein Anwendungsreplikat erstellen bzw. die tatsächliche NSF aus der ZIP-Datei für den Startercode verwenden.
  • Ein Bluemix-Konfigurationsassistent, mit dem Sie vorhandene XPages-Anwendungen für die Bereitstellung in Bluemix konfigurieren können. Wählen Sie zum Öffnen des Assistenten die Option Gestaltung -> IBM Bluemix -> Für Bereitstellung konfigurieren aus oder verwenden Sie das Dropdown-Menü, das der Schaltfläche Bluemix in der Symbolleiste zugeordnet ist. Alternativ können Sie mit der rechten Maustaste auf die Anwendung im Anwendungsnavigator klicken und das Popup-Menü IBM Bluemix -> Für Bereitstellung konfigurieren verwenden. Mit diesem Assistenten können Sie bestimmen, wie die NSF während des Bereitstellungsprozesses in Ihr Bereitstellungsverzeichnis kopiert wird. Sie können auswählen, ob Sie eine Kopie oder ein Replikat erstellen möchten.
  • Ein neuer Editor, mit dem Sie Bluemix- und XPages-Laufzeitumgebungsvariablen ändern können, die den einzelnen Anwendungen und ihren Laufzeitumgebungen zugeordnet sind. Wählen Sie zum Öffnen des Editors die Option IBM Bluemix Manifest unter der Kategorie Anwendungskonfiguration im Anwendungsnavigator aus.

    Dieser Editor enthält auch eine Editorseite für Hybridkonfiguration. Auf dieser Seite können Sie die Hybridkonfiguration für die Anwendung anzeigen und bearbeiten. Sie können eines der Hybridprofile laden, indem Sie auf die Schaltfläche Hybridprofil laden klicken. Dadurch wird ein Dialogfeld mit der Liste von Profilen angezeigt und Sie können das gewünschte Profil auswählen, das Sie laden möchten. Die Profileinstellungen werden dann in Ihr Manifest geladen und die ID-Datei wird in das festgelegte Bereitstellungsverzeichnis kopiert.

    Klicken Sie zum Entfernen aller Hybrideinstellungen aus dem Manifest auf die Schaltfläche Diese Konfiguration löschen. Beachten Sie, dass diese Löschoption keine zuvor kopierte ID-Datei aus dem Bereitstellungsverzeichnis entfernt. Sie müssen diesen Vorgang bei Bedarf manuell durchführen.

    Weitere Optionen für diesen Editor umfassen die Optionen Hosts und Domänen. Diese neuen Optionen werden auf der Seite Allgemein im Manifesteditor angezeigt. Mithilfe der Option "Hosts" können Sie mehrere Hostnamen oder Unterdomänen angeben. Jeder Name generiert eine eindeutige Route für die Anwendung. Mithilfe der Option "Domänen" können Sie mehrere Domänen für die Anwendung angeben.

  • Eine Funktion, die eine Anwendung für Bluemix bereitstellt, wenn sie mithilfe des Importassistenten importiert oder mithilfe des Konfigurationsassistenten konfiguriert wurde. Wählen Sie zum Bereitstellen der Anwendung die Option Gestaltung -> IBM Bluemix -> Anwendung bereitstellen aus und klicken Sie auf die Schaltfläche Bluemix in der Symbolleiste. Sie können auch mit der rechten Maustaste auf die Anwendung im Anwendungsnavigator klicken und das Popup-Menü IBM Bluemix -> Anwendung bereitstellen verwenden.
  • Eine Funktion, mit der Sie eine XPages-Anwendung übernehmen können, die für Bluemix bereitgestellt wurde. Anschließend können Sie sie im Standardbrowser öffnen. Wählen Sie zum Öffnen der Anwendung die Option Gestaltung -> IBM Bluemix -> In Standardsystembrowser öffnen aus oder verwenden Sie das Dropdown-Menü, das der Schaltfläche Bluemix in der Symbolleiste zugeordnet ist. Alternativ können Sie mit der rechten Maustaste auf die Anwendung im Anwendungsnavigator klicken und das Popup-Menü IBM Bluemix -> In Standardsystembrowser öffnen verwenden. Sie können einzelne XPages öffnen, indem Sie sie im Anwendungsnavigator auswählen und dann die obige Methode verwenden.

Neues bluemixContext-Objekt mit DataService-Objekt für die bessere Integration mit XPages-Anwendungen, die unter Bluemix erstellt wurden

Wie bereits erwähnt, wurde ein neues globales Objekt, bluemixContext, bereitgestellt, um die Entwicklung von XPages-Anwendungen zu unterstützen, die unter Bluemix ausgeführt werden. Das Objekt stellt Methoden zum Abrufen von Informationen aus der XPages-Laufzeit sowie von Verbindungsinformationen von allen gebundenen XPages NoSQL-Datenbankservices bereit. Dazu wird die Bluemix-Umgebungsvariable VCAP_SERVICES analysiert, die vom gebundenen Service bereitgestellt wird.

Die bluemixContext-Methoden getDataService und getDataServiceByName geben ein DataService-Objekt zurück. Dieses Objekt stellt auch Methoden zum Abrufen von Informationen zum gebundenen XPages NoSQL-Datenbankservice aus der Umgebungsvariable VCAP_SERVICES bereit.

Diese Objekte sind nur in Java und JavaScript verfügbar.

Ausführlichere Informationen zu diesen Objekten und zur Arbeit mit XPages-Anwendungen, die in Bluemix erstellt wurden, finden Sie in der Domino Designer-Produktdokumentation und der Bluemix-Dokumentation.

IBM XPages für Bluemix-Laufzeitumgebungsvariablen

Mit der für Bluemix verfügbaren XPages-Boilerplate (eine Starteranwendung, die sowohl die IBM® XPages NoSQL-Datenbank für Bluemix-Service als auch die IBM XPages für Bluemix-Laufzeit verwendet) werden Umgebungsvariablen als Methode verwendet, mit der der Cloudlaufzeitservice mit der bereitgestellten Starteranwendung über seine Umgebung kommunizieren kann.

Insbesondere für Bluemix verwenden Sie die Umgebungsvariable VCAP_SERVICES zum Abrufen der Informationen und Berechtigungsnachweise, die für den Zugriff auf die IBM XPages NoSQL-Datenbank für den Bluemix-Service mit verschiedenen Bluemix-Laufzeitumgebungen erforderlich ist. In Domino Designer stellt das Objekt bluemixContext verschiedene Methoden zum Abrufen von Informationen aus der XPages-Laufzeit sowie von Verbindungsinformationen von allen gebundenen XPages NoSQL-Datenbankservices bereit. Dazu wird die Umgebungsvariable VCAP_SERVICES analysiert, die vom gebundenen Service bereitgestellt wird. Weitere Informationen zur Umgebungsvariable VCAP_SERVICES finden Sie in der Bluemix-Dokumentation.

Zusätzlich zu den Informationen, die automatisch von der Umgebungsvariablen VCAP_SERVICES bereitgestellt werden, stellt die XPages-Laufzeit ihre eigene Sammlung von Umgebungsvariablen bereit, um die Optimierung der Integration mit der Bluemix-Plattform zu unterstützen. In Domino Designer umfasst der Bluemix-Manifesteditor den Abschnitt für Umgebungsvariablen der XPages-Laufzeit, damit Sie diese Gruppe von Umgebungsvariablen auf den gewünschten Wert festlegen können.

Folgende Umgebungsvariablen der XPages-Laufzeit werden bereitgestellt:

  • APP_HOME_URL
  • APP_PRELOAD_DB
  • APP_INCLUDE_XPAGES_TOOLBOX
  • APP_JVM_HEAPSIZE
  • APP_VERBOSE_STAGING
  • APP_JAVA_POLICY_ALL_PERMISSION

Weitere Informationen zu den Umgebungsvariablen der XPages-Laufzeit finden Sie in der Produktdokumentation.

Unterstützung von Hybridanwendungen bei der Verwendung von Domino Designer mit Bluemix.

Das Schlüsselmerkmal von Hybridanwendungen ist, dass sich die Anwendungsdaten außerhalb von Bluemix befinden. Die Vorteile des Hybridanwendungsmodells sind, dass Sie vertrauenswürdige Optionen der Domino®-Serverkonfiguration verwenden können, z. B. Kennwortmanagement und Verzeichnisverwaltung, die Sie dabei unterstützen, die Cloud und lokale Plattformen einzubeziehen, die im Zusammenhang mit Bluemix verwendet werden.

Die folgenden Funktionen wurden eingeführt, um bei der Unterstützung der Bereitstellung von Hybridanwendungen mit Domino Designer und Bluemix zu helfen:
  • Bereitstellung zusätzlicher Domino Designer Bluemix-Vorgaben zur Unterstützung von Anwendungsfällen zur Hybridanwendungserstellung
  • Änderungen an Domino Designer Bluemix-Tools zur Unterstützung von Anwendungsfällen zur Hybridanwendungserstellung
  • Einführung von Bluemix/Domino Designer-Umgebungsvariablen, um bei der Unterstützung von Anwendungsfällen zur Hybridanwendungserstellung zu helfen
  • Speicherung mehrerer Profile für Hybridkonfigurationen – Sie können mehrere (maximal 20) Hybridkonfigurationen (Profile) speichern und verwalten, die in Ihren Bluemix-Anwendungen verwendet werden können.
  • Hybriddienstprogrammmethoden für bluemixContext-Objekt – Das Objekt "bluemixContext" stellt eine Reihe hilfreicher Dienstprogrammmethoden bereit, die in Java-Code oder in serverseitigem JavaScript-Code in Ihren XPages und Bluemix-Anwendungen verwendet werden können. Es werden drei Dienstprogrammmethoden bereitgestellt, um die Arbeit mit Hybridanwendungen zu unterstützen. Dazu zählen: isHybridApplication(), findHybridDatabaseName(String db Path) und atHybridDbName(String db Path). Ausführliche Informationen finden Sie in der Produktdokumentation und der Bluemix-Dokumentation.

Weitere Informationen finden Sie in diesem Handbuch.

Programmierung, Sprachen und Services

In diesem Abschnitt werden die Änderungen und Zusätze behandelt, die in diesem Bereich von Programmierung, Sprachen und Services vorgenommen wurden. Dieses Release umfasst die folgenden Änderungen und Zusätze in diesem Bereich:

Im Bereich Programmierung und Sprachen wurden die folgenden Zusätze oder Änderungen in diesem Release vorgenommen:

Neues bluemixContext-Objekt mit DataService-Objekt für die bessere Integration mit XPages-Anwendungen, die unter Bluemix erstellt wurden

Es wurde ein neues globales Objekt, bluemixContext, bereitgestellt, um die Entwicklung von XPages-Anwendungen zu unterstützen, die unter Bluemix ausgeführt werden. Das Objekt stellt Methoden zum Abrufen von Informationen aus der XPages-Laufzeit sowie von Verbindungsinformationen von allen gebundenen XPages NoSQL-Datenbankservices bereit. Dazu wird die Bluemix-Umgebungsvariable VCAP_SERVICES analysiert, die vom gebundenen Service bereitgestellt wird.

Die bluemixContext-Methoden getDataService und getDataServiceByName geben ein DataService-Objekt zurück. Dieses Objekt stellt auch Methoden zum Abrufen von Informationen zum gebundenen XPages NoSQL-Datenbankservice aus der Umgebungsvariable VCAP_SERVICES bereit.

Diese Objekte sind nur in Java und JavaScript verfügbar.

Ausführlichere Informationen zu diesen Objekten und zur Arbeit mit XPages-Anwendungen, die in Bluemix erstellt wurden, finden Sie in der Domino Designer-Produktdokumentation und der Bluemix-Dokumentation.

Die folgenden Methoden, Eigenschaften, Formeln usw. wurden für dieses Release hinzugefügt:

  • LotusScript-, Java- und JavaScript-Methoden/-Eigenschaften für die Klassen IDVault und NotesIDVault. Diese Klassen bieten eine Darstellung der Funktion zur sicheren Speicherung für Benutzer-IDs, die möglicherweise gemäß Richtlinie für Domino konfiguriert werden. IDs werden dort gespeichert, um eine einfachere Verwaltung durch Administratoren und Benutzer zu ermöglichen. Ausführliche Informationen finden Sie in der Produktdokumentation.
  • LotusScript-, Java- und JavaScript-Methoden/-Eigenschaften für die Klassen HTMLReference und HTMLReference. Mithilfe dieser Klassen werden Daten dargestellt, die in einem HTML-Verweis enthalten sind. In einer HTML-Zeichenfolge können Verweise auf Links, Anhänge oder Web-Serverbefehle eingebettet sein. Ausführliche Informationen finden Sie in der Produktdokumentation.
  • Java- und serverseitige JavaScript-Methoden und -Eigenschaften für das globale bluemixContext-Objekt. Ausführliche Informationen finden Sie in der Produktdokumentation.
  • Java- und serverseitige JavaScript-Methoden und -Eigenschaften für das Objekt bzw. die Komponente DataService, die vom globalen bluemixContext-Objekt zurückgegeben wird. Ausführliche Informationen finden Sie in der Produktdokumentation.
  • FTSearchSorted-Methode für die View- und NotesView-Klassen (LotusScript, Java und JavaScript). Ausführliche Informationen finden Sie in der Produktdokumentation.
  • FileEndcoding-Eigenschaft/-Methode für die Klassen EmbeddedObject und NotesEmbeddedObject (LotusScript, Java und JavaScript). Gibt Verschlüsselungsinformationen für Dateianhänge zurück. Ausführliche Informationen finden Sie in der Produktdokumentation.
  • @AddedToThisFile – Dieser Befehl gibt einen Zeitmarkenwert zurück, der angibt, wann das Dokument in der aktuellen Datei erstellt wurde. (Im Gegensatz zur globalen Erstellungszeit, die von @Created zurückgegeben wird.)
  • @ModifiedInThisFile – Dieser Befehl gibt einen Zeitmarkenwert zurück, der angibt wann das Dokument zuletzt in der aktuellen Datei geändert wurde. (Im Gegensatz zur globalen Änderungszeit, die von @Modified zurückgegeben wird.)
  • JavaScript-Funktion @UserSecretKeys() – Mithilfe dieser Vereinfachungsfunktion werden geheime Schlüssel aus der ID-Datei eines Benutzers abgerufen.
  • JavaScript-Funktion @UserId() – Mithilfe dieser Funktion wird das UserID-Objekt zurückgegeben, das für einen bestimmten Benutzer in der ID-Vault gespeichert wird.

Im Bereich der Domino-Zugriffsservices (REST-APIs) wurden in diesem Release folgende Ergänzungen oder Änderungen vorgenommen:

Neue URL-Parameter in der REST-Kalenderfunktion

Für dieses Release wurden zwei neue URL-Parameter zur GET-Anforderung der Kalenderereignisse hinzugefügt. Mithilfe der Parameter sincenow und days können Sie den Datumsbereich relativ zum aktuellen Tag steuern. Unter bestimmten Bedingungen funktioniert dieser Ansatz besser als die absoluten Werte für Datum/Uhrzeit, die bei since und before erwartet werden.

Die Dokumentation für die GET-Anforderung der Kalenderereignisse finden Sie unter http://www-10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=openDocument&res_title=Calendar_events_GET&content=apicontent.

Die folgende Tabelle bietet einen Zusatz zu diesem Abschnitt:

Tabelle 1. Neue URL-Parameter in der REST-Kalenderfunktion
URL-Parameter Beispiel Beschreibung
since since=2015-01-01T00:00:00Z Die Startzeit des Datumsbereichs. Wenn since nicht angegeben ist, stellt der Zeitpunkt der Anforderung den Standardwert dar.
before before=2015-02-02T00:00:00Z Die Endzeit des Datumsbereichs. Wenn before nicht angegeben ist, ergibt sich der Standardwert aus dem Wert des Parameters since, dem ein Jahr hinzugefügt wird.
sincenow (neu) sincenow=-60 Die als relative Anzahl von Tagen nach dem heutigen Tag angegebene Startzeit. Dies muss ein ganzzahliger Wert sein (positiv, null oder negativ). Er darf nicht mit since kombiniert werden, kann aber mit before oder days kombiniert werden.
days (neu) days=120 Die Anzahl von Tagen im Datumsbereich. Dies muss ein positiver ganzzahliger Wert sein. Er darf nicht mit before kombiniert werden, kann aber mit since oder sincenow kombiniert werden.