Release Notes 4.19

What’s New

Neuerungen für 3D-Szenen

Dieses Release bringt zahlreiche neue Funktionen und Verbesserungen für 3D-Szenen mit sich, die im Folgenden detailliert beschrieben werden.

Neue Layer-Typen

Es stehen drei neue Layer-Typen für die Darstellung in 3D-Szenen zur Verfügung:

Alle diese Layer-Typen erweitern die Einsatzmöglichkeiten und Flexibilität bei der Arbeit mit 3D-Szenen.

Suche und Selektion in Szenen-Layern

Ab dieser Version können Szenen-Layer (Scene Layer) für Suchen und Selektionen genutzt werden. Dies ermöglicht es beispielsweise, direkt zu einem spezifischen Gebäude oder 3D-Objekt zu navigieren. Zudem können Attribute von mehreren Objekten gleichzeitig selektiert werden und im Result Center angezeigt werden.

Umgebungsvariablen

Durch das Festlegen von Umgebungsvariablen können Sie das Erscheinungsbild einer 3D-Szene anpassen. Zu den Möglichkeiten gehören:

  • Wetterbedingungen wie Niederschlag oder Bewölkung definieren.

  • Hintergrundfarben anpassen, um die visuelle Darstellung der Szene zu individualisieren.

Weitere Verbesserungen

  • Die Navigation in 3D-Ansichten wurde optimiert. Es ist jetzt möglich, Werkzeuge für die vorherige und nächste Ansicht zu verwenden.

  • Der Inhaltsbaum (TOC) zeigt nun korrekte Warnindikatoren für maßstabsabhängige Layeransichten in 3D-Szenen an.

  • map.apps unterstützt den viewingMode einer 3D-Szene.

Verbesserter Wechsel zwischen 2D und 3D

Dieses Release erleichtert den Wechsel zwischen 2D- und 3D-Ansichten durch folgende Neuerungen:

  • Spezifische Layer oder Grundkarten können für die 2D- oder 3D-Ansicht ausgeblendet werden.

  • Der Inhaltsbaum (TOC) gibt nun Hinweise zu Inhalten, die im 2D-Ansichtsmodus nicht dargestellt werden können.

ArcGIS Location Platform

  • Die Unterstützung für den Basemap Styles Service V2 wurde eingeführt.

  • Möglichkeit zur Konfiguration eines globalen API-Schlüssels (API Key), um ohne einzelne Nutzer-Anmeldung auf bestimmte Arc­GIS Resourcen zugreifen zu können.

  • Der ArcGIS Locator unterstützt nun die korrekte Verwendung von ArcGIS API-Schlüsseln.

App-Editor

  • Der App-Editor bietet nun Vorschläge für die Konfiguration von 3D-Grundkarten.

  • Verbesserte Unterstützung für die Konfiguration und Validierung von Grundkarten, um Fehler bei der Konfiguration zu minimieren.

Weitere Neuerungen

  • Die technische Basis von map.apps wurde auf ArcGIS Maps SDK for JavaScript Version 4.31 aktualisiert. Dies bringt zahlreiche Verbesserungen und Fehlerbehebungen mit sich.

  • Die MapDraw-API wurde erweitert und bietet nun Optionen für Freihand- und Hybridzeichnungen.

  • Der Inhaltsbaum (TOC) blendet den Transparenzregler für Layer ohne Unterstützung für unterschiedliche Transparenzen aus.

  • Layer ohne Legende zeigen im Inhaltsbaum (TOC) keinen Erweiterungspfeil mehr an.

  • Die Result-UI unterstützt nun die Möglichkeit, benutzerdefinierte Symbole in Row- und Bulk-Actions hinzuzufügen.

  • Die Legende und der TOC unterstützen jetzt die neue Eigenschaft respectLayerDefinitionExpression, die für eine bessere Darstellung und Filterung sorgt.

Update-Hinweise

Falls Sie bei dem Update mehrere Versionen überspringen, befolgen Sie bitte auch alle Update-Hinweise der dazwischenliegenden Versionen.

Unterstützung für sensible Daten in separater Datei (secrets.properties)

Mit diesem Release wurde die Möglichkeit eingeführt, sensible Daten aus der Datei application.properties in eine separate Datei namens secrets.properties auszulagern. Wenn mit mehreren Personen auf die Datei geschaut wird (zum Beispiel in einem Screen-Sharing) oder Sie die Konfigurations-Datei application.properties an unseren Support oder andere senden, sind die sensiblen Daten so nicht mehr sichtbar.

Wir empfehlen Ihnen, ihre Konfiguration zu überprüfen und sensible Daten, wie zum Beispiel Passwörter, in eine Datei secrets.properties zu verschieben, um die Sicherheit zu erhöhen.

Beispielkonfiguration

In der Datei application.properties wird auf die Datei secrets.properties verwiesen, die sensible Daten enthält:

# Load secrets from separate file
include=./secrets.properties

# Admin user definition
security.user.admin.pw=${secret.admin.pw}

Die tatsächlichen sensiblen Daten, wie Passwörter, werden dann in der Datei secrets.properties definiert:

secret.admin.pw=fill-with-password

Weitere Informationen finden Sie in der Dokumentation.

Kompatibilität mit map.apps SDI

Sollten Sie die Erweiterung map.apps SDI nutzen, müssen Sie diese auf die Version 5.6.4 aktualisieren.

Änderungen an der Konfiguration (application.properties)

  • Die Eigenschaft proxy.allowedSSLDNs wurde entfernt. Sollte diese in Ihrer application.properties Datei gesetzt sein, entfernen Sie diese.

  • Die Eigenschaft analytics.gelf.identifier wurde in analytics.identifier umbenannt. Falls sie diesen Wert verändert haben, korrigieren Sie bitte den Namen der Eigenschaft.

  • Der Standardwert der Eigenschaft printtask.service.url wurde entfernt. Sie müssen von nun an explizit die URL eines ArcGIS Server Print Tasks konfigurieren, bevor sie die Druckfunktion nutzen können. Wir empfehlen einen Druckdienst zu verwenden, der von einem Ihrer ArcGIS Server gehostet wird.

    Beispiel: https://example.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task

Änderungen in der Bundle-Konfiguration

  • Die Eigenschaft ensureGeometryInMapSRS wurde aus der Config-Komponente des parametersearch-Bundles entfernt. Wenn Sie diese Eigenschaft explizit in Ihrer App-Konfiguration angegeben haben, können Sie die Eigenschaft entfernen.

Änderungen in der Konfiguration des Bundles basemapswitcher

Das Bundle basemapswitcher benötigt seit dieser Version zwingend eine Konfiguration einer Basiskarte mit passender ID über das map-init Bundle.

Das folgende Beispiel zeigt die notwendige Konfiguration:

"basemapswitcher": {
    "Config": {
        "nextBasemap": "esri-basemap-1"
    }
},
"map-init": {
    "Config": {
        "basemaps": [
            {
                "id": "esri-basemap-1",
                "basemap": {
                    "style": {
                        "id": "arcgis/streets"
                    }
                }
            }
        ]
    }
}

Sollte das basemapswitcher-Bundle keine passende Basiskarte finden, wird das Widget ausgeblendet.

Anpassung der autofocus-Property im Fenster-System

Mit diesem Release wurde die autofocus-Property im Fenster-System erweitert und ein neuer Wert eingeführt.

Somit gibt es nun folgende Werte für die autofocus-Property:

  • false → Kein automatischer Fokuswechsel

  • true → Fokus wechselt zum ersten fokussierbaren Inhaltselement (oder ersatzweise zum Fenster selbst). Dieser Wert bleibt aus Gründen der Rückwärtskompatibilität und für spezifische Anwendungsfälle (z. B. Fenster mit Formularen) erhalten.

  • window → Der Fokus wird immer direkt auf das Fenster gesetzt. Dies ist der neue Standardwert, er wird also angewandt wenn kein expliziter Wert konfiguriert ist.

Um das alte Verhalten wieder herzustellen, also den Fokus weiterhin auf das erste fokussierbare Inhaltselement zu legen, setzen Sie autofocus: true explizit in Ihrer Konfiguration.

Ausgelaufene Unterstützung

  • Die Bundles omnisearch-portalitem und share-link-shim wurden entfernt.

  • Das Widget username aus dem Modul authentication/UsernameWidget wurde entfernt. Benutzen Sie stattdessen das Widget authenticationInfo aus dem Modul authentication/AuthenticationInfoWidget.
    map.apps verwendet das Widget authenticationInfo seit längerem standardmäßig im seasons Template. Das heißt, dass ein Anpassung nur notwendig ist, wenn Sie das Widget username explizit in Ihren Apps verwenden.

  • Die Unterstützung von app.jsp Dateien für das rollenbasierte Filtern von app.json Dateien wurde entfernt.

Abkündigungen

Für folgende Features wird die Weiterentwicklung eingestellt und das Ende der Unterstützung für die Zukunft angekündigt. Beachten Sie außerdem die Hinweise in den Systemanforderungen.

  • map.apps Manager und App-Konfiguration:

    • Die Live-Konfiguration wird nicht mehr weiterentwickelt und wird in einer der kommenden Versionen entfernt. Verwenden Sie stattdessen den App-Editor zur Konfiguration von Apps. Sie können die Live-Konfiguration bereits jetzt für Ihre Nutzer ausblenden, indem Sie die Konfigurations-Option manager.config.editor.showLiveConfigButton auf false setzen.

  • Bundles:

    • Das Bundle omnisearch wird nicht mehr weiterentwickelt. Das Bundle wird Mitte 2025 aus dem Produkt entfernt. Verwenden Sie stattdessen das Bundle search-ui.

    • Die Bundles resultcenter und selection-resultcenter werden nicht mehr weiterentwickelt. Die Bundles werden Mitte 2025 aus dem Produkt entfernt. Verwenden Sie stattdessen das Bundle result-ui.

  • Entwicklung:

    • Die Unterstützung der JavaScript Module test-utils/later und test-utils/waitForProperty wird demnächst entfernt. Benutzen Sie stattdessen das neue Modul test-utils/waitFor (ab 4.18.3 verfügbar).

    • Die Unterstützung von module.exports in JavaScript-Dateien wird demnächst entfernt. Benutzen Sie stattdessen die ECMA­Script Keywords export bzw. export default.

    • Um eine zukünftige Migration von AMD zu einem anderem Modulsystem zu erleichtern sollten JavaScript-Dateien nach Möglichkeit nur noch als ECMAScript Module verfasst und anschließend transpiliert werden.

    • Die Unterstützung von cancel in der Rückgabe der Abfrageergebnisse (QueryResult) eines Stores wird demnächst entfernt. Ziel ist es die Komplexität der store-api.Store Api zur reduzieren. Bitte benutzen Sie stattdessen einen AbortController , wie unter Nutzung eines AsyncStore beschrieben.

      const aborter = new AbortController();
      store.query({name: "Test"}, { signal: aborter.signal })
          .then((resultItems)=>{
              ...
          }, (e)=>{
              if (e.name === "AbortError"){
                  // aborted
              }
      })
      // trigger abort
      aborter.abort();
      [source,javascript]
    • Die folgenden Klassen werden in einem der nächsten Releases entfernt:

      Abgekündigte Klasse Alternative

      ct/array

      native JavaScript Funktionen

      ct/async

      apprt-core/async

      ct/_when

      apprt-core/when

      ct/_compare

      apprt-core/comparators

Bekannte Einschränkungen

MAPAPPS-5654

[Map] Zoom via mousewheel does not allow to zoom to the full max or min extent in some situations

MAPAPPS-6377

[Printing] Printing of line measurement not possible with PrintTask published from ArcMap

Abhängigkeiten

  • Esri ArcGIS Maps SDK for JavaScript 4.31.6

  • ArcGIS Arcade 1.28

  • JasperReports 6.21.3

  • Moment.js 2.29.4

  • Vue.js 2.7.16

  • Vuetify.js 1.5.24 (with custom patches, tracked as 1.5.30)

Changelog

4.19.0

New Features

MAPAPPS-5126

[SceneView] Set environment properties for scene views

MAPAPPS-5263

[Map] Support BuildingSceneLayer

MAPAPPS-5268

[Map] Support PointCloudLayer

MAPAPPS-5765

[Search] Search in scene layer

MAPAPPS-7133

[search-api] Provide query event

MAPAPPS-7139

[System] Update ArcGIS Maps SDK for JavaScript to version 4.31

MAPAPPS-7156

Replace apprt-request with apprt-fetch in BaseRestStore

MAPAPPS-7163

Support readonly report mounts

MAPAPPS-7167

[Map] Support Basemap styles service v2

MAPAPPS-7168

[App properties] Allow to define global API key

MAPAPPS-7194

[Measurement 2D] Provide API for access to ViewModel

MAPAPPS-7218

[mapdraw-api] Freehand and hybrid drawing options

MAPAPPS-7222

[ArcGIS Locator] Ensure correct support for ArcGIS API Key

MAPAPPS-7224

[TOC] Show hints for content that cannot be shown in 2D view mode

MAPAPPS-7225

[App Editor] Support for 3d basemaps

MAPAPPS-7227

[App Editor] Improve support for basemap configuration and validation

MAPAPPS-7228

[TOC] Hide transparency slider for layers without opacity property

MAPAPPS-7230

[TOC] Hide expand-arrow for layers without a legend

MAPAPPS-7243

[Measurement] Migrate bundles to typescript

MAPAPPS-7252

[Map Navigation] Allow to use previous and next view tools in 3D views

MAPAPPS-7254

[TOC] Show correct warning indicator for scale dependant layer views in 3D scenes

MAPAPPS-7263

[Selection] Select objects in scene layer

MAPAPPS-7265

[Measurement 3D] Provide API for access to ViewModel

MAPAPPS-7273

Drop support of "proxy.allowedSSLDNs" from application.properties

MAPAPPS-7276

[Map] Hide specific layers in 2D or 3D view

MAPAPPS-7277

[Map] Hide specific basemaps in 2D or 3D view

MAPAPPS-7280

[Configuration] Make use of "file:" prefix optional to include files via absolute paths in application.properties

MAPAPPS-7281

[Map] Support VoxelLayer

MAPAPPS-7282

[result-ui] Allow possibility to add custom icons in row- and bulk-actions

MAPAPPS-7284

[Legend] Support new legend property "respectLayerDefinitionExpression"

MAPAPPS-7287

[apprt-fetch] Disable switching from GET to POST by default

MAPAPPS-7291

[TOC] Support new legend property "respectLayerDefinitionExpression" for TOC items

MAPAPPS-7295

[basemapswitcher] Support only referenced basemaps from basemaps model

MAPAPPS-7309

Update vue to version 2.7.16

MAPAPPS-7310

[App Editor] Update monaco-editor to version 0.52.2

MAPAPPS-7311

Update @terraformer to latest version (@terraformer/wkt 2.2.1, @terraformer/spatial 2.2.1)

MAPAPPS-7312

Update proj4 lib in coordinatetranformer to 2.15.0

Fixed Security Issues

MAPAPPS-7278

Fix CVE-2024-47535

Fixed Issues

MAPAPPS-7217

[Editing] Update feature button not using hover color from theme

MAPAPPS-7221

[Accessibility] Inconsistent behavior when opening windows via keyboard control

MAPAPPS-7247

[MS SQL] Error during pre-compression

MAPAPPS-7248

[measurement-2d] showIntro property does not work

MAPAPPS-7253

[Coordinate Viewer] In 3D views an empty scale is shown

MAPAPPS-7255

[Sketching] Sketching not working after view mode is switched

MAPAPPS-7264

[mapdraw API] Drawing cannot be canceled by pressing ESC button

MAPAPPS-7268

[apprt_request] Proxy fallback incorrect for multiple identical simultaneously requests

MAPAPPS-7271

[Global configuration] Property "manager.config.viewbundles" cannot start or end with double quotes

MAPAPPS-7290

[Map Navigation] Restore initial view does not work when switching view modes

MAPAPPS-7307

[search-ui] SearchUIService.reset() does not work during app start

MAPAPPS-7313

[Documentation] Wrong link to security.oauth.provider.arcgis.roles

MAPAPPS-7328

[result-api] renderType only applied on fields with expression info