[Oskari-user] Oskari 2.13.0 released!

Mäkinen Sami sami.makinen at maanmittauslaitos.fi
Mon Mar 18 08:59:46 PDT 2024


Good news everyone,

We have released a new version of Oskari: 2.13.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/.

We have continued improving the mobile support on geoportal views, but the biggest changes in this release are the full rewrite of the statistical data/thematic maps UI and removing the requirement for the bundled in GeoServer for user generated content. There are some minor changes that need to be done for applications when updating to the latest Oskari, but it's all described on the Migration Guide (https://github.com/oskariorg/oskari-server/blob/master/MigrationGuide.md). The main thing is that you can shutdown the GeoServer that was bundled in with Oskari, the size of our binary distribution package dropped to almost half from the size it was (~330 -> ~170MB) and setting up and maintaining Oskari-based services is once again a bit simpler.

Release Notes
Oskari-frontend

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

Improvements for mobile devices / small screens

  *   Adding a marker now only shows one popup at a time making it more usable on small screens/mobile devices.
  *   Marker and measurement tools now automatically hide the main navigation on geoportal when used on small screens to show more of the map when these tools are activated.
  *   The XY-tool now detects if the user has a mouse-controller and hides the "show coordinates at mouse location" toggle if mouse is not detected.
  *   The main navigation on geoportal now shows a scroll indicator to signal that there's more content on the navigation than fits the end-users screen. This helps users find functionalities that don't fit on their screen and are not familiar with the UI to know where to search them.
  *   Banner-announcements are now more usable on small screens and work better with dark themes (#2481<https://github.com/oskariorg/oskari-frontend/pull/2481>).
  *   The announcements tile in geoportal main navigation is now hidden on small screens when there are no announcements to be listed.
  *   The UI for browsing sparse timeseries data like historical ortophotos has been improved for small screens: #2565<https://github.com/oskariorg/oskari-frontend/pull/2565>
  *   Pinch zooming the page (outside the map/in the main navigation or flyout/popup content) on mobile devices can result the user losing access to part of the UI (usually the main navigation) as its rendered outside the device physical screen after pinch zooming. We now try to detect this condition and offer a button for reseting the page zoom when this happens. This is experimental and unfortunately doesn't seem to work on all devices (notably not working on iOS based devices). See #2534<https://github.com/oskariorg/oskari-frontend/pull/2534> for more details.

Other improvements for end-users

  *   Swipe tool for comparing layers side by side can now be published as part of an embedded map. Options are to add the tool, auto-activate it on startup (this can also be activated with a URL-parameter) and hide the UI (the end-user can't switch the tool off).
  *   Link tool includes the URL-parameter for activating the swipe tool when opening the link if the swipe tool was active when a link was generated.
  *   The swipe tool now uses the accent color from theme for the splitter color instead of always being the default yellow color.
  *   My data user details now shows account creation date and last login date.
  *   Again fine-tuned tooltips when dragging layers on selected layers listing.
  *   Layer coverage area can now be shown on the map. This is useful for locating content on the map when the layer content is on a smaller area. Relies on service capabilities/metadata to be correct on the service itself (#2429<https://github.com/oskariorg/oskari-frontend/pull/2429>).
  *   Fixed the map legend tool selection for embedded maps in publisher not being saved correctly. The map layer legends button can now be used on embedded maps again.
  *   Reverse geocoding search now zooms the map to show results more clearly.
  *   Announcements are now polled by the frontend to allow showing any new announcements that have been added/scheduled to be shown after the page has been loaded and/or when the page has been left open for a long time without refreshing the page (#2519<https://github.com/oskariorg/oskari-frontend/pull/2519>).
  *   Fixed an issue where opening an infobox on the map while panning the map resulted in the map moving to weird locations (mostly reproducible with wmts-layers #2523<https://github.com/oskariorg/oskari-frontend/pull/2523>).
  *   Markers can now be edited and removed by clicking on a marker when the marker tool is active.
  *   Coordinates can now be included on a PDF-printout (#2537<https://github.com/oskariorg/oskari-frontend/pull/2537>).
  *   Coordinates info can now be included on the infobox UI (#2566<https://github.com/oskariorg/oskari-frontend/pull/2566>). Requires activating it on the database for any appsetups that wish to show the coordinates.
  *   Reversed map layers legends listing order for consistency/matching the layer order on selected layers.
  *   Fixed an issue with infobox header not growing with the content (#2577<https://github.com/oskariorg/oskari-frontend/pull/2577>)
  *   Text selection now uses theme colors
  *   Timeseries UI now supports theme colors

Admin functionalities

  *   Layer admin now has a new tab for JSON-configuration fields (options/attributes/capabilities). This also adds UI for managing the params-field for layers (#2438<https://github.com/oskariorg/oskari-frontend/pull/2438>).
  *   Layer admin permissions tab now always shows the column headers on screen even when there are roles that require scrolling.
  *   Layer admin can now show the structure of the service when adding layers from a WMS-service: #2542<https://github.com/oskariorg/oskari-frontend/pull/2542>
  *   Layer admin now allows selecting a geometry type for vector layers. This cleans up the style editor for both admins and end-users by hiding for example point and area style forms from layers that only have lines etc.
  *   Layer admin now has a UI for managing vector layer hover-styling (#2439<https://github.com/oskariorg/oskari-frontend/pull/2439>). Previously managed through JSON-based free text fields.
  *   Button for adding announcements is now on the top of the announcements list instead of being at the bottom so it's easier to find when there are multiple announcements and for being more consistent for example with the layer admin tools.
  *   User admin (admin-users bundle) now has swedish localizations and shows a nicer message for empty search result
  *   admin-permissions bundle now tries to maintain scroll position after permission change. This makes it more user-friendly as toggling a permission doesn't reset scrolling back to top.
  *   WMS-layers that offer GetFeatureInfo in JSON-format now benefit from the same formatting improvements as vector layers when looking at the GFI data on the infobox. The layer admin UI for selecting/renaming properties and format values that is available for WFS-layers has not been added for WMS-layers but it's now technically possible to use the same formatting for these kinds of WMS-layers and even by default is usually looks better than the default HTML returned by services (#2525<https://github.com/oskariorg/oskari-frontend/pull/2525>).
  *   Optional metadata url: #2594<https://github.com/oskariorg/oskari-frontend/pull/2594> Allows admin to configure a layer specific url for fetching the layers metadata through layer.attributes. This only supports showing the metadata for the layer. It doesn't add support for searching from multiple metadata services.

New bundles

  *   metadatasearch is a React-based drop-in replacement for jQuery-based metadatacatalogue for searching metadata. Requires db migration as well as linking the new implementation on main.js as the bundle id changed, but the old version is also still available.
  *   featuredata is a React-based drop-in replacement for jQuery-based featuredata2 for feature data table. This was included in the last release as an optional preview version but is now working as intended and good for replacing the old one. This also adds pagination for results to make it usable in the case where the screen is full of features. It also adds a toggle for condensed view to show more rows on screen at once even when feature property values might have very long content. Requires db migration as well as linking the new implementation on main.js as the bundle id changed, but the old version is also still available.
  *   personaldata bundle has been removed from the source code. The drop-in replacement is the mydata bundle that has been available for a couple of releases already. Requires linking the new implementation on main.js as the bundle id changed.
  *   statsgrid has a full React rewrite for thematic maps/statistical data functionality #2599<https://github.com/oskariorg/oskari-frontend/pull/2599>. Requires linking the new codebase (oskariorg/sample-application#33<https://github.com/oskariorg/sample-application/pull/33>), but doesn't require db migration since bundle id remains the same. This makes it easy to switch the implementation to test it out.

For developers

  *   Added Oskari.util.mouseExists() for detecting if user has a mouse present. This can be used to determine if we should hide UI-elements based on mouse like showing coordinates for pointer hovering the map (See XY-tool<https://github.com/oskariorg/oskari-frontend/pull/2422>).
  *   New component under mapping/mapmodule/MapModuleTextButton for allowing text-based buttons on map that respect theming etc. Similar to MapModuleButton which handles icons, but this one is for buttons with text.
  *   Moved layertype icons from layerlist to src/react/components/icons/LayerIcon.jsx so they can be accessed more easily from anywhere.
  *   The publisher functionality now has generic ReactToolsPanel and ToolsHandler for React-based publisher tools.
  *   The publisher size setting panel has been rewritten with React.js
  *   Added support for vertical scrollbar in React-based Flyouts (#2491<https://github.com/oskariorg/oskari-frontend/pull/2491>).

Oskari-server

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

Bundled GeoServer removed

  *   myplaces and userlayer (= user-generated) content is now managed directly through the database connection without a need for a GeoServer to be run with oskari-server.
  *   analysis functionality still uses GeoServer to make the analysis, but most instances don't use the analysis functionality so the bundled in GeoServer has been dropped from the download package.
  *   Removed code related to initializing the bundled in GeoServer like the setup.war webapp and geoserver-rest-client.
  *   See Migration guide<https://github.com/oskariorg/oskari-server/blob/master/MigrationGuide.md> for details about removing the GeoServer from an existing Oskari instance.

New functionality

  *   Printouts can now include coordinates.
  *   Added support for reverse geocoding for the OpenStreetMap search channel.
  *   URL-parameter swipe=true can now be used to active layerswipe functionality on startup (on applications using layerswipe).

Statistical data sources

  *   Statistical data adapter for SotkaNet now uses absValue for the indicator data from the API if any result doesn't have a value so user can get some data on screen instead of an error.
  *   Improve region set matching for SotkaNet adapter for detecting data for hyvinvointialue/wellbeing services counties.
  *   Made cache keys for statistical data consistent so it's easy to flush cached data from redis by using key-prefix oskari:stats:[data source id]*.
  *   Removed the unused service-statistics-kapa module from statistics-data plugins. It was developed as PoC for allowing multiple data sources to be read using adapters but there is no known data source that would use this (developed against mock service) and we have actual data sources with PXWeb and SotkaNet that are used daily and demonstrate this.

New bundles

Drop-in React-based replacements for jQuery implementations:

  *   metadatasearch -> metadatacatalogue
  *   featuredata2 -> featuredata

Both are allowed to be part of embedded maps by the publisher functionality and we also added layerswipe and announcements bundle to the default allowed list for publishing.

Improved error handling

  *   Users now have created and last login timestamps on the db. Previously the user attributes was used to store these with instance specific code, but to make querying easier its best to have them in columns in the database. Custom login implementations should be updated to use these database columns as we now show the last login for the end user. For more details: https://github.com/oskariorg/oskari-server/pull/1000/files
  *   Improved identifier headers that are sent as part of requests made by oskari-server. Previously the User-Agent header could result as Oskari/null. Now defaults to Oskari/0.0 if we are unable to determine the version.
  *   Fixed srid value in postgis for userlayer features (#1005<https://github.com/oskariorg/oskari-server/pull/1005>).
  *   Improved error handling while parsing layer capabilities to prevent an issue where the server might not start properly when running migrations that add layers from services that are unavailable during the migration (oskariorg/sample-server-extension#55<https://github.com/oskariorg/sample-server-extension/pull/55>).
  *   When querying for GFI, the server now checks if the user has permission to see the layer. Previously the GFI request was passed to the server without a check so knowing a layer id and a coordinate where features on that layer would be could possibly be used to handcraft a request that by-passes authorization for that layer.

Library updates

Note! Apps will need to update these dependencies as well (See Migration guide<https://github.com/oskariorg/oskari-server/blob/master/MigrationGuide.md>).

  *   Now uses HikariCP as built-in connection pool instead of BasicDataSource from commons-dbcp2
  *   Spring 5.3.28 -> 5.3.32
  *   Spring security 5.7.9 -> 5.7.11
  *   Spring session bom 2021.2.2 -> 2021.2.3
  *   org.apache.commons.commons-lang3 3.13.0 -> 3.14.0
  *   org.apache.commons.commons-text 1.10.0 -> 1.11.0
  *   org.apache.commons.commons-dbcp2 2.9.0 -> 2.11.0
  *   org.apache.pdfbox.pdfbox 2.0.24 -> 2.0.30
  *   org.apache.xmlgraphics.fop 2.3 -> 2.9
  *   org.apache.poi.poi-ooxml 4.1.2 -> 5.2.5
  *   commons-csv 1.8 -> 1.10.0
  *   commons-codec 1.15 -> 1.16.0
  *   jsoup 1.16.1 -> 1.17.2
  *   jackson 2.15.2 -> 2.16.1
  *   mybatis 3.5.13 -> 3.5.15
  *   flywaydb 9.12.0 -> 9.22.3
  *   Postgres jdbc 42.6.0 -> 42.7.2
  *   SLF4J 1.7.36 -> 2.0.11
  *   Log4J2 2.20.0 -> 2.22.1
Happy updating,
        Sami

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


More information about the Oskari-user mailing list