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. 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.
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
Changelog
4.6.2
Line 4 Bundles (4.6.2)
Fixed Issues
|
[Dataform] DateTextBox not centered correctly |
|
[Dataform] Unnecessary horizontal scrollbar in TimeTextBox |
|
[Dataform] Drop-down icons are invisible when being hovered in non-everlasting themes |
|
[Dataform] Icon in NumberSpinner too small in non-everlasting themes |
|
[vuetify] Vuetify-Scroll-Patch throws Error if v-menu is removed while open |
|
Protected access of vue to all OSGI framework properties |
|
[System] Fix multilingual full app |
|
[Integration] Vuetify menus are misplaced when integrating map.apps application inside an div of an external page |
4.6.1
General
Fixed Issues
|
[Security] Prevent multiple login attempts when entering wrong password |
|
[Security] Check if login redirect URL is whitelisted |
|
[Security] Suppress unwanted loading of login page in iFrames |
|
[System] HTML Header elements produce errors in W3C validators |
Line 4 Bundles (4.6.1)
Fixed Issues
|
[Layout] Update Material Icons font files |
|
[Map] SRS change causes error with WMTS layer |
|
[Mobile] Cleanup touch icons |
|
[Mobile] Pixel 3: Map is not moveable (Pan) |
|
[Reporting] Prevent possible deadlock when accessing reports in workspace |
|
[Result Center] Escape double apostrophe for CSV export |
|
[Result Center] FeatureVisualizer in result center crashes on features without geometry |
|
[Result Center] SearchStoreTool cannot be activated by toolrule on app start |
|
[Vuetify] Update to version 1.5.5 |
|
[Window Manager] Maximized windows produce stack overflow |
4.6.0
General
New Features
|
Improve domain cookie security with secure and same site flags |
|
[Manager] Increase default size of manual configuration |
|
[Manager] Integrate GitHub Manager 1.3.0 |
|
[System] Support Apache Tomcat 9.0 |
|
[apprt-request] Provide a way to fall back to proxy, if requested server does not support CORS |
Line 4 Bundles (4.6.0)
New Features
|
Update maptools/mapdraw-api to use rectangle mode of "Draw" |
|
Update to Vuetify 1.3.8 |
|
[Coordinate Conversion] Add additional formats |
|
[Coordinate Conversion] Allow to configure formats |
|
[Measurement] Measure distances and areas in 2D |
|
[Popups] Support ActionToggle class |
|
[Result Center] Allow to hide FilterButton permanently |
|
[Resultcenter] Allow to enable filter that hides empty result layers by default |
|
[Resultcenter] Show FilterButton only when needed |
|
[System] Update ArcGIS API for JavaScript to version 4.10 |
|
[apprt-request] Align behavior with esri/request |
|
[apprt-request] Align HTTP to HTTPS rewriting with esri/request |
|
[esri-widgets] Allow placing widgets in windows that require being placed on the view |
Fixed Issues
|
Disabled dijit radio buttons and checkboxes are always checked in Safari |
|
(Falsy) client sorting when server sorting was intended in the MapServerLayerStore |
|
[Layout] DockingBarLeft is not displayed when tools are inside |
|
[Live Configuration] Cannot use map-content after configuration of Group-Basemaps |
|
[Live Configuration] Error when using domain bundles |
|
[Live Configuration] Radiobuttons are not displayed correctly in live configuration dialogs |
|
[Map] Change of initial view in live configuration deletes constraints |
|
[Mobile View] Rotation of map cannot be disabled |
|
[NativeApp] OmniSearch fails on Windows Apps build by PhoneGap |
|
[OmniSearch] Suggest List is not displayed in Cordova iOS App |
|
[Omnisearch] Layout of drop-down erroneous |
|
[Popups] Default popups do not work for nested GroupLayer |
|
[Reporting] Deleted items still appear in report |
|
[Result Center] Switching to 3D view freezes features drawn on map |
|
[Themes] Some layout issues in non-everlasting themes |
|
[Webscene Slides] Closing window leads to disappearing tool |