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