Releases: hajkmap/Hajk
Hajk 3.14.0
315 commits and changes across 931 files since the most recent stable release, 3.12.1 – here's Hajk 3.14.0! This packaged release was brought to you by @Hallbergs and @jacobwod, with contributions from multiple coders. Please see the list of commits for all contributors.
This release marks the final build of the 3.x branch. Enjoy! (For an overview of planned development, refer to the project's roadmap.)
Additionally, this release represents a significant milestone for Hajk, as it includes the removal of the legacy V1 API (/api/v1/*
endpoints in the backends). Both backends shipped with this release are now API V2-compatible. This introduces some adjustments that you, as an administrator, need to consider when migrating – see Breaking changes below.
Hajk 3.14 is packed with new features, bug fixes, and security improvements. 🔒
Scroll down to find a comprehensive list of changes! 🚀
Breaking changes
- This release marks the removal of the legacy V1 API (
/api/v1
) in both the NodeJS backend and the old .NET 4.5 backend. Client UI is now V2-compatible only, requiring the consolidated loading method. Please review and update your configuration, both for Client and Admin. For details, refer todocs/migrate-to-v2-api.md
. - This release marks the deprecation of certain plugins that have either been replaced by new solutions or transformed into community plugins. For more information, refer to
docs/deprecated-plugins.md
. - Although not a breaking change per se, it fits well here: the repository has been restructured. All applications (Client, Admin, and Backend) can now be found in the
apps/
directory. Thenew-
prefix has been removed from app names. Some shell scripts now live inscripts/
, and the majority of Docker-related files, except for the official Dockerfile, have been moved into theDocker/
directory. PR: #1488. - Upcoming breaking change: this is the last release with official support for multiple backends (NodeJS and .NET). Hajk's upcoming 4.x-series will focus on the NodeJS backend, dropping official support for the .NET backend.
Changelog
In this release, we have aggregated the changes that occurred between the v3.13.3
and v3.13.25
tags, as well as the changes introduced in this v3.14.0
tag. If you want to know exactly when each change was introduced, you can refer to the Changelog.
For a comprehensive list of commits, please visit this link.
Added
- Admin: It is now possible to easily duplicate map configurations using the UI. #1502.
- Admin: Support for the EPSG:5847 in Admin UI. Keep in mind that you still need to add appropriate projection definitions to each map config.
- Backend (.NET): The new .NET 6 backend. Issue: #1210. PR: #1395.
- Backend (NodeJS): Added
/fir
endpoints. This functionality requires the myCarta FR Direkt service. #1416 - Backend (NodeJS): Added possibility to use Authorization token in FME Server proxy. #1530.
- Backend (NodeJS): Another method of gaining AD groups has been added. It's possible to circumvent the current solution (where Backend talks to the LDAP server) if one's setup allows for getting the AD groups elsewhere (i.e. from a proxy if setup on IIS). #1439
- Backend (NodeJS): More logging options in
.env
. Also, we now save 14 old log files by default (was 1 before). #1421 - Backend (NodeJS): Respect nested
visibleForGroups
within tool options. #1438 - Backend (NodeJS): Show 403 Forbidden rather than 500 if access was not allowed. 90b1725
- Client Core, Admin: Added support for stand-alone GeoWebCache WMS Server. Issue: #1469, PR: #1493.
- Client Core: A new error page is displayed if Hajk fails on the initial load. The new page also shows a Reset button, which may fix common loading errors by cleaning up the client's state. Commit
- Client Core: Added a confirmation dialog that shows on window close. It informs the user about unsaved changes (in e.g. Measurer or Sketch) that will be lost. #1403
- Client Core: Allow to specify map config by using
m
query parameter, even when no backend is active. commit - Client Core: CSS classes added for certain elements, allows for more granular custom styling. See also this discussion. PR: #1497.
- Client, Admin: it's now possible to configure the Search tool so that it starts with the search field in focus. #1424
- Client: It is now possible for admins to make the side drawer permanent (i.e. not hidable by user). #1316, #1367.
- Client: LayerSwitcher now indicates which groups have enabled layers by styling those groups with a bold font. #1257
- CookieNotice: It's now possible to revisit the cookie notice and change your preference #1125
- CookieNotice: The cookie notice dialog now appears at the top of other dialogs and pop up windows. PR: #1521.
- Coordinates: in addition to changing the icon's name (URL), it is now also possible to set icon's scale and anchor values. PR: #1499.
- Coordinates: It's now possible to copy and paste coordinates from/to both coordinate inputs (N & E, longitude & latitude). PR: #1506.
- Deployment: Added Dockerfile making it possible to deploy "Hajk-simple" on OpenShift using S2I. PR: #1487.
- DocumentHandler - possible to save documents inside subfolders. #1402
- Edit: Allow setting a
geometryField
for edit layers with no features. #1447 - Edit: the Simple Edit Workflow, as described in #1377
- FIR: Allow comma-separated search and multiline search. #1461
- Infoclick: Highlight in collection view. #1472
- Infoclick: New filters. #1443
- Infoclick:Added the possibility to change icon background in feature list, #1385
- Infoclick:The HTML
target
attribute is now accepted and rendered correctly if specified, #1389 - LayerSwitcher: It is now possible to auto-rotate the Map to a admin-specified value. Useful for layers with photos taken in different directions. #1451
- LayerSwitcher: It is now possible to disable unused tabs in LayerSwitcher, e.g. only show the Background layers tab. #1431
- LayerSwitcher: Some text field inputs for layer groups now allows HTML code. #1518.
- LayerSwitcher(Client)/Groups(Admin): It's now possible to add and show information about a layer group. #400.
- LayerSwitcher/Admin: Administrators can configure a link for each layer. The link will be visible in LayerSwitcher's metadata part. #1387
- Measurer: It is now possible to perform perpendicular measurements by using a modifier key (Ctrl or Cmd, depending on the OS) #1361
- Print/Anchor: It's now possible to generate QR codes in Share and Print. #1482
- Project: Added CHANGELOG.md to the project
- PropertyChecker: Expanded the plugin to also utilize Digital Plans by adding a second tab with an own list as well as another report.
- PropertyChecker: New plugin - this release marks the first Public Beta of PropertyChecker. See #1360. There's also a README included in the plugin's directory, make sure to read it in order to successfully setup this plugin.
- Sketch: Allow changing point size. #1373
- Sketch: It is now possible to buffer from the Sketch plugin. #1310
- Sketch: It's now possible to disable stroke for polygons and circles #1177
- Sketch: Rotate drawn objects. #1455
- Sketch: The user now has the option to reset to default styling and choose from a wider range of colors in the color picker; additionally, black and white options have been added. #1372
- TimeSlider: It's now possible ...
Hajk 3.14 Release Candidate 1
311 commits and changes across 930 files since the most recent stable release, 3.12.1 – here's Hajk 3.14! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release represents a significant milestone for Hajk, as it marks the removal of the legacy V1 API (/api/v1/*
endpoints in the backends). Both backends shipped with this release are now API V2-compatible. This introduces some adjustments that you, as an administrator, need to take into consideration when migrating – see Breaking changes below.
This release is also packed with new features, bug fixes, and security improvements. 🔒
Scroll down to find a comprehensive list of changes! 🚀
Reporting period
We're looking forward for your the results of your tests with this release candidate. Please use the dedicated discussions thread and report your findings. We're accepting test reports until August 27th, 2024.
Breaking changes
- This release marks the removal of the legacy V1 API (
/api/v1
) in both the NodeJS backend and the old .NET 4.5 backend. Client UI is now V2-compatible only, requiring the consolidated loading method. Please review and update your configuration, both for Client and Admin. For details, refer todocs/migrate-to-v2-api.md
. - This release marks the deprecation of certain plugins that have either been replaced by new solutions or transformed into community plugins. For more information, refer to
docs/deprecated-plugins.md
. - Although not a breaking change per se, it fits well here: the repository has been restructured. All applications (Client, Admin, and Backend) can now be found in the
apps/
directory. Thenew-
prefix has been removed from app names. Some shell scripts now live inscripts/
, and the majority of Docker-related files, except for the official Dockerfile, have been moved into theDocker/
directory. PR: #1488. - Upcoming breaking change: this is the last release with official support for multiple backends (NodeJS and .NET). Hajk's upcoming 4.x-series will focus on the NodeJS backend, dropping official support for the .NET backend.
Changelog
In this release, we have aggregated the changes that occurred between the v3.13.3
and v3.13.25
tags, as well as the changes introduced in this v3.14.0
tag. If you want to know exactly when each change was introduced, you can refer to the Changelog.
For a comprehensive list of commits, please visit this link.
Added
- Admin: It is now possible to easily duplicate map configurations using the UI. #1502.
- Admin: Support for the EPSG:5847 in Admin UI. Keep in mind that you still need to add appropriate projection definitions to each map config.
- Backend (.NET): The new .NET 6 backend. Issue: #1210. PR: #1395.
- Backend (NodeJS): Added
/fir
endpoints. This functionality requires the myCarta FR Direkt service. #1416 - Backend (NodeJS): Added possibility to use Authorization token in FME Server proxy. #1530.
- Backend (NodeJS): Another method of gaining AD groups has been added. It's possible to circumvent the current solution (where Backend talks to the LDAP server) if one's setup allows for getting the AD groups elsewhere (i.e. from a proxy if setup on IIS). #1439
- Backend (NodeJS): More logging options in
.env
. Also, we now save 14 old log files by default (was 1 before). #1421 - Backend (NodeJS): Respect nested
visibleForGroups
within tool options. #1438 - Backend (NodeJS): Show 403 Forbidden rather than 500 if access was not allowed. 90b1725
- Client Core, Admin: Added support for stand-alone GeoWebCache WMS Server. Issue: #1469, PR: #1493.
- Client Core: A new error page is displayed if Hajk fails on the initial load. The new page also shows a Reset button, which may fix common loading errors by cleaning up the client's state. Commit
- Client Core: Added a confirmation dialog that shows on window close. It informs the user about unsaved changes (in e.g. Measurer or Sketch) that will be lost. #1403
- Client Core: Allow to specify map config by using
m
query parameter, even when no backend is active. commit - Client Core: CSS classes added for certain elements, allows for more granular custom styling. See also this discussion. PR: #1497.
- Client, Admin: it's now possible to configure the Search tool so that it starts with the search field in focus. #1424
- Client: It is now possible for admins to make the side drawer permanent (i.e. not hidable by user). #1316, #1367.
- Client: LayerSwitcher now indicates which groups have enabled layers by styling those groups with a bold font. #1257
- CookieNotice: It's now possible to revisit the cookie notice and change your preference #1125
- CookieNotice: The cookie notice dialog now appears at the top of other dialogs and pop up windows. PR: #1521.
- Coordinates: in addition to changing the icon's name (URL), it is now also possible to set icon's scale and anchor values. PR: #1499.
- Coordinates: It's now possible to copy and paste coordinates from/to both coordinate inputs (N & E, longitude & latitude). PR: #1506.
- Deployment: Added Dockerfile making it possible to deploy "Hajk-simple" on OpenShift using S2I. PR: #1487.
- DocumentHandler - possible to save documents inside subfolders. #1402
- Edit: Allow setting a
geometryField
for edit layers with no features. #1447 - Edit: the Simple Edit Workflow, as described in #1377
- FIR: Allow comma-separated search and multiline search. #1461
- Infoclick: Highlight in collection view. #1472
- Infoclick: New filters. #1443
- Infoclick:Added the possibility to change icon background in feature list, #1385
- Infoclick:The HTML
target
attribute is now accepted and rendered correctly if specified, #1389 - LayerSwitcher: It is now possible to auto-rotate the Map to a admin-specified value. Useful for layers with photos taken in different directions. #1451
- LayerSwitcher: It is now possible to disable unused tabs in LayerSwitcher, e.g. only show the Background layers tab. #1431
- LayerSwitcher: Some text field inputs for layer groups now allows HTML code. #1518.
- LayerSwitcher(Client)/Groups(Admin): It's now possible to add and show information about a layer group. #400.
- LayerSwitcher/Admin: Administrators can configure a link for each layer. The link will be visible in LayerSwitcher's metadata part. #1387
- Measurer: It is now possible to perform perpendicular measurements by using a modifier key (Ctrl or Cmd, depending on the OS) #1361
- Print/Anchor: It's now possible to generate QR codes in Share and Print. #1482
- Project: Added CHANGELOG.md to the project
- PropertyChecker: Expanded the plugin to also utilize Digital Plans by adding a second tab with an own list as well as another report.
- PropertyChecker: New plugin - this release marks the first Public Beta of PropertyChecker. See #1360. There's also a README included in the plugin's directory, make sure to read it in order to successfully setup this plugin.
- Sketch: Allow changing point size. #1373
- Sketch: It is now possible to buffer from the Sketch plugin. #1310
- Sketch: It's now possible to disable stroke for polygons and circles #1177
- Sketch: Rotate drawn objects. #1455
- Sketch: The user now has the option to reset to default styling and choose from a wider range of colors in the color picker; additionally, black and white options have been added. [#1372](https://github.com/hajkmap/Hajk/i...
Hajk 3.12.1
This release fixes an issue where images in the DocumentHandler
could be printed with incorrect sizing.
As usual, we have prepared three different versions of the pre-compiled solution:
The release is also available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
For complete release notes, please see 3.12.0
Hajk 3.12
214 commits and changes in 163 files since the 3.11 release – here's Hajk 3.12! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings a lot of improvements both in Client and the NodeJS backend.
There are of course upgrades to the latest dependencies that ensure that your Hajk setup is up-to-date when it comes to the latest security patches. 🔒
Continue reading for a details list of changes! 🚀
Breaking changes
As of #1332, The NodeJS backend requires Node v16.10 or greater. However, it is recommended to always use the latest NodeJS LTS, which at time of writing is v18.
Changes since Hajk 3.12 Release Candidate 2
The fix for #1314 had to be reverted since the fix was not compatible with some configurations.
Major new features
Live app state in URL's hash
#1252 adds a new major function: everything the user does in Hajk is kept in a portion of the URL called query string (sometimes called URL hash, due to it's leading character being a #
).
What to expect
As users interacts with the map, URL changes:
Skarminspelning.2023-06-07.kl.12.23.12.mov
Benefits
The main benefits are:
- if browser is set to restore tabs on start, Hajk will remember its latest state (visible layers, location, zoom level, active search string, and more)
- user has the option to easily add bookmarks to "favourite" maps, kind of creating own theme maps
- it is super-easy to share whatever is visible with e.g. a colleague, without invoking the Anchor plugin. Just copy the URL and send.
How to activate
The goal is to make this new functionality the new default way that Hajk works (perhaps even require it). But currently, we will phase-in it. You, as an admin, must manually enable it on maps.
You can find the switch in Admin UI:
Another option is to test it without any changes in the config. To do that, just add the appStateInHash
parameter to your existing URL in the search query portion (the part after a ?
, e.g. http://localhost/?m=map_1&enableAppStateInHash
).
PLEASE NOTE: The two methods of enabling this functionality are not related. If you enable the setting using Admin UI, you don't need to add anything to the URL.
Additions to the TimeSlider
The TimeSlider plugin now allows for quarterly steps. We've also added functionality allowing the user to step one step at the time.
Additions to the Infoclick window
It is now possible to use custom URIs in the InfoClick-window.
Configurable drawer icon
The DocumentHandler
drawer button icon can now be configured in the admin interface.
Bookmarks plugin cookie verification
Before storing data in localStorage
, the plugin now verifies if it has the user's permission to use cookies.
Zoom level indicators update
Both checkboxes and Snackbars
will now appear consistently for both individual layers
and group layers
when activated outside their specified zoom level.
Changelog
For closed issues marked with the 3.12 milestone, see this.
For a complete list of commits, see this.
New features and bug fixes
#1338, #1330, #1329, #1326, #1323, #1319, #1309, #1289, #1269, #1280, #1268, #1267, #1266, #1265, #1264, #1258, #1252, #1243, #1219, #1202, #1342, #1344, #1336, #1328, #1334, #997, #1308, #1302, #1301, #1294, #1305, #1286, #1282, #1278, #1277, #1274, #1324, #1292, #1272
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
What's Changed
- Feature/1219 configurable drawer button by @linusfj in #1255
- Added functionality for adding frame around image in admin by @OlofSvahnVbg in #1251
- Feature/1099 infoclick parse xml by @linusfj in #1256
- Fix/1258 extend feature info support by @Hallbergs in #1262
- Feature/1269 props as filter args by @jesade-vbg in #1271
- Feature/1252 control hajk programatically by @jacobwod in #1272
- Feature/1267 refactor bookmarks plugin by @linusfj in #1270
- Feature/1264 bookmarks cookies verification by @linusfj in #1283
- Feature/1268 accordion blockqoute by @OlofSvahnVbg in #1279
- Feature/1243 new measure tool by @jesade-vbg in #1292
- Feature/1280 print scale bar update by @OlofSvahnVbg in #1293
- Fix that closes #997. Its now possible to specify image (and other st… by @jesade-vbg in #1313
- feature/1309: API version separation in NodeJS backend by @jacobwod in #1318
- Reinstated cacheBuster to new-client by @jesade-vbg in #1324
- Feature/PrintAttachmentsMerge by @OlofSvahnVbg in #1322
- Getting custom fonts to work in DocumentHandler Print. by @jesade-vbg in #1327
- Feature/1329 timeslider additions by @Hallbergs in #1331
- bug fix - Feature/print attachments merge by @jesade-vbg in #1333
- Make the Backend fully ESM compatible, remove Babel by @jacobwod in #1332
- Potential fix for #1320: by @jacobwod in #1337
- Fix/1291 snackbar group layers by @linusfj in #1304
- Feature/1319 open desktop app in infoclick by @Hallbergs in #1341
- Feature/1338 anchor bug fix by @OlofSvahnVbg in #1339
- Feature/orebro tsm 2 by @Sunix71 in #1281
Full Changelog: v3.11.0...v3.12.0
Hajk 3.12.0 Release Candidate 2
211 commits and changes in 161 files since the 3.11 release – here's Hajk 3.12! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings a lot of improvements both in Client and the NodeJS backend.
There are of course upgrades to the latest dependencies that ensure that your Hajk setup is up-to-date when it comes to the latest security patches. 🔒
Continue reading for a details list of changes! 🚀
Breaking changes
As of #1332, The NodeJS backend requires Node v16.10 or greater. However, it is recommended to always use the latest NodeJS LTS, which at time of writing is v18.
Changes since Hajk 3.12 Release Candidate 1
A bug was discovered regarding the timing of proxy initialisation in the NodeJS backed. This could lead to the FME proxy not being initiated as intended. This problem is fixed in 45565ae which is included in RC2.
Major new features
Live app state in URL's hash
#1252 adds a new major function: everything the user does in Hajk is kept in a portion of the URL called query string (sometimes called URL hash, due to it's leading character being a #
).
What to expect
As users interacts with the map, URL changes:
Skarminspelning.2023-06-07.kl.12.23.12.mov
Benefits
The main benefits are:
- if browser is set to restore tabs on start, Hajk will remember its latest state (visible layers, location, zoom level, active search string, and more)
- user has the option to easily add bookmarks to "favourite" maps, kind of creating own theme maps
- it is super-easy to share whatever is visible with e.g. a colleague, without invoking the Anchor plugin. Just copy the URL and send.
How to activate
The goal is to make this new functionality the new default way that Hajk works (perhaps even require it). But currently, we will phase-in it. You, as an admin, must manually enable it on maps.
You can find the switch in Admin UI:
Another option is to test it without any changes in the config. To do that, just add the appStateInHash
parameter to your existing URL in the search query portion (the part after a ?
, e.g. http://localhost/?m=map_1&enableAppStateInHash
).
PLEASE NOTE: The two methods of enabling this functionality are not related. If you enable the setting using Admin UI, you don't need to add anything to the URL.
Additions to the TimeSlider
The TimeSlider plugin now allows for quarterly steps. We've also added functionality allowing the user to step one step at the time.
Additions to the Infoclick window
It is now possible to use custom URIs in the InfoClick-window.
Configurable drawer icon
The DocumentHandler
drawer button icon can now be configured in the admin interface.
Bookmarks plugin cookie verification
Before storing data in localStorage
, the plugin now verifies if it has the user's permission to use cookies.
Zoom level indicators update
Both checkboxes and Snackbars
will now appear consistently for both individual layers
and group layers
when activated outside their specified zoom level.
Changelog
For closed issues marked with the 3.12 milestone, see this.
For a complete list of commits, see this.
New features and bug fixes
#1338, #1330, #1329, #1326, #1323, #1319, #1309, #1289, #1269, #1280, #1268, #1267, #1266, #1265, #1264, #1258, #1252, #1243, #1219, #1202, #1342, #1344, #1336, #1328, #1334, #1314, #997, #1308, #1302, #1301, #1294, #1305, #1286, #1282, #1278, #1277, #1274, #1324, #1292, #1272
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
What's Changed
- Feature/1219 configurable drawer button by @linusfj in #1255
- Added functionality for adding frame around image in admin by @OlofSvahnVbg in #1251
- Feature/1099 infoclick parse xml by @linusfj in #1256
- Fix/1258 extend feature info support by @Hallbergs in #1262
- Feature/1269 props as filter args by @jesade-vbg in #1271
- Feature/1252 control hajk programatically by @jacobwod in #1272
- Feature/1267 refactor bookmarks plugin by @linusfj in #1270
- Feature/1264 bookmarks cookies verification by @linusfj in #1283
- Feature/1268 accordion blockqoute by @OlofSvahnVbg in #1279
- Feature/1243 new measure tool by @jesade-vbg in #1292
- Feature/1280 print scale bar update by @OlofSvahnVbg in #1293
- Fix that closes #1314 -dh2.0-large-images-breaks-view by @jesade-vbg in #1315
- Fix that closes #997. Its now possible to specify image (and other st… by @jesade-vbg in #1313
- feature/1309: API version separation in NodeJS backend by @jacobwod in #1318
- Reinstated cacheBuster to new-client by @jesade-vbg in #1324
- Feature/PrintAttachmentsMerge by @OlofSvahnVbg in #1322
- Getting custom fonts to work in DocumentHandler Print. by @jesade-vbg in #1327
- Feature/1329 timeslider additions by @Hallbergs in #1331
- bug fix - Feature/print attachments merge by @jesade-vbg in #1333
- Make the Backend fully ESM compatible, remove Babel by @jacobwod in #1332
- Potential fix for #1320: by @jacobwod in #1337
- Fix/1291 snackbar group layers by @linusfj in #1304
- Feature/1319 open desktop app in infoclick by @Hallbergs in #1341
- Feature/1338 anchor bug fix by @OlofSvahnVbg in #1339
- Feature/orebro tsm 2 by @Sunix71 in #1281
Full Changelog: v3.11.0...v3.12.0-rc.2
Hajk 3.12.0 Release Candidate 1
209 commits and changes in 161 files since the 3.11 release – here's Hajk 3.12! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings a lot of improvements both in Client and the NodeJS backend.
There are of course upgrades to the latest dependencies that ensure that your Hajk setup is up-to-date when it comes to the latest security patches. 🔒
Continue reading for a details list of changes! 🚀
Breaking changes
As of #1332, The NodeJS backend requires Node v16.10 or greater. However, it is recommended to always use the latest NodeJS LTS, which at time of writing is v18.
Major new features
Live app state in URL's hash
#1252 adds a new major function: everything the user does in Hajk is kept in a portion of the URL called query string (sometimes called URL hash, due to it's leading character being a #
).
What to expect
As users interacts with the map, URL changes:
Skarminspelning.2023-06-07.kl.12.23.12.mov
Benefits
The main benefits are:
- if browser is set to restore tabs on start, Hajk will remember its latest state (visible layers, location, zoom level, active search string, and more)
- user has the option to easily add bookmarks to "favourite" maps, kind of creating own theme maps
- it is super-easy to share whatever is visible with e.g. a colleague, without invoking the Anchor plugin. Just copy the URL and send.
How to activate
The goal is to make this new functionality the new default way that Hajk works (perhaps even require it). But currently, we will phase-in it. You, as an admin, must manually enable it on maps.
You can find the switch in Admin UI:
Another option is to test it without any changes in the config. To do that, just add the appStateInHash
parameter to your existing URL in the search query portion (the part after a ?
, e.g. http://localhost/?m=map_1&enableAppStateInHash
).
PLEASE NOTE: The two methods of enabling this functionality are not related. If you enable the setting using Admin UI, you don't need to add anything to the URL.
Additions to the TimeSlider
The TimeSlider plugin now allows for quarterly steps. We've also added functionality allowing the user to step one step at the time.
Additions to the Infoclick window
It is now possible to use custom URIs in the InfoClick-window.
Configurable drawer icon
The DocumentHandler
drawer button icon can now be configured in the admin interface.
Bookmarks plugin cookie verification
Before storing data in localStorage
, the plugin now verifies if it has the user's permission to use cookies.
Zoom level indicators update
Both checkboxes and Snackbars
will now appear consistently for both individual layers
and group layers
when activated outside their specified zoom level.
Changelog
For closed issues marked with the 3.12 milestone, see this.
For a complete list of commits, see this.
New features and bug fixes
#1338, #1330, #1329, #1326, #1323, #1319, #1309, #1289, #1269, #1280, #1268, #1267, #1266, #1265, #1264, #1258, #1252, #1243, #1219, #1202, #1342, #1344, #1336, #1328, #1334, #1314, #997, #1308, #1302, #1301, #1294, #1305, #1286, #1282, #1278, #1277, #1274, #1324, #1292, #1272
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
What's Changed
- Feature/1219 configurable drawer button by @linusfj in #1255
- Added functionality for adding frame around image in admin by @OlofSvahnVbg in #1251
- Feature/1099 infoclick parse xml by @linusfj in #1256
- Fix/1258 extend feature info support by @Hallbergs in #1262
- Feature/1269 props as filter args by @jesade-vbg in #1271
- Feature/1252 control hajk programatically by @jacobwod in #1272
- Feature/1267 refactor bookmarks plugin by @linusfj in #1270
- Feature/1264 bookmarks cookies verification by @linusfj in #1283
- Feature/1268 accordion blockqoute by @OlofSvahnVbg in #1279
- Feature/1243 new measure tool by @jesade-vbg in #1292
- Feature/1280 print scale bar update by @OlofSvahnVbg in #1293
- Fix that closes #1314 -dh2.0-large-images-breaks-view by @jesade-vbg in #1315
- Fix that closes #997. Its now possible to specify image (and other st… by @jesade-vbg in #1313
- feature/1309: API version separation in NodeJS backend by @jacobwod in #1318
- Reinstated cacheBuster to new-client by @jesade-vbg in #1324
- Feature/PrintAttachmentsMerge by @OlofSvahnVbg in #1322
- Getting custom fonts to work in DocumentHandler Print. by @jesade-vbg in #1327
- Feature/1329 timeslider additions by @Hallbergs in #1331
- bug fix - Feature/print attachments merge by @jesade-vbg in #1333
- Make the Backend fully ESM compatible, remove Babel by @jacobwod in #1332
- Potential fix for #1320: by @jacobwod in #1337
- Fix/1291 snackbar group layers by @linusfj in #1304
- Feature/1319 open desktop app in infoclick by @Hallbergs in #1341
- Feature/1338 anchor bug fix by @OlofSvahnVbg in #1339
- Feature/orebro tsm 2 by @Sunix71 in #1281
Full Changelog: v3.11.0...v3.12.0-rc.1
Hajk 3.11
249 commits and changes in 166 files since the 3.10 release – here's Hajk 3.11! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings improvements across all across the solution, with a lot of efforts being put into Print, Sketch, the Search results list, LayerSwitcher and Infoclick/MapClickViewer, to name a few.
There are of course upgrades to the latest dependencies that ensure that your Hajk setup is up-to-date when it comes to the latest security patches. 🔒
Continue reading for a details list of changes! 🚀
Changelog
Breaking changes
None.
(Almost) breaking changes
NodeJS Backend only: The NodeJS edition is now built using the current LTS version, namely Node 18. It brings a lot of new features and optimisations (such as native Fetch
that enables this nice layer verification in Backend). In order to use this new features, you must run the Backend on Node 18.
This is not a truly breaking change though: Hajk will still run on lower Node versions (tested on v14) – but you will not be able to use the new feature from #1227.
Major new features
Improved group layer support for Infoclick/FeatureInfo/MapClickViewer
See #768.
Secondary display fields in search results view (#1167)
Admins can now configure more informative search results lists by utilising the possibly to show more information for each result. The secondary label (or labels) will be shown below the main label, with a smaller font size:
Print: option to add a margin to the printout (#1174)
User can optionally add a margin to the PDF that will be created. There is another option to make the margin large enough for it to hold the norther arrow, title and logo too:
Sketch: possible to change draw order (z-index) of the drawn features (#1176)
Previously Sketch features were placed on map in an order that corresponded to the draw order (most recently drawn features were placed on top).
This is still the default behaviour but this addition allows the user to control the z-index afterwards. This nice UI makes it possible to send features to front/back directly, or to move them one step at a time:
Allow users to change layer draw order (#1086)
A third tab, called Active layers
can now be enabled in LayerSwitcher. This tab makes it possible for the user to rearrange the draw order (a.k.a. z-index) of the layers shown in map. It adds some other goodies too.
Still a new feature that will be polished in future releases, but already a usable addition to our UI.
MapClickViewer gains support for hard-coded values when no good attribute exists (#1126)
Some layers need to be clickable but they may lack informative attribute values for features. This was problematic before, as we needed at least one parameter to create a nice label in MapClickViewer.
With the release of 3.11, admins can hard-code a text string as an attribute value in Admin UI by surrounding the string with double quotations marks:
MarkDown and HTML are now allowed in Announcements (#1161)
We can now create more lively notifications using text formatting and even emojis!
Support for additional, non-latin alphabets in Print, Admin (#1181)
Thanks to the spread of Hajk outside of Sweden, we've discover – and fixed! – a bug related to displaying non-latin characters in some parts of the application. E.g. the PDFs created by Print can now include Cyrillic letters:
DocumentHandler window can now be resized and moved around (#1239)
Previously the DocumentHandler window was limited to being locked to the left side of the screen. With this addition, admins can opt-in to make the window behave just as any Hajk plugin.
Web analytics expanded to also support Matomo (#1143)
Since #1065 we've had support for Plausible. In this release, we also add support for Matomo.
Experimental: list of most recently used plugins (#1171)
This experimental feature adds a button to the bottom of the screen and makes it possible to easily toggle between most recently used plugins:
Changes since Release Candidate 1
The dev team has close some bugs during the RC-phase. Some examples are fixes related to infoclick, Sketch, WMS's GetLegendGraphic (8be67e9) and tool button rendering (fd18477)
For a full list of changes between the RC and release, refer to this diff log.
New features and bug fixes
#883, #915, #1031, #1080, #1093, #1100, #1101, #1108, #1111, #1113, #1114, #1115, #1128, #1129, #1130, #1131, #1132, #1137, #1144, #1145, #1148, #1150, #1155, #1158, #1159, #1160, #1179, #1182, #1186, #1187, #1191, #1193, #1195, #1196, #1200, #1203, #1204, #1206, #1213, #1214, #1215, #1216, #1223, #1224, #1225, #1227, #1231, #1233, #1234, #1245, #1248
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
What's Changed
- Feature/883 layer naming by @jacobwod in #1094
- Allow users to see active layers, control draw order, transparency/toggeling as well as save and restore functionality by @jacobwod in #1116
- Bump Newtonsoft.Json from 5.0.4 to 13.0.1 in /proxy/mvc by @dependabot in #1120
- Bump Newtonsoft.Json from 5.0.4 to 13.0.1 in /proxy/HTTPProxy/Proxy by @dependabot in #1121
- Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /backend/mapservice by @dependabot in #1122
- Bump Newtonsoft.Json from 10.0.3 to 13.0.1 in /backend/EdpConn by @dependabot in #1123
- Bump Newtonsoft.Json from 5.0.4 to 13.0.1 in /proxy/GeoServerProxy/Proxy by @dependabot in #1124
- Bump moment from 2.29.1 to 2.29.4 in /new-admin by @dependabot in #1133
- Bump terser from 4.8.0 to 4.8.1 in /new-admin by @dependabot in #1135
- Bump terser from 5.12.1 to 5.14.2 in /new-client by @dependabot in #1136
- Add options and MUI5 upgrades in Geosuite plugin by @linusfj in #1134
- Feature/1101 information to activate location by @linusfj in #1119
- Added possiblity for the user to set a custom print-scale. by @Hallbergs in #1140
- Feature/915 custom hdpi by @jesade-vbg in #1141
- Upgrade UI for Coordinates plugin by @linusfj in #1138
- Feature/1150 infoclick multiply by by @jesade-vbg in #1151
- Bump async and async in /new-client by @dependabot in #1142
- Bookmark Removal Confirmation by @OlofSvahnVbg in #1157
- Fix/1115 admin wms projection by @linusfj in #1164
- Feature/1160 sketch replace warning by @OlofSvahnVbg in #1166
- feature/1143 analytics matomo by @jesade-vbg in #1168
- Feature/1145 infoclick xy zoom by @jesade-vbg in #1163
- Added support to mimic proxyBaseUrl in GeoServer by @maan002 in #1170
- Fix automatic zoom on mobile devices by @linusfj in #1169
- Feature/1093 new dummy plugin by @Hallbergs in #1173
- Added a plugin-template by @Hallbergs in #1175
- Feature/1171 plugin history by @jacobwod in #1180
- Feature/1174 print marginal by @OlofSvahnVbg in https://github.c...
Hajk 3.11 Release Candidate 1
236 commits and changes in 164 files since the 3.10 release – here's Hajk 3.11! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings improvements across all across the solution, with a lot of efforts being put into Print, Sketch, the Search results list, LayerSwitcher and Infoclick/MapClickViewer, to name a few.
There are of course upgrades to the latest dependencies that ensure that your Hajk setup is up-to-date when it comes to the latest security patches. 🔒
Continue reading for a details list of changes! 🚀
Discussion and bug reports
Please use #1254 to report your findings from this release candidate.
Changelog
Breaking changes
None.
(Almost) breaking changes
NodeJS Backend only: The NodeJS edition is now built using the current LTS version, namely Node 18. It brings a lot of new features and optimisations (such as native Fetch
that enables this nice layer verification in Backend). In order to use this new features, you must run the Backend on Node 18.
This is not a truly breaking change though: Hajk will still run on lower Node versions (tested on v14) – but you will not be able to use the new feature from #1227.
Major new features
Improved group layer support for Infoclick/FeatureInfo/MapClickViewer
See #768.
Secondary display fields in search results view (#1167)
Admins can now configure more informative search results lists by utilising the possibly to show more information for each result. The secondary label (or labels) will be shown below the main label, with a smaller font size:
Print: option to add a margin to the printout (#1174)
User can optionally add a margin to the PDF that will be created. There is another option to make the margin large enough for it to hold the norther arrow, title and logo too:
Sketch: possible to change draw order (z-index) of the drawn features (#1176)
Previously Sketch features were placed on map in an order that corresponded to the draw order (most recently drawn features were placed on top).
This is still the default behaviour but this addition allows the user to control the z-index afterwards. This nice UI makes it possible to send features to front/back directly, or to move them one step at a time:
Allow users to change layer draw order (#1086)
A third tab, called Active layers
can now be enabled in LayerSwitcher. This tab makes it possible for the user to rearrange the draw order (a.k.a. z-index) of the layers shown in map. It adds some other goodies too.
Still a new feature that will be polished in future releases, but already a usable addition to our UI.
MapClickViewer gains support for hard-coded values when no good attribute exists (#1126)
Some layers need to be clickable but they may lack informative attribute values for features. This was problematic before, as we needed at least one parameter to create a nice label in MapClickViewer.
With the release of 3.11, admins can hard-code a text string as an attribute value in Admin UI by surrounding the string with double quotations marks:
MarkDown and HTML are now allowed in Announcements (#1161)
We can now create more lively notifications using text formatting and even emojis!
Support for additional, non-latin alphabets in Print, Admin (#1181)
Thanks to the spread of Hajk outside of Sweden, we've discover – and fixed! – a bug related to displaying non-latin characters in some parts of the application. E.g. the PDFs created by Print can now include Cyrillic letters:
DocumentHandler window can now be resized and moved around (#1239)
Previously the DocumentHandler window was limited to being locked to the left side of the screen. With this addition, admins can opt-in to make the window behave just as any Hajk plugin.
Web analytics expanded to also support Matomo (#1143)
Since #1065 we've had support for Plausible. In this release, we also add support for Matomo.
Experimental: list of most recently used plugins (#1171)
This experimental feature adds a button to the bottom of the screen and makes it possible to easily toggle between most recently used plugins:
New features and bug fixes
#883, #915, #1031, #1080, #1093, #1100, #1101, #1108, #1111, #1113, #1114, #1115, #1128, #1129, #1130, #1131, #1132, #1137, #1144, #1145, #1148, #1150, #1155, #1158, #1159, #1160, #1179, #1182, #1186, #1187, #1191, #1193, #1195, #1196, #1200, #1203, #1204, #1206, #1213, #1214, #1215, #1216, #1223, #1224, #1225, #1227, #1231, #1233, #1234, #1245, #1248
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
What's Changed
- Feature/883 layer naming by @jacobwod in #1094
- Allow users to see active layers, control draw order, transparency/toggeling as well as save and restore functionality by @jacobwod in #1116
- Bump Newtonsoft.Json from 5.0.4 to 13.0.1 in /proxy/mvc by @dependabot in #1120
- Bump Newtonsoft.Json from 5.0.4 to 13.0.1 in /proxy/HTTPProxy/Proxy by @dependabot in #1121
- Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /backend/mapservice by @dependabot in #1122
- Bump Newtonsoft.Json from 10.0.3 to 13.0.1 in /backend/EdpConn by @dependabot in #1123
- Bump Newtonsoft.Json from 5.0.4 to 13.0.1 in /proxy/GeoServerProxy/Proxy by @dependabot in #1124
- Bump moment from 2.29.1 to 2.29.4 in /new-admin by @dependabot in #1133
- Bump terser from 4.8.0 to 4.8.1 in /new-admin by @dependabot in #1135
- Bump terser from 5.12.1 to 5.14.2 in /new-client by @dependabot in #1136
- Add options and MUI5 upgrades in Geosuite plugin by @linusfj in #1134
- Feature/1101 information to activate location by @linusfj in #1119
- Added possiblity for the user to set a custom print-scale. by @Hallbergs in #1140
- Feature/915 custom hdpi by @jesade-vbg in #1141
- Upgrade UI for Coordinates plugin by @linusfj in #1138
- Feature/1150 infoclick multiply by by @jesade-vbg in #1151
- Bump async and async in /new-client by @dependabot in #1142
- Bookmark Removal Confirmation by @OlofSvahnVbg in #1157
- Fix/1115 admin wms projection by @linusfj in #1164
- Feature/1160 sketch replace warning by @OlofSvahnVbg in #1166
- feature/1143 analytics matomo by @jesade-vbg in #1168
- Feature/1145 infoclick xy zoom by @jesade-vbg in #1163
- Added support to mimic proxyBaseUrl in GeoServer by @maan002 in #1170
- Fix automatic zoom on mobile devices by @linusfj in #1169
- Feature/1093 new dummy plugin by @Hallbergs in #1173
- Added a plugin-template by @Hallbergs in #1175
- Feature/1171 plugin history by @jacobwod in #1180
- Feature/1174 print marginal by @OlofSvahnVbg in #1183
- Fix/1182 single layer in group qgis server by @jacobwod in #1188
- Fix/1181 cyrillic print support by @Hallbergs in #1189
- Potential fix for #1186 by @ha...
Hajk 3.10
403 commits and changes in 259 files since the 3.9 release – here's Hajk 3.10! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings lots of new features (new Infoclick, better print, a layer comparer, to name a few) and major upgrades (such as MUI 5 and React 18). Continue reading for a details list of changes! 🚀
Changelog
Breaking changes
As of this release Hajk has dropped support for Internet Explorer 11. This is mainly a consequence of the MUI 5 upgrade. If you still need to support IE11, feel free to include the necessary polyfills (see MUI 5 docs) and create custom builds.
Major new features
LayerComparer
View two layers side-by-side, with full map functionality still enabled.
See #687 for more details and the road that got us there.
Print gains full support for high DPI printouts
Finally a working solution that quickly delivers accurate printouts with amazing crisp look and correct scale, even for high DPI. See also #1053.
MapClickViewer: a new infoclick solution
There is now an option (in Admin UI) that can enable a completely new, rewritten from scratch, infoclick (e.g. FeatureInfo) plugin. The main difference compared to the previous solution is that the results are grouped into categories (datasets), similarly as to how it's done in the Search plugin. When multiple results arrive user are now presented with a nice overview and can drill down to the interesting results. In addition, more text can be shown in the initial list, making it possible to create fantastic solutions for problems that previously weren't solvable.
See #1034
MUI 5
This complex and time consuming migration is now completed. Read more on all the benefits and how we got here in #871.
Attribute table for WMS layers
It is now possible to enable (on a per-layer basis) a button that upon click shows the WMS service's attribute table. This is a common operation in many desktop GIS apps and nice to have in this webGIS solution.
Video with demo: https://user-images.githubusercontent.com/110222/158327350-573a37a8-9f09-4141-97ac-6f24f00960db.mov.
See also #595.
Upgrade to React 18
Another important migration to stay on top of the ecosystem. See also #1054.
Support for connecting Hajk with web analytics
The growing need to understand how our users interact with the maps led us to implementing a built-in, opt-in support for the open source, GDPR-compilant analytics solution, Plausible. The system is also ready for implementing support for other services, with some preparations being made for Matomo. See #1065 for more details.
New features and bug fixes
#595, #644, #687, #965, #988, #1001, #1020, #1047, #1053, #1058, #1059, #1060, #1062, #1064, #1065, #1069, #1070, #1072, #1075, #1076, #1077, #1078, #1082, #1084, #1085, #1090
Changes between Release Candidate 1 and Release Candidate 2
- Two LayerComparer bugs as reported in #1103
- Fixes bug where circles could not be moved a set distance, #1104
- FME Server Plugin UI fix (20fadae, a147693)
- Numeric strings could previously disappear in mobile Safari as they got parsed as phone numbers, #1098.
- New feature: admins can control the look and feel of Link elements, #1106
- Correct sizing of images in DocumentHandler, #1105.
- Full list: v3.10.0-rc.1...v3.10.0-rc2
Changes between Release Candidate 2 and final release
- A bug that affected printing in DocumentHandler has been resolved, #1107
- Other bug fixes, including #1127, #1110.
- Full list: v3.10.0-rc2...v.3.10.0
New Contributors
Full Changelog: v3.9.0...v3.10.0
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.
Hajk 3.10 Release Candidate 2
391 commits and changes in 259 files since the 3.9 release – here's Hajk 3.10! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
This release brings lots of new features (new Infoclick, better print, a layer comparer, to name a few) and major upgrades (such as MUI 5 and React 18). Continue reading for a details list of changes! 🚀
Discussion and bug reports
Please use this thread to report your findings from this release candidate.
Changelog
Changes since Release Candidate 1
- Two LayerComparer bugs as reported in #1103
- Fixes bug where circles could not be moved a set distance, #1104
- FME Server Plugin UI fix (20fadae, a147693)
- Numeric strings could previously disappear in mobile Safari as they got parsed as phone numbers, #1098.
- New feature: admins can control the look and feel of Link elements, #1106
- Correct sizing of images in DocumentHandler, #1105.
Breaking changes
As of this release Hajk has dropped support for Internet Explorer 11. This is mainly a consequence of the MUI 5 upgrade. If you still need to support IE11, feel free to include the necessary polyfills (see MUI 5 docs) and create custom builds.
Major new features
LayerComparer
View two layers side-by-side, with full map functionality still enabled.
See #687 for more details and the road that got us there.
Print gains full support for high DPI printouts
Finally a working solution that quickly delivers accurate printouts with amazing crisp look and correct scale, even for high DPI. See also #1053.
MapClickViewer: a new infoclick solution
There is now an option (in Admin UI) that can enable a completely new, rewritten from scratch, infoclick (e.g. FeatureInfo) plugin. The main difference compared to the previous solution is that the results are grouped into categories (datasets), similarly as to how it's done in the Search plugin. When multiple results arrive user are now presented with a nice overview and can drill down to the interesting results. In addition, more text can be shown in the initial list, making it possible to create fantastic solutions for problems that previously weren't solvable.
See #1034
MUI 5
This complex and time consuming migration is now completed. Read more on all the benefits and how we got here in #871.
Attribute table for WMS layers
It is now possible to enable (on a per-layer basis) a button that upon click shows the WMS service's attribute table. This is a common operation in many desktop GIS apps and nice to have in this webGIS solution.
Video with demo: https://user-images.githubusercontent.com/110222/158327350-573a37a8-9f09-4141-97ac-6f24f00960db.mov.
See also #595.
Upgrade to React 18
Another important migration to stay on top of the ecosystem. See also #1054.
Support for connecting Hajk with web analytics
The growing need to understand how our users interact with the maps led us to implementing a built-in, opt-in support for the open source, GDPR-compilant analytics solution, Plausible. The system is also ready for implementing support for other services, with some preparations being made for Matomo. See #1065 for more details.
New features and bug fixes
#595, #644, #687, #965, #988, #1001, #1020, #1047, #1053, #1058, #1059, #1060, #1062, #1064, #1065, #1069, #1070, #1072, #1075, #1076, #1077, #1078, #1082, #1084, #1085, #1090
New Contributors
Full Changelog: v3.9.0...v3.10.0-rc.1
Downloads
There are multiple ways to get the latest Hajk up and running, including Docker container.
Pre-compiled releases
As usual, we have prepared three different versions of the pre-compiled solution (scroll down for download links):
Docker container
The container is available on Docker Hub: https://hub.docker.com/r/hallbergs/hajk
Installation
Refer to our installation guide.