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=https://servicesbeta.esri.com,https://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. Ergänzen Sie .v- an eigene CSS-Selektoren, 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, kann stattdessen eines der Bundles measurement-2d und measurement-3d geladen werden.

Aktualisierte Standard-App

Die Vorlagen für die sog. Standard-Apps sind 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

Changelog

4.6.2

General

Fixed Issues

MAPAPPS‑5222

[Manager] Update notifier not working when too many new bundles are requested

Line 4 Bundles (4.6.2)

Fixed Issues

MAPAPPS‑5270

[Dataform] DateTextBox not centered correctly

MAPAPPS‑5271

[Dataform] Unnecessary horizontal scrollbar in TimeTextBox

MAPAPPS‑5272

[Dataform] Drop-down icons are invisible when being hovered in non-everlasting themes

MAPAPPS‑5273

[Dataform] Icon in NumberSpinner too small in non-everlasting themes

MAPAPPS‑5189

[vuetify] Vuetify-Scroll-Patch throws Error if v-menu is removed while open

MAPAPPS‑5245

Protected access of vue to all OSGI framework properties

MAPAPPS‑5277

[System] Fix multilingual full app

MAPAPPS‑5274

[Integration] Vuetify menus are misplaced when integrating map.apps application inside an div of an external page

4.6.1

General

Fixed Issues

MAPAPPS‑4833

[Security] Prevent multiple login attempts when entering wrong password

MAPAPPS‑5170

[Security] Check if login redirect URL is whitelisted

MAPAPPS‑5242

[Security] Suppress unwanted loading of login page in iFrames

MAPAPPS‑5223

[System] HTML Header elements produce errors in W3C validators

Line 4 Bundles (4.6.1)

Fixed Issues

MAPAPPS‑5226

[Layout] Update Material Icons font files

MAPAPPS‑5240

[Map] SRS change causes error with WMTS layer

MAPAPPS‑5224

[Mobile] Cleanup touch icons

MAPAPPS‑5179

[Mobile] Pixel 3: Map is not moveable (Pan)

MAPAPPS‑5246

[Reporting] Prevent possible deadlock when accessing reports in workspace

MAPAPPS‑5221

[Result Center] Escape double apostrophe for CSV export

MAPAPPS‑5218

[Result Center] FeatureVisualizer in result center crashes on features without geometry

MAPAPPS‑5244

[Result Center] SearchStoreTool cannot be activated by toolrule on app start

MAPAPPS‑5214

[Vuetify] Update to version 1.5.5

MAPAPPS‑5236

[Window Manager] Maximized windows produce stack overflow

Line 3 Bundles (3.10.3)

Fixed Issues

MAPAPPS‑5234

[Parameter Manager] Parametrization of the basemaps is not working

MAPAPPS‑5179

[Mobile] Pixel 3: Map is not moveable (Pan)

MAPAPPS‑5219

ES6 Code mixed

4.6.0

General

New Features

MAPAPPS‑5196

Improve domain cookie security with secure and same site flags

MAPAPPS‑5142

[Manager] Increase default size of manual configuration

MAPAPPS‑5167

[Manager] Integrate GitHub Manager 1.3.0

MAPAPPS‑4741

[System] Support Apache Tomcat 9.0

MAPAPPS‑5200

[apprt-request] Provide a way to fall back to proxy, if requested server does not support CORS

Fixed Issues

MAPAPPS‑5202

App title and description not escaped in apps overview

Line 4 Bundles (4.6.0)

New Features

MAPAPPS‑5057

Update maptools/mapdraw-api to use rectangle mode of "Draw"

MAPAPPS‑5023

Update to Vuetify 1.3.8

MAPAPPS‑5198

[Coordinate Conversion] Add additional formats

MAPAPPS‑5141

[Coordinate Conversion] Allow to configure formats

MAPAPPS‑5092

[Measurement] Measure distances and areas in 2D

MAPAPPS‑5059

[Popups] Support ActionToggle class

MAPAPPS‑5136

[Result Center] Allow to hide FilterButton permanently

MAPAPPS‑5166

[Resultcenter] Allow to enable filter that hides empty result layers by default

MAPAPPS‑4954

[Resultcenter] Show FilterButton only when needed

MAPAPPS‑5153

[System] Update ArcGIS API for JavaScript to version 4.10

MAPAPPS‑5140

[apprt-request] Align behavior with esri/request

MAPAPPS‑5201

[apprt-request] Align HTTP to HTTPS rewriting with esri/request

MAPAPPS‑5172

[esri-widgets] Allow placing widgets in windows that require being placed on the view

Fixed Issues

MAPAPPS‑5157

Disabled dijit radio buttons and checkboxes are always checked in Safari

MAPAPPS‑4686

(Falsy) client sorting when server sorting was intended in the MapServerLayerStore

MAPAPPS‑5212

[Layout] DockingBarLeft is not displayed when tools are inside

MAPAPPS‑5098

[Live Configuration] Cannot use map-content after configuration of Group-Basemaps

MAPAPPS‑5180

[Live Configuration] Error when using domain bundles

MAPAPPS‑5029

[Live Configuration] Radiobuttons are not displayed correctly in live configuration dialogs

MAPAPPS‑5129

[Map] Change of initial view in live configuration deletes constraints

MAPAPPS‑5204

[Mobile View] Rotation of map cannot be disabled

MAPAPPS‑5138

[NativeApp] OmniSearch fails on Windows Apps build by PhoneGap

MAPAPPS‑5209

[OmniSearch] Suggest List is not displayed in Cordova iOS App

MAPAPPS‑5176

[Omnisearch] Layout of drop-down erroneous

MAPAPPS‑5041

[Popups] Default popups do not work for nested GroupLayer

MAPAPPS‑4211

[Reporting] Deleted items still appear in report

MAPAPPS‑4988

[Result Center] Switching to 3D view freezes features drawn on map

MAPAPPS‑5182

[Themes] Some layout issues in non-everlasting themes

MAPAPPS‑5131

[Webscene Slides] Closing window leads to disappearing tool

Line 3 Bundles (3.10.1)

Fixed Issues

MAPAPPS‑5160

[AGSPrinting] Printing fails, if Get Layout Templates Info Task is missing

MAPAPPS‑5191

[Bookmarks] Widget only displays one entry