Release Notes 4.6

What’s New

Im Folgenden werden neue Funktionen, Verbesserungen und behobene Fehler entsprechend der map.apps Pakete beschrieben.

Dieses Release beinhaltet wichtige Updates der Basis-Technologie "ArcGIS API for JavaScript" auf die aktuelle Version 4.10. Außerdem wurde die in map.apps genutzte UI-Bibliothek Vuetify auf eine neuere Version aktualisiert. Beide Updates bringen wichtige Verbesserungen und neue Möglichkeiten mit sich (z.B. komplett neue UI-Komponenten in Vuetify, neue Schnittstellen in der Esri API). Für die Aktualisierung dieser Basis-Technologien sind einige wenige Anpassungen in bestehenden map.apps Installation und an eigenen Entwicklungen unumgänglich. Diese werden im Folgenden im Detail beschrieben. Sollten Sie weitergehende Fragen hierzu haben, kontaktieren Sie unseren Support. Außerdem beinhaltet diese Releases die Möglichkeit in map.apps Linie 4 Messungen von Strecken und Flächen in 2D-Karten durchzuführen. Das Koordinaten-Werkzeug wurde zudem um gängige Formate erweitert. Die zur Auswahl stehenden Formate können nun konfiguriert werden. Eine komplette Auflistung aller Änderungen finden Sie weiter unten. Eine detaillierte Vorstellung der Neuerungen erfolgt wie immer im Blog des con terra Developer Networks.

Update-Hinweise

Update der ArcGIS API for JavaScript auf Version 4.10 (von 4.8)

Die von map.apps als technische Basis genutzte ArcGIS API for JavaScript wird mit diesem Release auf die Version 4.10 aktualisiert. Mit diesem Release werden daher Änderungen im Umgang mit Cross-Origin Requests und Cross-Origin Resource Sharing (CORS) wirksam, die durch Esri in Version 4.9 der API eingebaut wurden. Eine detaillierte Beschreibung dieser Änderungen erfolgt im Artikel CORS and the ArcGIS API for JavaScript: Changes coming in 4.9 .

Die wichtigsten Änderungen sind:

  • Es wird nun angenommen, dass alle angefragten Server den CORS-Mechanismus unterstützen. Zuvor wurde eine Liste mit unterstützenden Servern gepflegt bzw. es wurde geprüft, ob ein Server CORS unterstützt.

  • Wird kein CORS unterstützt, wird ein Proxy benötigt. Die URL des Servers kann dazu im Parameter proxy.use.rules eingetragen werden. Der bisherige Workaround über JSONP bzw. die Unterstützung von JSONP entfällt.

Diese Änderungen beeinflussen entsprechend auch map.apps und einige Konfigurationsoptionen. Die folgenden Einstellungen sind für Apps ab der Version 4.6.0 nicht mehr wirksam (sie gelten jedoch weiterhin für Apps der Linie 3, die unter einer map.apps 4.6 Installation betrieben werden). Anpassungen an diesen Optionen können entfernt werden.

proxy.cors.enabled=true
proxy.cors.detection=true
proxy.cors.enabledServers=servicesbeta.esri.com,server.organization.com
proxy.use.always=true

Die ersten drei Optionen entfallen, da nun immer von einer CORS-Unterstützung ausgegangen wird. Wurde bislang die Option proxy.use.always genutzt, müssen nun alle Server, für die immer der Proxy verwendet werden soll, über proxy.use.rules konfiguriert werden.

Für Apps ab Version 4.6.0 gilt nur die folgende Option, die der bisherigen Option proxy.cors.enabledServers mit dem Flag "|true" entspricht:

# Liste von URLs zu Backenddiensten, für die die Übergabe von sicherheitskritischen Informationen mittels CORS aktiviert wird (z.B. Cookies und Autorisierungsheader)
proxy.cors.trustedServers=servicesbeta.esri.com,server.organization.com

Vuetify Update auf 1.3.8 (von 1.0.17)

map.apps 4.6 enthält eine aktualisierte Version der Vue-basierten UI-Bibliothek Vuetify. Einen vollständigen Überblick über die Änderungen erhalten Sie in den Vuetify Release Notes von 1.0.18 bis 1.3.8 .

Die folgenden Änderungen können sich auf angepasste Bundles, Themes oder Style-Überschreibungen (z.B. in app.css) auswirken.

Änderungen

  • Alle vuetify Komponenten Style-Klassen sind nun durchgehend mit v- geprefixt. Sie müssen demnach .v- an eigene CSS-Selektoren ergänzen, die sich auf Vuetify-Komponenten beziehen. Zum Beispiel muss der Selektor .ctAppRoot .my-custombundle .list__tile{} geändert werden in .ctAppRoot .my-custom-bundle .vlist__tile{}

  • Die Komponenten <v-textfield textarea/>, <v-text-field autocomplete/> und <vselect combobox/> wurden zu unabhängigen Komponenten geändert und werden ersetzt durch <v-textarea/>, <v-autocomplete/> und <v-combobox/>. Ein Änderung durch Suchen und Ersetzen reicht aus, da die Eigenschaften gleich geblieben sind.

  • Die Komponenten <v-radio/> und <v-checkbox/> ohne definiertes Farbattribut erhalten die "Akzentfarbe" als Fallback zugewiesen. Alle map.apps UIs haben bereits eine Erfolgsfarbe zugewiesen (z.B. <v-checkbox color="success"/>). Bei definierten Bundles sollte dies ebenfalls geschehen.

Unterstützung neuer UI-Komponenten

v-autocomplete, v-combobox, v-textarea, v-rangeslider, v-rating, v-img, v-hover, v-item-group, v-timeline, v-treeview

Abkündigungen (funktionieren noch, aber die Unterstützung wird in zukünftigen Updates entfernt):

  • v-card-media

  • v-jumbotrons

Beide können durch v-img ersetzt werden.

Messen in 2D

In Apps der Linie 4 ist nun das Messen zusätzlich zu den bereits vorhandenen 3D-Messfunktionen auch in 2D-Karten möglich. Das bisherige Bundle measurement sorgt ab sofort dafür, dass die Bundles measurement-2d und measurement-3d geladen werden.Wenn eine App nur für den Betrieb in 2D oder 3D vorgesehen ist, dann kann stattdessen eines der Bundles measurement-2d und measurement-3d geladen werden.

Aktualisierte Standard-App

Die Vorlagen für die sog. Standard-Apps wurden aktualisiert. Sofern Sie keine eigenen Anpassungen vorgenommen haben, entfernen Sie die vorhandenen Vorlagen (Dateien: default-app-*.zip) aus dem Arbeitsverzeichnis. Der Pfad zu diesem Verzeichnis wird über den Parameter data.directory.location in der Datei %TOMCAT%\webapps\mapapps\WEBINF\classes\custom-application.properties definiert. Beim ersten Start werden dann die neuen Vorlagen dort abgelegt.

Abhängigkeiten

Linie 4 Bundles

  • Esri ArcGIS API for JavaScript 4.10.1

  • ArcGIS Arcade 1.5

  • Dojo 1.14.0

  • dgrid 1.2.1

  • dstore 1.1.2

  • Moment.js 2.22.1

  • Vue.js 2.6.6

  • Vuetify.js 1.5.5

  • babel-polyfill 7.2.5

Linie 3 Bundles

  • Esri ArcGIS API for JavaScript 3.25

  • Dojo 1.13.0

  • dgrid 0.3.17

  • xstyle 0.3.2

  • put-selector 0.3.6

  • dstore 1.1.2

  • Moment.js 2.22.1