Releases: hajkmap/Hajk
Hajk 3.6 Release Candidate 2
The changelog below reflects only changes made since v3.6.0-rc.1. For a complete list of changes made in the 3.6-series, please check the 3.6 RC1 release notes below.
Changes since v3.6.0-rc.1
- Any query parameters can now be added to requests being made to the NodeJS backend (4ef43ed)
- Missing setting added to admin that allows admins to show/hide the expand arrow in group layers (21dd8cd)
- Search autocomplete handels non-string properties correctly (#765)
- Now providing a simpler way to deploy NodeJS in Windows environments (#776)
- Got rid of the irritating
<br /><br />
tags that showed up in Infoclick override in Admin (#783)
Downloads
Pre-compiled releases
Please see the Assets section below this release notes where you will find the 3 editions that we provide: NodeJS, .NET and Simple.
The setup procedure has not changed, you can refer to the instructions provided for the 3.5 release: https://github.com/hajkmap/Hajk/releases/tag/v3.5.0.
Docker container
The Docker container for 3.6 RC2 can be found on Docker hub or downloaded directly with docker pull hallbergs/hajk:3.6rc2
.
Hajk 3.6 Release Candidate 1
149 commits since 3.5, here's the first release candidate for Hajk 3.6! This release was brought to you by @Hallbergs and @jacobwod . Please see the list of commits for all contributors.
Please note that this release has a breaking change regarding how search sources behave. See below for more info.
The change log follows as well.
Breaking changes
Search sources must be selected in map config
Search sources must be selected explicitly in each map config in order to be active. In 3.5 and prior releases, if no search sources were selected in admin all became active in a given map configuration (empty layers
array ment that all defined searchSources
were used). The behaviour is now changed, please refer to this discussion for background. #748
Before: (prior to 3.6) none selected meant that all were active.
After (i.e. since 3.6): if no search source is selected, none will be active.
New syntax for FeatureInfo conditional rendering
The new syntax is something like:
{{if foo={fooValue}}}Render only if foo has some specific value{{/if}}
Please refer to #745 for more info and background. Also, the documentation in Wiki is updated with this new syntax, so you can use that too.
New features
- Coordinate plugin rewritten. User can now enter coordinates and navigate to them, My location and Clear buttons added. Possibility to set map center position on first load so it's never empty. #482
- Print plugin gains new functionality. Possible to set margin, default color, copyright- and disclaimer-text etc. Scalebar and surrounding text has been reworked to improve readability. #724
- Anchor plugin now has a button to open generated link in new tab. #742
- InfoClick, Sort feature items by attribute #709
- Added OpenLayer minZoom and maxZoom possibilities to WMS layers. #703
Bug fixes
- Fixed issues with snackbar, opacity slider, disabled viewport zoom etc to enhance the mobile experience.
- Fixed bug on Chrome Android that made it impossible to input text.
- And a lot of other fixes.
Downloads
There are multiple ways to get the latest Hajk up and running. For the first time ever, we even provide a Docker container!
Pre-compiled releases
This time we have three different version 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
Hajk 3.5
Summary
With 1404 commits since 3.2 and 476 files edited this release is packed with new features and bug fixes all over the place. 🚀
The highlights and new features sections below do not make justice to the amount of work put into this release. For a complete list of changes, refer to the pull requests with label v.3.5.0
.
Pre-compiled releases
This time we have three different version of the pre-compiled solution (scroll down for download links):
The NodeJS and .NET editions contain backend as well as a admin applications.
The Simple edition release does not contain any backend or admin applications - it's a pure static solution where the client application is driven by the JSON files.
Node JS edition
Pre-requirements: Any OS with Node 12 or greater
- Unpack the zip file
cd hajk-v.3.5.0-nodejs
npm install
npm start
- Go to
localhost:3002
for the client app - Administration: use the full-fledged admin UI located on
localhost:3002/admin
. (There's even an API explorer, check outlocalhost:3002/api-explorer
for the OpenAPI Specification of backend.)
Simple edition (no backend or admin)
Pre-requirements: Any OS, any web server
- Unpack the zip file
- Copy the contents of
hajk-v.3.5.0-simple
directory to your web server of choice - Hajk is now available on the specified path/port of your web server (refer to your web server's setup)
- Administration: edit the
simpleMapConfig.json
andsimpleLayersConfig.json
to configure your map
.NET edition
Pre-requirements: Windows with IIS
- Unpack the zip file
- To install the solution on IIS, please refer to this documentation.
Changelog
Check out the closed issues for the 3.5 milestone for a detailed list of changes since the last release.
New features
- Completely new backend written in NodeJS, supporting ActiveDirectory authentication, a new consolidated loading procedure, among other features 🎰 (#556)
- Completely rewritten, modular, scalable, high performing search module. 🔍 (#150)
- Revamped UI (#600) 💎
- Support for dark mode 🕶️ (#601)
- Snap interaction for vector sources for all plugins 🖌️ (#592)
- Up to date with latest dependencies, including React 17 🥇 (#613)
Highlights
New search component
Import KML files by drag-and-drop
Snap interaction for vector-layers
Explore the backend API with the OpenAPI UI
Hajk 3.2
Summary
233 commits since 3.1, a lot of bug fixes and loads of long-awaited, new features. Here's Hajk 3.2!
As usual, please download hajk320.zip from assets below unless you want to compile your own components.
Note: The following lists are based on closed issues for the 3.2 milestone.
New features
- Major cleanups in admin (#356, #397, #401, #415, #416, #417, #420, #421, #422, #424, #432)
- Preset plugin added as a button among other Controls (i.e. zoom buttons) (#323), now also respects layers parameter (#342)
- Information plugin converted to a button, placed among Controls as well (#341)
- Possible to set single tile for WMS 1.3.0 too
- Possible to configure color and size of search marker (#361)
- Rotate Control added (#368)
- It is now possible to select text in some plugins' Windows (Informative, Infoclick) (#375, #383)
- Initial refactoring of Search model (#369)
- Introduction guide for new users added (#398)
- Drawer visibility is saved between sessions using LocalStorage(#426)
- Completely new client-based Print plugin added (#433)
- OpenStreetMap is now an optional background layer
Important changes
- Potentially important fixes in how Hajk's build due to changes in underlying components (Create React App), 0eeb0fd.
Bugfixes
- Possible to control which WFS sources are used when searching, on each map config (#335)
- Better sizing of GetLegendGrahpics in LayerSwitcher (#329)
- Search results list properly displays all defined fields (#333)
- No duplicate (hidden) render of Search box (#347)
- Better z-index between plugins Windows and search box (#343)
- Possible to type labels as expected in Draw (#296)
- Fix to KML import (#334)
- Improved handling of 'geom' when editing in WFS (#372)
- Better Windows management (#285)
- Correct saving of WFS features even if "Return bounding box with every feature" is ticked in GeoServer (#380)
- Better placement of snackbar from Coordinates on mobile screens (#352)
- Search results colors now follow theme (#387)
- LayerSwitcher visual improvements (#382)
- Search visual improvements (#386, #396, #374)
- Correct title in Infoclick Window when sublayer of a LayerGroup is clicked
- Infoclick visual improvements (#389)
- No scroll bouncing (#390)
- Possible to override info click per map (#395)
- Correct handling of &-character in group names (#391)
- Better UI when PDF creation fails in Export (#413)
- Correct handling of paste in Rich Editor in Admin (part of Informative) (#414)
- No crash when exporting group layers (#430)
Highlights
New client-based Print
Hajk 3.2 marks the release of a major new feature which a lot of users have been asking for. The new print, although recently begun, already features better performance and some functionality that doesn't exist in the previous Export modul.
Major cleanups in Admin
Better organised, easier to administer. Only available in Hajk 3.2 and forwards. 🚀
Step-by-step feature introduction
Even tough everyone will see the search box in Hajk, some more advanced features might appear as "hidden" for new users. To guide them and introduce them to the web app's features, a new introduction guide has been added. It's based on IntroJS. There's a Wiki page that describes this experimental feature and how to configure it (nb: not enabled by default!).
OpenStreetMap added
It's now extremly easy for administrators to add OpenStreetMap to the list of background layers. The option can be found in map settings.
Preset plugin
Long-awaited plugin has now not only been ported but also completely rewritten, in order to fit Hajk 3 philosophy.
Hajk 3.1
Summary
3.0 was released just a couple of weeks ago, but we've already seen some long-awaited features being added to master
, so it's time to let more users try them out. Here's 3.1, with clean
mode that allows for easy embedding of Hajk maps, among other features.
As usual, please download hajk310.zip
from assets below if you don't want to compile your own components.
New features
- Added Clean mode. Add
?clean=true
to the URL string and get rid of most UI elements. (8a4129e) - Clean mode contains a new UI element,
MapResetter
, that adds a "Home" button to the UI. When clicked,center
andzoom
are reset to their respective starting values. (9a5a16c) - Major rewrite of Anchor plugin. Now with support for Clean mode. (b0128ce)
- Max amount of search results returned is now configurable in admin. (8b31fa4)
- Cookie message configurable in admin. (a7a04a5)
- Experimental: A download button next to a layer's name (in LayerSwitcher) makes it possible to download layer as KML. (See commit message for info on how to activate this experimental functionality: 2091d74.)
Bug fixes
- The two tabs in LayerSwitcher are now sticky, which means they're visible even when user scrolls down the layers' list. (5b8cfa4)
- MapSwitcher checkbox in admin is now visible regardless of the activation of AD functionality. (646271c)
geom
field's name is now being read properly from settings. Previously the name was hard-coded so the optional value supplied in admin was never used, resulting in errors for data tables with geometry column named differently.- Unnamed (faulty) layers are now clickable (and removable) in admin. (6762f5a)
- Coordinate plugin now updates values properly (45535bd)
Hajk 3
Summary
Finally, the long-awaited, complete re-write of the webGIS client called Hajk is here! 🎁 🎉
Since the first commit of what would be Hajk 3 on June 14th 2018 (229 days ago!) we've seen 1,091 commits and have changed 922 files. 🚀
The result is a modern webGIS application, built on top of solid components (React, OpenLayers, Material UI). The interface supports all devices and screen sizes and the UI is highly customizable. Customization takes place in a separate admin
application, which means there's no need to edit lengthy config files anymore!
Hajk is built with flexibility in mind. Different functions are placed in separate plugins and as an administrator you can easily enable and disable plugins. It's also super-easy to completely exclude plugins at build stage. This way you can create a slimmed-down version of Hajk with only the functionality you really need.
Download
There's a pre-compiled release that you can download below (hajk300.zip
). Installation instructions can be found in Hajk's wiki.
Screenshots
A lot of Hajk's functionality comes as plugins. Below you'll find some screenshots that show off some of the features of Hajk.
Export to PDF
Select an area, choose size and resolution and export the map to PDF, using the Export plugin.
Intuitive search tool
Customize which layers are searchable in the administration GUI, then use the search box as you would in any other web app.Speed and responsiveness
Discover the amazing responsiveness that Hajk offers, even with hundreds of layers visible.Draw and export to KML
Draw, measure and edit objects on the map. When you're done, export your objects as KML and share with your friends (who can import the KML's back into Hajk!).Navigation directions
Navigate to your point-of-interest using the Navigation plugin.Support for editing WFS layers
Add, move and delete any type of geometries. Edit existing fields and add data to WFS using the Edit plugin.Text-to-map connection
Connect text with the map, show and hide layers depending on which chapter the user is currently viewing, and more, with the Informative plugin.
Hajk 3 Release Candidate 1
Summary
45 commits during the last 11 days, see full comparison here.
Most bugs are closed and it's time we step up the testing effort. This release candidate contains some known issues (see below), but most of the rough edges should've been polished by now.
Know issues
Following major issues remain unsolved:
- Toggle all does not work for group layers and groups that only have other groups as children
- When snackbar in Coordinates plugin closes, it also closes any other snackbars that might be visible
- Search mark remains on object even after layer has been hidden
- Counter of found areas in Search does not correspond to the actual amount of areas found
- User documentation is not complete
Changes since beta 3
-
Core:
- WMS Layers now display loading failed indicator if OpenLayer fails to load tile
- Drawer is now accessible even if Search plugin is disabled in config
- Map extent behaves better with different scales. Option in admin to set
constrainOnlyCenter
on a per-map-basis. - Admin can now select whether Drawer should be visible/locked when Hajk first loads
-
Plugins:
- A completely new, rewritten Navigation plugin added
- Coordinate plugin with basic functionality added
- Export plugin works now (has been broken for some time)
- Subtle changes to Informative plugin, better UI
-
Backend:
- Updated NuGet packages
- NuGet packages removed from checked in code
- EDP Vision integration added. This is also the first "plugin" to MapService, as EDP's dependencies have been isolated.
-
Miscellaneous:
- First steps towards documenting using JSDoc have been taken
propTypes
added on all Core components – still a lot of work remains to properly document the other parts of code- README.md extended with sections on Design guidelines, API documentation and a link to user documentation in Wiki.
- Dummy plugin improved with more and better comments and clearer examples
- Cleanups all over the place
Hajk 3 beta 3
Hotfix release: beta 2 had an unusually named method, .getGetFeatureInfoUrl()
which doesn't exist in OpenLayers 6. This release fixes it and infoclick now works as expected.
For a complete list of changes since beta 1, refer to beta 2 release.
Hajk 3 beta 2
Summary
We've seen 278 commits since v3.0.0-beta.1 back in July.
There are huge changes, both when it comes to the UI, as well as code. We're also getting closer to 3.0, so it's high time to encourage more users to try it out now, before the 3.0 release.
Some of the big changes
- No more AppBar (fd4a737)
- Complete rewrite of how Plugins render their buttons and Windows
- Improved Window management, a lot of common functionality lifted to BaseWindowPlugin class
- Search plugin rewritten
- OpenLayers 6
- And much more… see v3.0.0-beta.1...v3.0.0-beta.2 for a complete list of commits.
What's left
According to https://github.com/hajkmap/Hajk/milestone/1, at the time of writing there are some issues left:
- Some related to LayerSwitcher (#283, #226)
- Some related to Search (#261, #260,#150)
- Coordinate plugin is not done yet (#144)
- Tests and documentation need more work (#236, #235)
Screenshots
Hajk 3 beta 1
Why a release now?
The major rewrite of Hajk, known as Hajk 3, has been going on for almost a year now.
During the last month we have seen a lot of major bugs, some of which longstanding, being solved and fixed, including:
- #215 (WMS sublayers in group layer styled with wrong style)
- #234 (ScaleLine in map)
- Attributions (copyright info) now show in map (b5ba3a5 & 1ed80dc)
- More user friendly UI by adding tooltip to MapSwitcher (01f2775) and toolbar plugins (08fbbec)
- Buffer plugin works with drawn objects again (e8e097c)
- Initiated rewrite of some components to maximize usage of MUI features (#247)
- Some additions to
new-client
that will help understand administrators what certain settings do and where they show in client UI (d7f5d34 & 5444fc0)
Because of the current status, I feel it's a good time to actually tag a pre-release. I think it's time to sum up the recent development. Also, this gives us a reference point for further discussion.
Please note that I did not bother with creating a pre-compiled build. This beta version is intended for developers who know how to git pull && npm start
their environments.
What's left?
Refer to https://github.com/hajkmap/Hajk/milestone/1 for an up-to-date list.
At time of writing, issues left can be summed up to the following:
- Bring LayerSwitcher to a stable state, even if it won't include all features we wish for.
- Some fixes in Search. As with LayerSwitcher, it won't have everything that's in the roadmap to begin with. But some features (such as export of search results) should probably be taken care of before the 3.0 release.
- Plugin that displays selected coordinates has not been developed yet (#144)
- Minor fixes such as current scale indicator in map (#233)
- Bugs (#218 & #230)
- Documentation (#235) and testing (#236)