[Oskari-user] Oskari 2.5 Released!

Jeff McKenna jmckenna at gatewaygeomatics.com
Thu Oct 14 05:37:17 PDT 2021


Hi Sami, could you tweet this news now, with the #foss4g hashtag? 
(would be great news to share on the day of FOSS4G-Finland today)

thanks,

-jeff




On 2021-10-13 12:43 p.m., Mäkinen Sami (MML) wrote:
> Good news everyone,
> 
> We released Oskari 2.5.0 today and it is now available on GitHub 
> (https://github.com/oskariorg <https://github.com/oskariorg>) and 
> Oskari.org Maven repository. The sample application package has been 
> updated on the download link in Oskari.org (https://oskari.org/download 
> <https://oskari.org/download>) and http://download.osgeo.org/oskari/ 
> <http://download.osgeo.org/oskari/>. As always you can take a peek at 
> the latest release at https://demo.oskari.org/ <https://demo.oskari.org/>.
> 
> We have a bunch of changes and fixes in the release including a lot of 
> improvements related to performance and vector feature styling. While 
> not mentioned on the release notes you can also find a completely 
> rewritten version of the content-editor bundle in 
> oskari-frontend-contrib repository. The bundle implementation was not 
> compatible with the changes made in 2.4 but is now back and stronger 
> than before.
> 
> 
>   Release Notes
> 
> 
>     oskari-frontend
> 
> For a full list of changes see: 
> https://github.com/oskariorg/oskari-frontend/milestone/33?closed=1 
> <https://github.com/oskariorg/oskari-frontend/milestone/33?closed=1>
> 
> 
>       Improvements to visual vector style editor
> 
>   * Added "empty fill" option for area/polygon type geometries.
>   * Added "butt" option for line-ending options.
>   * Added pre-defined color selection for easier color picking.
>   * Area and stroke/line type geometries now have their own controls for
>     line joins. Previously the settings was shared when editing with the
>     React-based visual style editor.
>   * The new editor is now available for end-users on myplaces layer
>     styling (in addition to layer admin functionality).
> 
> 
>       Style handling for vector layers
> 
> Various changes to style handling implementation like:
> 
>   * Hover styling implementation changed to improve performance and
>     clarify code.
>   * Vector features styles definitions are now available through
>     |AbstractLayer.getStyles()/getCurrentStyle()| with
>     |style.getFeatureStyle()| instead of separate
>     |AbstractLayer.getCurrentStyleDef()|.
>   * Moved end-user UI implementation for vector layer styling to new
>     bundle |userstyle| instead of being built-in to "wfs-support for
>     map" (|mapwfs2| bundle). This enables smaller filesize for embedded
>     maps since the UI is not available to end-users on embedded maps. To
>     keep current functionality you should link |userstyle| bundle import
>     to your geoportal apps:
>     https://github.com/oskariorg/sample-application/pull/17/files
>     <https://github.com/oskariorg/sample-application/pull/17/files>
> 
> 
>       Selected vector features
> 
> New service was added for tracking feature selection. Usage:
> 
> |const service = 
> Oskari.getSandbox().getService('Oskari.mapframework.service.VectorFeatureSelectionService');|
> 
> |// add a feature to current selection|
> 
> |service.addSelectedFeature(layerId, featureId);|
> 
> |// set feature selection for layer replacing current selection|
> 
> |service.setSelectedFeatureIds(layerId, [featureId1, ...featureIdN]);|
> 
> |// remove a feature from current selection|
> 
> |service.removeSelection(layerId, featureId);|
> 
> |// remove all selections from layer|
> 
> |service.removeSelection(layerId);|
> 
> |// remove all selections from all layers|
> 
> |service.removeSelection();|
> 
> |// toggle feature selection in current selection (if already selected 
> -> unselect, otherwise mark as selected)|
> 
> |service.toggleFeatureSelection(layerId, featureId);|
> 
> ||
> 
> |// get a list of ids for features that are selected|
> 
> |const selectedFeatureIds = service.getSelectedFeatureIdsByLayer (layerId);|
> 
> Changes to selection trigger |WFSFeaturesSelectedEvent| like it did 
> before and bundles can react to it like before.
> 
> 
>       Performance improvements
> 
>   * Layer coverage data is no longer part of the layer listing. It is
>     fetched separately when a layer is added to the map. This reduces
>     the file size of layer listing by ~75% and improves performance.
>   * WMTS-layers tile matrix metadata is now provided by the server in
>     JSON-based format and the full capabilities XML is no longer
>     required to be loaded to the frontend. This reduces the amount of
>     data clients need to load and optimizes startup-time and performance.
> 
> 
>       Layer admin improvements
> 
>   * When adding layers from service the layers are now sorted
>     alphabetically in addition to being grouped by "type". Where type is
>     "existing" (already registered as layer), "problematic" (might have
>     problems with layer/projection not supported), "available" (these
>     are the ones you probably are most interested in adding).
>   * Fixed an issue with selecting default style when style name was very
>     long (input was pushed out of view of the user).
> 
> 
>       Other improvements
> 
>   * |MapModulePlugin.MapLayerUpdateRequest| can now be used to force
>     vector layers to refetch the features from service (after for
>     example editing a feature). Previously it was mostly usable for
>     WMS-layers.
>   * Map legends functionality for end-users on geoportal was rewritten
>     with React (embedded maps version still uses jQuery)
>   * Fixed GetFeatureInfo displaying for XSLT formatted responses.
>   * Fixed a visual issue on Firefox with layerlisting.
>   * |layerlist| bundle now closes its flyout on |UIChangeEvent| (when
>     publisher etc functionality is opened by the user).
>   * Modal-component in oskariui now has styling to keep the window on
>     browser viewport and scroll the modal-window content instead of
>     having a page scrollbar for large contents.
>   * WMTS-layers can now be forced to use the wrapX boolean toggle for
>     OpenLayers by having |{ wrapX: true }| in the layer options.
>   * Changed when data is being sanitized for layers. Layer name is no
>     longer sanitized in AbstractLayer.setName(). The UI components
>     showing the name now sanitize the value instead. This might affect
>     application specific extensions to functionalities that rely on the
>     name being sanitized. For jQuery-based UIs this means that you need
>     to call |Oskari.util.sanitize(layer.getName())| or use
>     |jQuery.text(name)| instead of |jQuery.append(name)|. For
>     React-based UI this means that you no longer need to use
>     |dangerouslySetInnerHTML| to show the layer name properly but can
>     use it as is.
> 
> 
>       Library updates
> 
>   * @ant-design/icons 4.2.1 -> 4.6.3
>   * @storybook/react 5.3.18 -> 6.3.7
>   * antd 4.8.5 -> 4.16.13
>   * cesium 1.77 -> 1.84
>   * dompurify 2.0.10 -> 2.3.1
>   * intl-messageformat 2.1.0 -> 9.9.1 (now loaded with npm instead of
>     having a copy under libraries)
>   * Jest 26.0.1 -> 27.0.6
>   * jQuery 3.5.1 -> 3.6.0
>   * lodash 4.17.19 -> 4.17.21
>   * node-sass 4.14.1 -> 6.0.1
>   * moment 2.24.0 -> 2.29.1
>   * OpenLayers 6.4.3 -> 6.6.1
>   * ol-mapbox-style 6.3.1 -> 6.4.1
>   * olcs 2.12 -> 2.13
>   * React 16.13 -> 16.14
>   * Styled-components 5.0.1 -> 5.3.1
> 
> Also tested a migration to Webpack 5, but there's some compatibility 
> issues with Cesium and Webpack 5 that prevented the update for now. Also 
> the testing library enzyme doesn't support React 17 yet so couldn't 
> update React further for now.
> 
> 
>     oskari-server
> 
> For a full list of changes see: 
> https://github.com/oskariorg/oskari-server/milestone/34?closed=1 
> <https://github.com/oskariorg/oskari-server/milestone/34?closed=1>
> 
>   * Layerlisting response from server has been streamlined and some of
>     the layer metadata has been removed like coverage geometry. The
>     frontend handles this internally by fetching the data when needed
>     instead of having it all in the listing response. This reduces the
>     size of the listing response dramatically and improves performance.
>   * New action route DescribeLayer that is currently just used for
>     returning coverage geometry for layer when available. There are
>     plans for doing more with this endpoint. Possibly combining it
>     responses from GetWFSLayerFields and GetLayerCapabilities to a
>     single generic endpoint.
>   * WTMS capabilities are parsed and now stored in JSON format for
>     layers. This enables giving frontend only the tile matrix
>     information it needs for showing the layer for the current
>     projection that is used on the browser. This reduces network traffic
>     and can vastly improve performance for WMTS-services with large
>     capabilities documents. Note! This requires all WMTS-layer
>     capabilities to be refreshed from the server and this is done
>     automatically with an upgrade script as a Flyway-migration.
>   * The common search functionality no longer overrides a zoom scale
>     hint with generic config IF it has been set by a channel.
>   * Default style options for printing vector features have been synced
>     with defaults used on the frontend code.
>   * GetWFSLayerFields route now recognizes WFS attributes of types
>     MultiLineStringPropertyType and MultiSurfacePropertyType as
>     geometries instead of "unknown" type.
>   * New action route VectorFeatureWriter has been added as a replacement
>     for combining existing routes: InsertFeature, SaveFeature and
>     DeleteFeature. The previous ones have been deprecated for removal at
>     a later version. The new endpoint takes GeoJSON as request payload
>     for the feature to be inserted/updated. This route is used by the
>     content-editor bundle under oskari-frontend-contrib repository.
>   * Libraries updated:
>       o Jetty 9.4.39.v20210325 -> 9.4.42.v20210604
>       o jsoup 1.13.1 -> 1.14.2
>       o pdfbox 2.0.16 -> 2.0.24
> 
> Happy updating,
>       Sami
> 
> 
> _______________________________________________
> Oskari-user mailing list
> Oskari-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/oskari-user
> 


-- 
Jeff McKenna
GatewayGeo: Developers of MS4W, MapServer Consulting and Training
co-founder of FOSS4G
http://gatewaygeo.com/


More information about the Oskari-user mailing list