Release Notes 4.16

What’s New

Last release with Tomcat 9 support

This release primarily provides updates in base technologies and third party libraries as well as bug fixes. It is the last release with Tomcat 9 support. Support for Tomcat 10 will be introduced shortly with map.apps 4.17. Details are described in this article: Tomcat 10 and Java 21 support in con terra Technologies products

Accessibility

As part of our ongoing efforts to make applications as accessible as possible, the following improvements are introduced in this release:

  • Windows can now be better controlled and moved by keyboard. The focus is clearer and the focus order has been optimized. Window buttons also have more descriptive labels so that the user knows what they are doing.

  • Screen reader support for the measurement function has been improved. Measurement results are now read out.

  • The focus of the keyboard control has been improved in the map content control (TOC), in lists, buttons, checkboxes and other interface elements.

  • The contrast in the context menu of the map content control (TOC) has been improved.

Further new functions and improvements

  • The ArcGIS Maps SDK for JavaScript used by map.apps as technical basis is updated to version 4.28 with this release. This results in numerous improvements and bug fixes to the base technology. Among other things, Esri has introduced performance improvements in environments without GPU support (see 2D performance in non-GPU environments ).

Update Notes

If you skip several versions during the update, please also follow all update notes of the intervening versions.

CSV export from the (old) Result Center

Only the "old" Result Center (bundle resultcenter) is affected by the changes described here. When using the new Result Center introduced with map.apps 4.14 (bundles result-ui and result-api), nothing needs to be considered.

The order of the columns in a CSV export now corresponds to the order of the fields in the underlying store metadata. Previously, this was not always the case, so that after updating to this version, the order may be different than before. In addition, the default value of the detectExtraFields property has been changed from true to false. This can lead to fewer columns appearing in the export than before without further adjustment. If additional fields are detected, they are appended to the end of the fields from the store metadata.

Discontinued Features

The following features are discontinued with this release:

  • With the MAPAPPS-6912 bugfix, map.apps no longer tries to resolve missing version information on bundles listed in the appservice.default.bundles configuration option. The default value of the appservice.default.bundles configuration option has been changed from system, templatelayout to the empty string ``.

  • Due to the migration of ArcGIS Maps SDK for JavaScript popups to the Calcite Design System, the configuration property maxInlineActions is no longer supported and therefore has no effect in map.apps. It is now calculated automatically how many of the actions are displayed directly and how many are summarized in a "…​ more" menu.

Deprecated Features

The following are deprecated and will be removed in a future release. Also note the additional information in the system requirements.

  • map.apps Manager and app configuration:

    • Live configuration is no longer being developed and will be removed in an upcoming release. Instead, use the app-editor to configure apps. You can already hide the live configuration for your users by setting the configuration option manager.config.editor.showLiveConfigButton to false.

    • App and app template synchronization has been deprecated since version 4.8 and will be removed in version 4.15. Use domain-bundles instead.

    • The allowedWorkflows:["create"] configuration option in the editing bundle will be removed soon. Use allowedWorkflows:["create-features"] instead.

  • Bundles:

    • The omnisearch bundle is no longer developed. Use the search-ui bundle instead.

    • The resultcenter and selection-resultcenter bundles are no longer developed. Use the result-ui bundle instead.

  • Development:

    • Support for module.exports in JavaScript files will be removed soon. Use the ECMAScript keywords export or export default instead.

    • To simplify a future migration from AMD to another module system, JavaScript files should be written as ECMAScript modules only, if possible, and then transpiled.

    • Support for cancel in return values of store queries (QueryResult) will be removed soon. The goal is to simplify the store-api.Store interface. Please use a AbortController , described in Usage of an AsyncStore to cancel pending queries.

      const aborter = new AbortController();
      store.query({name: "Test"}, { signal: aborter.signal })
          .then((resultItems)=>{
           ...
          }, (e)=>{
            if (e.name === "AbortError"){
                // aborted
            }
      })
      // trigger abort
      aborter.abort();
    • The class ct/mapping/store/MapServerLayerStore is replaced by a new class LayerStore in the agssearch bundle. The LayerStore class is stored with an ArcGIS FeatureLayer instance and is therefore consistent with the map content. The agssearch bundle now creates LayerStore instances by default in the AGSStoreFactory class and the AutoStoreRegistration and AGSStore configuration options. The old behavior can be restored during the transition phase with the legacyImplementation option.

    • The use of data-template-window and data-template-window-events in template files will not be supported in the future. Instead, make window definitions in manifest.json files.

    • The following classes will be removed in one of the next releases:

Deprecated class Alternative

ct/array

native JavaScript Funktionen

ct/async

apprt-core/async

ct/_when

apprt-core/when

ct/_compare

apprt-core/comparators

ct/mapping/store/MapServerLayerStore

AGSStoreFactory.createStore

ct/store/_RestStore

store-api/rest/BaseWriteableRestStore

ct/store/ComplexMemory

store-api/InMemoryStore

ct/store/ComplexQuery

store-api/ComplexQuery

ct/store/ComplexQueryEngine

store-api/utils.createComplexQueryEngine

ct/store/ComplexQueryToRQL

store-api/rest/RQLStore

ct/store/ComplexQueryToSolrQL

store-api/rest/ComplexQueryToSolrQL

ct/store/ComplexQueryToSQL

store-api/rest/ComplexQueryToSQL

ct/store/Filter.filterMetaData

store-api/utils.mergeMetadata

ct/store/RQLStore

store-api/rest/RQLStore

ct/store/SpatialQuery

store-api/SpatialQuery

ct/store/SQLStore

store-api/rest/SQLStore

ct/store/StoreUtil

store-api/utils

ct/ui/controls/mobile/Drawer

-

Known Limitations

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

Dependencies

  • Esri ArcGIS Maps SDK for JavaScript 4.28.10

  • ArcGIS Arcade 1.24

  • JasperReports 6.20.1

  • Moment.js 2.29.4

  • Vue.js 2.7.15

  • Vuetify.js 1.5.24

Changelog

4.16.0

New Features

MAPAPPS-6911

[Accessibility] Add more specific label text for close and expand button in window toolbar

MAPAPPS-6837

[Accessibility] Improve accessibility of Vuetify chip component

MAPAPPS-6914

[Accessibility] Improve contrast for meta data text in TOC context menu

MAPAPPS-6921

[Accessibility] Improve focus of list element (v-list)

MAPAPPS-6321

[Accessibility] Improve focusing and moving windows by keyboard navigation

MAPAPPS-6908

[Accessibility] Improve screen reader support of measurement widget

MAPAPPS-6576

[Accessibility] Improve focus of buttons, radiobuttons and checkboxes during keyboard navigation

MAPAPPS-6920

[Accessibilty] Improve focus highlight during keyboard navigation in TOC

MAPAPPS-6929

[App Editor] Update monaco editor to 0.44.0

MAPAPPS-6946

[Coordinate Transformer] Update proj4.js lib to 2.9.2

MAPAPPS-6933

[Documentation] Improve Dev Guide around required and optional dependencies

MAPAPPS-6823

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

MAPAPPS-6924

Add "withResolvers" method to apprt-core/Promise

MAPAPPS-6935

Improve styling in JS Registry browser

MAPAPPS-6942

Update dojo to 1.17.3

MAPAPPS-6940

Update vue to 2.7.15

Fixed Issues

MAPAPPS-6687

[Editing] Snapping features are requested from feature layers although source layer is invisible in map

MAPAPPS-6931

[Manager] No feedback if bundle upload fails due to network errors

MAPAPPS-6844

[Popups] No popup shown for MapServer sublayer with custom popupTemplate and unique value renderer

MAPAPPS-6601

[Printing] WMS layer not shown in legend

MAPAPPS-6925

[Result Center] Export to CSV not working if entries have different attributes

MAPAPPS-6934

[Toolset] Icons prefixed with material-design-* are not shown

MAPAPPS-6884

[Vuetify] Slider with thumb stucks to mouse position after moving

MAPAPPS-6820

[Window System] Mobile Safari: Windows with 'fixEdgesInViewPort' causes widget to no longer be fullscreen

MAPAPPS-6928

Bundle not started when optional dependency fails to start

MAPAPPS-6965

Data base caches never remove cached data because of wrong ehcache.xml

MAPAPPS-6950

Importing "esri/widgets/FeatureTable" breaks mobile application

MAPAPPS-6917

Tomcat default servlet may serve UTF-8 encoded files in incorrect encoding

MAPAPPS-6912

Versioning of bundles in app editor also versions bundles defined in property "appservice.default.bundles"