[Oskari-user] Oskari 2.12.0 released!

Mäkinen Sami sami.makinen at maanmittauslaitos.fi
Tue Sep 12 08:18:34 PDT 2023


Good news everyone,

A new version of Oskari has been released: 2.12.0! It is now available on GitHub (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) and http://download.osgeo.org/oskari/. As always you can take a peek at the latest release at https://demo.oskari.org/.

Some very nice improvements for mobile users have been added to the geoportal views. The navigation bar can now be toggled which makes the geoportal... actually usable on smaller screens. The server can now be configured to remove or even add functionality for mobile users which makes it easy to remove problematic UIs from smaller screens (sample app updated with a PR example that shows how to do this for your own instance: https://github.com/oskariorg/sample-application/pull/28) and/or add functionality that only makes sense for mobile users. Admin users are gifted a very comprehensive new user interface for fine-tuning presentation of features from WFS/OGC API Features services and a new UI for granting permissions for layers and improvements to user management.

Release Notes
Oskari-frontend

For a full list of changes see: https://github.com/oskariorg/oskari-frontend/milestone/43?closed=1

Mobile improvements

The geoportal views now allow users with small screens to toggle the main navigation to reveal more of the map UI and the navigation starts hidden on small screens. Server configuration can be used to switch functionalities off or even start new ones when the frontend requests a mobile version. In general the UI has seen a number of improvements for users with small screens.

The specifics:

  *   GetAppSetup route now accepts a new parameter than can be used to fine-tune mobile functionalities (mobile=Oskari.util.isMobile()). This triggers handling of server-side configuration as described here: oskariorg/oskari-server#995<https://github.com/oskariorg/oskari-server/pull/995>
  *   The divmanazer bundle now initializes a new plugin/button on the map on small screens that allows the user to toggle the navigation on and off. This helps users to work with the UI on mobile devices and small screens in general.
  *   New functions in Oskari.dom -> showNavigation(bln), isNavigationVisible() and getNavigationEl() that can be used to toggle and query the main navigation state.
  *   The FullScreenPlugin that does a similar thing to the new plugin also detects mobile mode and removes itself from the screen on "mobile mode" to prevent having two very similar functionalities on the map at the same time. The FullScreenPlugin does more to hide any additional elements on the page, but hiding such elements on small screens should be the responsibility of the page Oskari is rendered to.
  *   Plugins at the bottom part of the map now flow a bit better on smaller screens (layout improvement so plugins don't overlap each other).
  *   Tooltips work better on small screens now.
  *   Popup placement works better on small screens now.
  *   Map layer legend is now scaled to fit better on small screens (added a link to open the legend on a new browser tab for zooming purposes)
  *   The metadataflyout no longer shows the "Actions" tab for metadata when it is used on embedded maps as the actions on the tab don't really make sense/work on embedded map setting.
  *   The zoombox tool is no longer shown when the geoportal is started on a small screen/"mobile mode"
  *   The marker form now works better on small screens

Map layer management and admin improvements

We now have a very nice UI for fine-tuning how WFS-layers should be presented for the end-users! Admins now have an actual UI to:

  *   select what properties to show/hide and in which order (even based on end-user language)
  *   filter out features based on property values
  *   style features based on property values
  *   localize and rename properties
  *   select a formatter for values of properties

All of these could already be done with a JSON config, but it was previously hard to use and maintain without the UI. The admin can also select geometry type for a layer so for example style editor can show only relevant parts of the form based on the geometry type and the value is defaulted based on layer capabilities.

Another new functionality is that the admin can now select a feature property to act as unique identifier for features on a WFS-layer. This helps with layers where features have a property that can be used as unique identifier for features, but the service providing the data is configured to generate feature ids instead of using a persistent one. Features with autogenerated ids can result in for example the featuredata showing like there are multiple features on the same location even if there should be only one (since feature id can't be used to determine duplicates).

There is also a new implementation for the admin bundle for settings layer permissions (admin-permissions bundle replacing admin-layerrights). This is a React.js based UI with similar look and feel to the permission settings on map layer admin, but offers a way of setting permissions for multiple layers at once. The new UI provides paged results instead of a long list and has built-in search functionality.

The regular layer listing functionality (layerlist bundle) now allows admin users to search layers by layer id and technical name in addition to the name, data provider and group name accessible by other users. This makes it easier for admins to find a specific layer that is for example referenced on server logs.

Improvements to user management:

  *   The user managements bundle (admin-users) now starts without a config using default values
  *   Added validation to frontend to make adding/editing users more user-friendly
  *   Added a view to list users by role to make it easier to find users with specific role

React migration progress

  *   BackgroundLayerSelectionPlugin has been rewritten using React.js and now looks and feels a bit different, but also works better on small screens
  *   Added more features to the React.js based featuredata bundle that will eventually replace the current jQuery based featuredata2 bundle
  *   featuredata exposes a new request Featuredata.ShowFeatureDataRequest for opening the feature data table for given layer
  *   Refactored layer list group/theme and data provider popups to use React.js based popups instead of jQuery ones.
  *   Session expiration popups has been refactored from jQuery to React.js based UI: #2347<https://github.com/oskariorg/oskari-frontend/pull/2347>
  *   Replaced enzyme with testing-library to make it easier to move to newer React versions in the future. At this time the AntD icons library blocks upgrading to React 17.

Component library changes

  *   Badge component now uses/supports theming (and has a new prop color to override the badge color).
  *   Badge now defaults to showing even with zero value (override with prop showZero=false ).
  *   ThemedBadge component removed as the Badge can be used as a drop-in replacement.
  *   Added accept and reject to common icons
  *   Added theme based hover effect for IconButton
  *   InfoIcon now adds margins by default (and has a new prop space=false to prevent margins)
  *   MetadataIcon now checks if the catalogue.ShowMetadataRequest is available in addition to metadata identifier being passed to it to decide if it should render itself.

Other changes

  *   Marker handling refactored
  *   Fixed issues when programmatically hiding/showing markers that were already showing or hidden. Mostly concerns RPC usage.
  *   Fixed GetFeatureInfo functionality when the map has been rotated (previously didn't take rotation in to account when querying for data).
  *   Revised tests for RPC-functionalities and updated the Jasmine test library 2.5.2 -> 5.1.0
  *   Fixed issues on coordinate tool configuration on the publisher functionality
  *   Fixed an issue with language selection on the publisher functionality
  *   The admin UI for selecting announcements for an embedded map on the publisher functionality now has the option to hide the announcements UI on the embedded map (for using announcements programmatically).

Oskari-server

For a full list of changes see: https://github.com/oskariorg/oskari-server/milestone/47?closed=1

User management

  *   Added param for Users route to get users by role.
  *   Added paging for user queries to make user management usable on instances with a lot of users
  *   GetAllRoles route has been deprecated since a more recent ManageRoles route basically does a better job for the same thing.
  *   Frontend now receives a simple boolean flag if user is admin or not. Role name for admins can change between instances and now frontend has easy way of detecting admins.

Layer permissions

  *   Added new route for getting and changing layer permissions LayerPermission.
  *   Replaces GetPermissionsLayerHandlers that is now deprecated and will be removed in future release.
  *   Replaces SaveLayerPermission that is now deprecated and will be removed in future release.
  *   Output format/more details: #973<https://github.com/oskariorg/oskari-server/pull/973>

GetAppSetup route

  *   The instance default vector style is now sent as part of the `GetAppSetup`` response.
  *   Markers are now sent as templates with placeholders instead of hardcoded colors. This removes duplicated processing of markers in server / frontend.
  *   Now accepts url-parameter mobile with boolean value. The server can be configured to add or remove bundles depending on this value to make mobile experience more user-friendly by removing functionality that doens't work well on mobile/small screens. Configuration described in: #995<https://github.com/oskariorg/oskari-server/pull/995>

DescribeLayer route

  *   Added metadata about attributes available on WFS layers.
  *   Added configuration of attributes like renaming, hiding and reordering properties and for formatting attribute values.
  *   Added a simple type for layer geometry that allows optimizing frontend based on the geometry type (point/line/polygon).

Other changes

  *   Fixed an axis order issue on VectorFeatureWriter: #976<https://github.com/oskariorg/oskari-server/pull/976>
  *   Reduced unnecessary logging when a vector service doesn't respond with JSON/GML.
  *   Allowed WMTS tile matrices to be passed to frontend even if there is no exact match for CRS. This allows OpenLayers to reproject the layer with proper configs: #991<https://github.com/oskariorg/oskari-server/pull/991>
  *   Added order attribute for custom annotated components to control the initialization order: #992<https://github.com/oskariorg/oskari-server/pull/992>. Can be usedto fix issues where one component needs to be initialized before another.
  *   Added new bundle registrations:
     *   featuredata (React.js replacement for current jQuery impl featuredata2)
     *   admin-permissions (React.js replacement for current jQuery impl admin-layerrights)

Updated dependencies

  *   Jetty 9.4.48.v20220622 -> 9.4.51.v20230217
  *   GeoTools 28.2 -> 28.4
  *   Spring 5.3.27 -> 5.3.28
  *   Spring security 5.7.8 -> 5.7.9
  *   Spring session 2021.2.0 -> 2021.2.2
  *   Jackson 2.13.4 -> 2.15.2
  *   JSoup 1.15.3 -> 1.16.1
  *   Log4J 2.17.1 -> 2.20.0
  *   SLFJ2 1.7.32 -> 1.7.36
  *   commons-lang 3.12.0 -> 3.13.0
  *   MVT 1.3.22 -> 1.3.23
  *   h2 2.1.210 -> 2.2.220
  *   GeoServer extensions updated 2.19 -> 2.22.4

Happy updating!

         Sami


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/oskari-user/attachments/20230912/f293520c/attachment-0001.htm>


More information about the Oskari-user mailing list