Release Notes 4.9

What’s New

This release contains a number of new features and updates to the base technology.

OGC API Features

This version introduces a new layer for using OGC API-Features . This new standard is the completely modernized successor of the OGC Web Feature Service (WFS) specification.

Parameterized URL in address bar of browser

The parameterized URL with which the state of an app (such as activated base maps and layers or the displayed map extent) can be shared can now be permanently displayed and updated in the address bar of the browser. To activate this function, add the bundle parameter-url to your app.

Popup improvements

This release introduces the following improvements to popups:

  • Popups can be defined for search topics (stores) independently of layers. This allows popups to be displayed for a search service that is not displayed on the map (for example search for address points).

  • Popups can be opened automatically after a search. This also applies to searches that were executed using a parameterized call.

  • The display of actions and other elements can be better configured.

  • The default popup can now also be used for imagery layers.

Base maps in the map content control (TOC)

The map content control can now also control the base maps available in the app. This provides users a central interface to control all displayed maps in desktop environments as well as on mobile devices.

Editing

Dialog for attribute editing

The dialog for editing the attributes of a map object can now be adjusted via configuration. Using so-called FormTemplates, the attributes that are to be displayed for editing can be specified. In addition, attributes can be grouped together and provided with customized headings, descriptions and labels.

Editing in 3D

The tools for adding and editing objects can now also be used in 3D scenes.

Edit attachments (file attachments)

Files can be added to and removed from a map object as attachments using the editing tool.

Tool rules for map states

Tool Rules can be used to activate or provide tools depending on the current map scale or activated map layers. For example, a tool can only be offered for editing if a corresponding layer is activated.

Further new functions and improvements

  • The ArcGIS API for JavaScript used by map.apps as technical basis is updated to version 4.16 with this release. This leads to numerous improvements and bug fixes in the base technology. For example, the performance when displaying feature layers or web scenes is significantly improved.

  • A legend can now also be displayed for base maps.

  • The default positions of tooltips can now be defined for complete tool sets. The app configuration can thus be made shorter and clearer, as it is not necessary to define the position for each tool individually.

  • GeoRSS feeds can now be integrated as map layers.

  • The new layer type ImageryTileLayer can be used to project and process raster data on the client side.

  • Two new tools are available to switch to previous and next map sections.

  • Mouse wheel or touch gesture map control can be disabled to improve the user experience in embedded apps.

  • Apps registered in ArcGIS Enterprise portal can only be accessed by users who are granted access to the corresponding element in ArcGIS Enterprise portal

  • The layouts and formats available for printing can be configured.

  • The configuration of CORS filters is more efficient by using placeholders.

A complete list of all changes can be found in changelog.

Update Notes

JavaScript import/export vs. AMD define

In the course of modernizing the map.apps API, the keyword export defined in the ECMAScript 6 standard (ES6) is increasingly used. This requires a change when using the AMD import style define . Use the new ES6 import syntax to avoid incompatibilities.

The following sections show the change using the example of string-replace:

AMD import (old)
define(["apprt-core/string-replace"], function(stringReplace){

   var msg = stringReplace('Hello ${key}', { key : "World"});

});
ES6 import (new)
import stringReplace from "apprt-core/string-replace"

const msg = stringReplace('Hello ${key}', { key : "World"});

Code that is in AMD format can be converted with the amd-to-es6 tool. The sample project for developing new bundles mapapps-4-developers is already prepared for using the new syntax.

Theming

With map.apps 4.9 new color variables are available to customize the OmniSearch background and input-text color via LessCss. For custom themes, the following variables with the default values must be added :

@ct-omnisearch-input-background-color: #fff;
@ct-omnisearch-input-text-color: #000;
@ct-omnisearch-drawer-button-background-color: @ct-omnisearch-input-background-color;
@ct-omnisearch-drawer-button-icon-color: darken(@disabled-text-color, 30);

Dependencies

Line 4 Bundles

  • Esri ArcGIS API for JavaScript 4.16.2

  • ArcGIS Arcade 1.11

  • core-js 3.6.4

  • Dojo 1.14.2

  • dgrid 1.2.1

  • dstore 1.1.2

  • Moment.js 2.24.0

  • Vue.js 2.6.6

  • Vuetify.js 1.5.24

Line 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.9.2

Line 4 Bundles (4.9.2)

Fixed Issues

MAPAPPS-5678

[Map] Error when trying to display WMS

MAPAPPS-5680

[Result Center] Actions not working for feature with ID 0

MAPAPPS-5696

[TOC] Nested sublayers of WMS not displayed in TOC

4.9.1

Line 4 Bundles (4.9.1)

New Features

MAPAPPS-5540

[Analytics-Logging] Integrate configuration for centralized logging infrastructure

MAPAPPS-5665

[TOC] Dynamically react to the 'listMode' property

Fixed Issues

MAPAPPS-5668

[AGS Search] AutoStoreRegistration creates stores for graphics layers

MAPAPPS-5664

[Legend] PictureFillSymbols paths are not resolved correctly

MAPAPPS-5662

[Map] Sublayers of WMS are not displayed in some cases

MAPAPPS-5669

[Native App Export] ProjectionEngine not loaded if "file://" prefix is on browser

MAPAPPS-5656

[Native App Export] Some bundles are not included in export

MAPAPPS-5660

[Omnisearch] No zoom is performed when openpopup action is used

MAPAPPS-5667

[Popups] Custom Action not shown for popup defined on store when opened from result center

MAPAPPS-5621

[TOC] Divider sometimes missing in actions menu

MAPAPPS-5598

[TOC] listMode is not correctly applied if configured at sublayer level

4.9.0

Line 4 Bundles (4.9.0)

New Features

MAPAPPS-5628

[CORS Filter] Allow use of wildcards in allowed origins configurations

MAPAPPS-5641

[Editing] Allow to edit in 3D scene views

MAPAPPS-5548

[Legend] Allow to show legend for base layers

MAPAPPS-5563

[Map] Disable mouse-wheel and touch navigation

MAPAPPS-5613

[Map] Support GeoRSS layer

MAPAPPS-5622

[Map] Support Imagery Tile Layer

MAPAPPS-5611

[Map] Support OGC API Features layer

MAPAPPS-5194

[Navigation Toolset] Move to previous or next view

MAPAPPS-5631

[OmniSearch] Open popup after successful search

MAPAPPS-5527

[Parameter Manager] Always show parameterized url in browser address bar

MAPAPPS-5636

[Parameter Search] Open popup after successful search

MAPAPPS-5460

[Popups] Allow to define popups for stores independent from layers

MAPAPPS-5552

[Popups] Allow to set maxInlineActions and visibleElements properties

MAPAPPS-5601

[Popups] Allow to use custom popup types for stores independent from layers

MAPAPPS-5582

[Popups] Allow to use popup-default for imagery layers

MAPAPPS-5495

[Popups] Do not allow popup-types for basemaps

MAPAPPS-5593

[Portal-App-Registration] Ensure that only users allowed to access the app portal item can open the app

MAPAPPS-5323

[Printing] Allow to define properties allowedLayouts and allowedFormats

MAPAPPS-5619

[ProxyServlet] Allow configuration of additional forward headers

MAPAPPS-5625

[Reporting] Default value of "usable" should be true after creation

MAPAPPS-5626

[Reporting] Default value of title should be the ID of the report after creation

MAPAPPS-5173

[Result Center] Use highlighter to draw graphics

MAPAPPS-5585

[Result Center] Use seperate layer for highlights

MAPAPPS-5576

[System] Ensure that Internet Explorer does not switch into compatibility mode

MAPAPPS-5467

[System] Update ArcGIS API for JavaScript to version 4.15

MAPAPPS-5496

[TOC] Allow to control basemaps

MAPAPPS-5186

[Toolrules] Add rule for layer visibility (layer is enabled)

MAPAPPS-5588

[Toolrules] Add rule for scale

MAPAPPS-5187

[Toolrules] Add rules for sublayouts

MAPAPPS-3379

[Toolset] Make position of tooltips configurable for a whole toolset

MAPAPPS-5504

[Vuetify] Update to version 1.5.24

Fixed Issues

MAPAPPS-5579

[apprt] Stop of an app leads to errors in the console

MAPAPPS-5604

[apprt-request] Endless retries during access of portal item

MAPAPPS-5610

[ct/store/SpatialQuery] Complex Query on memory store with $intersects point throws error

MAPAPPS-5577

[DataView] Destroying DataView leads to error

MAPAPPS-5592

[Documentation] JavaScript API docs are sometimes missing / wrong

MAPAPPS-5494

[Editing] Browser crashes while editing vertices of a large feature

MAPAPPS-5575

[Layout] Font-size of tools inside a toolbox is too large

MAPAPPS-5538

[Legend] Entries are not removed when new layer is added

MAPAPPS-5478

[Map] Perfomance issues with feature layers

MAPAPPS-5632

[Omnisearch] Error handling is wrong when search gets cancelled

MAPAPPS-5030

[Popups] Coded values of MapImageLayer Sublayers are not displayed correctly

MAPAPPS-5607

[Portal Item Registration] Removing portal registration fails

MAPAPPS-5102

[Reporting] Report template is not updated when filename is reused

MAPAPPS-5596

[Resultcenter] Popup appears on wrong location after SRS change

MAPAPPS-5643

[Scalebar] Overlays popup

MAPAPPS-5566

[Selection] Polygon selection mode not disabled

MAPAPPS-5573

[Selection] Selection tool does not work properly

MAPAPPS-5570

[Sketching/Editing] Map pans instead of moving vertex

MAPAPPS-5549

[TOC] Nested Sublayers displayed in wrong order

MAPAPPS-5646

[TOC] Oversized sublayer description not displayed correctly