Release Notes 4.17

What’s New

Tomcat 10 Support

This release is the first release to support Tomcat 10. It is no longer possible to use Tomcat 9 from this version onwards. Details are described in this article: Tomcat 10 and Java 21 support in con terra Technologies products

Update Notes

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

Not required database index

Please delete the database index apps_groupname_idx, it is not required, because the columns already part of an unique key index.

Update of the APP_ASSETS table when using Microsoft SQL Server

If you are using a Microsoft SQL Server as the map.apps database, an additional migration step is necessary. In the table APPS_ASSETS the type of the column ID has been changed from binary(255) to binary(16). Please execute the script updater-app-assets-table-sqlserver.sql to make the changes.

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.17.0

New Features

MAPAPPS-6968

Drop not required db index "apps_groupname_idx"

MAPAPPS-6967

Suppress warning log on empty post body

MAPAPPS-6825

Support Java 21

MAPAPPS-5909

Support Tomcat 10

Fixed Issues

MAPAPPS-6974

Usage of SimpleDateFormat in multiple threads causes request errors

MAPAPPS-6973

[Apps-Overview] No proper Filter Labels are shown

MAPAPPS-6966

Login at Portal with flag oauthUsePopup = true is not working

MAPAPPS-6948

[Toolset] Wrong position after browser width change

MAPAPPS-6943

[Accessibility] Selection UI - no keyboard control in topic selection list while using NVDA