What's New
The latest updates and information on how to install them are available for download from Latest Downloads.
Information on the upcoming release is available from Pending Release.
You should update to at least 2.6.4.11 and run the “redline setcrs” command ASAP to update your existing bookmarks and saved redlines to include the CRS that was used when they were created. If you do not and you try and change the CRS used in a client in the future then the geometry in your existing bookmarks and saved redlines will be invalid. If you have multiple clients that use different CRS’s then contact Cohga for more information.
Note that if you run this command from the Admin UI console the command may take longer than the default timeout for the console and report that the command failed, but it probably did not and it’s just reporting the timeout. This has been updated in 2.6.6 to be clearer on what is happening.
2.6.8.9
Released 2024-10-04
Enhancements
Support SQLServer 2022
Updated the GeoTools SQLServer driver to support SQLServer 2022.
2.6.9.7
Released 2024-09-24
Fixes
Multi-selected layer filter parameters might not work for numeric values
If you’re using map layer filtering and have a multi-select parameter the selected values are always treated as strings which can cause problems where the field in the layer is numeric .
2.6.9.6, 2.6.8.8
Released 2024-05-31
Fixes
Geometry validation is too strict when checking geometry
When submitting geometry to be saved Weave tries to ensure that the geometry is “valid” before it tries to write it to the database but it can be too restrictive and won’t allow geometry that is supported by the database.
2.6.9.5
Released 2024-05-29
Fixes
SQL Server spatial engine still requires host to be set when using url
If you use a URL to specify the database connection for a SQL Server spatial engine you should not need to set the host tag in the connection details but that tag was marked as required so would need to be set even though it was ignored.
2.6.9.4
Released 2024-05-02
Fixes
ArcGIS returning attributes with parenthesis in their name causes problems
ArcGIS can now return attributes for a feature with the names “Shape.STArea()” and “Shape.STLength()” and those are being misinterpreted in the Admin UI as being function calls which results in an error and no data displayed. It also causes problems with spatial data definitions if you don’t explicitly specify the parameters.
Spatial edit converting 0 and 1 to F and T for string parameters
If a string parameter is submitted with a value of 0 or 1 the value will be treated as a boolean and converted to F or T.
2.6.9.3
Released 2024-04-24
Fixes
Weave launcher can not handle array parameters
When using launch.html to launch Weave there is currently no support for parameters that can support and array of values.
3D coordinates in GeoJSON can cause upload problems
When uploading a shapefile to the redline layer if the original shapefile contains 3D coordinates it will not display on the client.
License window conflicts with keyboard navigation fix
If a license panel is used in a client its display conflicts with a fix that resolves issues with keyboard navigation when a window is displayed resulting in the client not opening and the user presented with an error.
2.6.9.2
Released 2024-03-05
Fixes
A warning is logged when the client access user stored data and the user has none
If the browser tries to load some data that can be stored on behalf of the user and that data does not exist the server reports a warning about a Non-JSON response.
Map keyboard navigation can interfere with form fields
When a popup window with text fields is shown in the client and keyboard navigation is enabled for the map if the mouse cursor is over the map the navigation keys, left, right, home, end, etc are captured by the map rather than moving the cursor within the current field on the form.
Coord zoom fails if full extent not set for map view
If the zoom to coords tool is used in a map view that does not have a full extent specified it will fail because it tries to chck the entered coordinates against the full map extent.
isSameOrigin function not using correct expression
The
Weave.PerspectiveMgr
isSameOrigin method has an error when determining if the provided URL is in the same origin.
memd command can take a long time to respond when map has a very large number of CRS's
2.6.9 produces more output related to the supported coordinate reference systems for a map engine, and when map service lists thousands of supported coordinate references systems it can take a very long time to lookup, format and display that information.
Indexes no longer support multiple keywords sets
Before 2.6.9 Index definition could have multiple keywords sets but this was accidentally removed in 2.6.9.
2.6.9.1
Released 2024-01-05
Fixes
Can not handle CQL filters with apostrophes in some situations
If a filter contains ' it needs to be changed to '' before being parsed.
Redline stops working if polygon tool is active when map is resized
If the redline polygon tool is active and the map is resized the redline tools stop working.
Not all metric are being reported
A change in the caching of metrics has resulted in some metrics not being exposed.
Reset button is hidden on search panel when only one search is available
Because of a change to the layout of the search panel toolbar if there is only one search available the entire toolbar is hidden, which includes hiding the reset button.
Audit Edit Configuration checkbox parameter reference returns wrong value
Writing a checkbox value to an audit table does not take care of converting the boolean value to a value supported by the underlying table column type.
ToC description overwritten by map engine description
Setting the layer description in the toc model should override what the map engine provides.
XSS issue in login page
If you're using the obsolete Acegi security login plugin there's a possible cross site scripting vulnerability.
Fix handling of invalid geometry with raster functions
If a user generates invalid geometry raster functions should report an error rather than trying to process the geometry.
2.6.9
Released 2023-11-17
Enhancements
Application integration for TechnologyOne ECM
Implement a document management system plugin that works with TechnologyOne ECM.
Some document api bundles are not using declarative services
There are some document api related bundled that should be updated to DS to make them easier to debug.
Updated metrics to support client metrics
Metrics have been updated to support client side metrics, i.e. recording what tools are used and how long users are using the client.
Allow setting default roles for keycloak
It should be possible in
keycloak.properties
to set adefaultRoles
property to a list of roles that a user should be given if the SAML server does not provide any roles.
Selection collector does not provide a way to specify a limit
The SelectionCollector API (when using a spatial mapping to collect keys) does not provide a way for the caller to specify what limit to use when collecting keys, it will always use the limit set in the spatial mapping.
Progress monitoring not always using the correct methodology
When using the ProgressMonitor API some code is not using the API in the correct manner.
Create a Select All map context menu item
Enhancement request for context menu item to allow selecting all entities.
Allow removal of email domain for keycloak users
Rather than making people configure their SAML id provider correctly I'm providing an option,
stripDomain
, that when set totrue
in thekeycloak.properties
file will remove anything after the last @ in the username returned from SAML.
Client Geometry API does not support named selections
The API allows you to retrieve geometry for a selection, but only the default selection, it should be updated to allow the caller to specify the named selection to use.
Add support for retrieving features via the rest geometry api
The geometry api can retrieve geometry but it would be useful for it to be able to return features, with properties (obtained from a data definition).
Ctrl-S should save editor content in admin ui
When editing a file in the admin us pressing Ctrl-S brings up the browser save window, it should just save the file content.
Support caching of WMS image format mapping
It can take a while to fetch the images to correctly determine the actual image format for a format that a WMS server says that it supports, this becomes a major issue if there are a lot of map services which can make the startup time of the server very long. This update will cache the format mappings per WMS server removing the need to query the same back end multiple times to verify the same information.
Support map engines providing a description for a layer
Some map engines, like WMS, support a "description" for a layer, it should exposed so a ToC model can reference the text rather than requiring the description to be explicitly set in the toc model entry.
Add default toolbar and context menu to ToC panel
Out of the box the ToC panel has no toolbar and the no context menu, so I'm going to set a default toolbar and context menu that contains elements that are suitable for all clients, i.e. are not dependant upon something specific being configured on the server. A toolbar or
contextmenu
tag in the client will override the defaults, so site that have already customised these won't see any change. And they can be removed completely by setting an emptytoolbar
and/orcontextmenu
tag in the panel config.
BIRT log files are not cleaned up
If logging is enabled for BIRT the log files are not removed and can generate a lot of files. During startup old log files should be removed. At the moment I'll keep 10MB of the most recent. I don't want to keep too much because they're now included in a support dump.
BIRT log files should be included in a support dump
The
platform\workspace\.birt\logs
directory content should be included in a support dump, if BIRT logging has been enabled then it should be included.
JDBC Helper class should support sequences in SQL Server
The sequenceExists function currently only support Oracle and Postgres, apparently SQL Server also supports sequences so it should be added to the JDBCHelper class.
Support editing features in SQL Server that use a sequence for key generation
It's possible in SQL Server to have a table where the key for a new row is generated from a sequence, but GeoTools does not currently recognise this, this update attempts to remedy that.
Update YAJSW
The YAJSW library use to provide support for running Weave as a service/daemon should be updated to a newly available release.
Remove final references to scripting on server
Originally the Weave server was able to implement operations written in JavaScript, but that functionality was removed. There are still a small number of places where that can be seen and they will be updated to remove the code.
Display more key bindings in the Admin UI editors
At the moment only three shortcut keys are displayed in the editors, this will be expanded to display other useful shortcuts keys.
Tidy up JSON support library
JdbcHelper class should look for column with different case when adjusting column name
Keycloak logging warning about insecure SAML request
Keycloack security is logging a message saying that authentication is occurring over an insecure connection when all communication should be secure.
Client context is too limited in what can be expressed
When setting a context for a client it currently only supports a comma separated list of the name of the contexts that items should be included from, along with any item that are not assigned to a context, and this is not flexible enough.
Include date/time in generated map image file name
The action
weave.mapimageexport
has been updated to change the default file name frommap.png
tomap.png
.
Weave Map Engine help page needs a Namespace, Tags / Properties section like the other map engines help topics
The Weave Map Engine page needs a Namespace, Tags /Properties section like the other map engines help topics (eg. Map Engine WMS, as shown in attached image). .
Add support for where clauses in related and table edits in non-spatial editing
It needs to be possible to add additional where clauses to non-spatial edits for related and table configs, so the rows available to the user can be filtered if required, for example to only show the rows the user should have access to.
Add selection centroid function to REST geometry API
Add support for fetching the centroid from the server for the current selection.
Improve support for Accept header when generating a map
The server should accept a wildcard image type when the client requests a map image and does not care what format it gets back.
Fix typos in REST storage API Swagger documentation
The Swagger annotations for the REST storage API have a typo.
Search panel selector combo does not autosize
The combo box in the search panel that is used to select which search to perform always has a fixed width, 250px by default but can be configured, but it should resize to fit the available space if the size has not explicitly been set in the config.
GeoJSON output does not always include projection information
Even though the newest GeoJSON spec has removed the projection tag in the world of web clients and grid shifts it's still useful, unfortunately in some situations GeoJSON returned by Weave that is not in CRS:84 does not include the projection information.
OSM map layer in client was causing a local variable to be a gloval variable
Because of a missing var keyword a variable defined when creating a OSM map layer in the client was created as a global variable, not a local one.
Add client function API and implementation
To support creating and calling custom functions a new API must be added allowing plugins to define and implement code that can be called remotely.
Editing redline geometry with a lot of vertices is too slow
If you create/import a redline geometry that has thousands of points then it can cause the browser to have problems trying to handle all the vertices when modifying the geometry, so now anything over 1000 vertices will only allow you to move/rotate the geometry and not modify individual vertices. Setting maxVertices to 0 or false for the Modify tool will disable this, setting it to a number will change the default from 1000.
Only SLD files that define a StyledLayerDescriptor are recognised
Only SLD files that defined a style using THE StyledLayerDescriptor tag were recognised as SLD files but some SLD files don't include that tag so this update will ensure that more SLD files are recognised as such.
Coordinate reference system lookup should check already uses projection first
When looking up the EPSG code for a projection all available projections are searched one by one until a match is found, this update will search the list of already used projections first.
Add retry to ArcGIS REST spatial engine
A flaky ArcGIS REST service can cause issues if it has temporary timeout issues, so we have added a
retry
parameter to the config to tell Weave to retry the request a number of times, the default is 1, for a single retry.
Added support for parsing Weave GeoJSON extensions
While the REST API parser has support for the Circle and Envelope GeoJSON extensions the general GeoJSON parser class does not, so this update will add it.
Add additional logging to report generation
The steps being taken when performing BIRT related operations when generating a report and not logged to a level that can show where delays in report generation are occurring.
Add support for javascript url's when opening a link
Adding support for javascript: url's, along side http:, https: and file:, when opening links in data definition provides additional opportunities to automate Weave functionality.
Add new event for changing selected data in grid panel
Add support for firing a global event, active.data.change, that tells Weave to change the current data displayed in a data panel based on the data/data definition id passed with the event.
Updated handing of paths when processing keycloak SAML requests
A number of places within the Keycloak code that were determining the path of incoming requests have been updated to use common code to ensure the paths are consistent.
Add support for copying content to clipboard in Admin UI
It would be useful for some of the admin tools to be able to copy content to the clipboard so this update will add a right click context menu to some places to allow copying to the clipboard.
Mime utility library is copied to two bundles
A mime utility bundle is used by both the Admin UI bundle and the client upload API bundle but at the moment is part of each bundle, the library should be moved out into its own bundle.
Add more options to script tag in client
At the moment the script tag in the Weave 2 client config is limited to just providing the script source or a link to it, it does not support any of the additional attributes that a full html script tag supports, like async, defer, etc.
Remove stop words from index search
Lucene, the technology behind the Weave index search, has a default set of stop words configured which are not really suitable for use with Weave so they will be removed. They can be added back, or a custom set provided, via Weave configuration.
More detail is required for the log output in the Admin UI
There is additional information recorded in the weave log that is not available in the log viewer in the Admin UI so it should be updated to allow the user to access this additional information.
Provide a way to clear matadata that's cached for a spatial engine
Add a reset option to the spatial engine Admin UI and osgi console spmd command to reset a spatial engine to force it to reload the metadata it has cached from the back end service.
Support changing coordinate order when editing redline or spatial edit points via text
When you create geometry by entering the coordinates textually you're able to specify the ordering of the coordinates and if north is positive, but you can not change those settings if you try and update geometry, which seems like a pointless restriction.
Implement new service tracking API
There a lots of places in the Weave code base where some functionality depends upon the availability of another service, and OSGi provides various methods to do that dependency handling, but for the simple case of a service depending upon one other service that's configured at runtime, e.g. something waiting for a database to become available before it can register it's own functionality, the OSGi coding can become cumbersome. This update is intended to encapsulate the existing OSGi dependency handling into a simple modern API that makes it easy to code the tracking of the availability of a service.
Admin UI file explorer should allow uploading of more than one file at once
Currently you can only select a single file to upload when using the File Explorer tool in the Admin UI, this should be updated to allow more than one file to be selected and uploaded.
Allow filtering of legend entries in map engine config
Add the ability to configure a map engine to tell it to always remove a layer when generating a legend.
Add support for legend aliases to WMS map engine
The ArcGIS map engine has the ability to alter the labels used in a legend, via the aliases tag, this should also be added to the WMS map engine.
ArcGIS SOAP map engine generating large log output
The ArcGIS SOAP map engine is logging the URL's it creates to generate images and in some cases those URL's can be thousands of characters long, making log files very large. This update will truncate the output of those messages.
Admin UI Log tool not handling errors well
When the log messages are not available the client is not useful in helping to resolve the problem.
Include JDBC drivers in installation
Update Weave to include a set of default JDBC drivers. Including Oracle, SQL Server, Postgres, MySQL, HSQLDB and SQLite.
Handle multiple metrics registry providers better
If there are multiple registry providers, e.g. Datadog, Prometheus, InfluxDB or JAMon, installed only one, at random, will work. Only one provider should be installed at a time so now the Weave server will report the situation and shutdown the server.
ToC model should map scale ranges from server information
When building the ToC model the scale ranges for the layers should be fetched from the server and use for the entry if they're available, unless they've been overwritten in the toc entry itself.
Support multi-select field in cascade set in non-spatial edit
Update non-spatial editing to allow the last field in a cascade field set to allow multiple selections.
Updated metrics to be able to report all available metrics
It would be handy to know what metrics are available so this update will enable collection and display of the currently registered metrics.
Add support for flag to trust server certificate for SQL Server spatial engine
SQL Server has started complaining about server certificates, which requires the connection URL to include TrustServerCertificate=true so the SQL Server GeoTools driver is going to be updated to include that flag.
Whole cell is clickable for URL parameters in grid panels
When a URL parameter is rendered in a grid panel the entire cell is clickable and will open the linked URL, rather than just the link being the clickable part.
SQLite sourced data definition unable to use parameter type of 'url'
The SQLite JDBC driver does not support the JDBC \{fn ...} escape functionality which is used by Weave to generate the required content for a URL parameter, so you can't create a data definition that has a URL parameter with an SQLite database.
No support for searching on date columns in SQLite
Since the SQLite JDBC driver does not support the JDBC date/time escape syntax, which is used when inserting dates into SQL statements to make them database agnostic, creating an attribute search that uses dates and times does not work with an SQLite database.
Data definition timeout isn't accurate
Because the timeout used in a datasource data definition is applied per-query and the generation process can occur across multiple queries the timeout set for a data definition can be inaccurate.
Redline toolbar window is resizeable
The redline toolbar window can be resized vertically but it provide no useful benefit and can be disabled.
Disable mouse selection of items in a multiselect list
The mouse can be used to "select" the text in a multiselect list field, rather than selecting the items in the list, this update will disable the ability of the mouse to select the text.
Enable disabling of zoom on refine and remove buttons in grid panel
Add the ability to set zoom='false' for the refine and remove button in the grid panel to stop the buttons from automatically zooming to the selection after they have been used.
Add delete option to redline management tool
Update the redline management window to include a delete button.
Validate XML files saved in the Admin UI File System tool
When editing XML files via the Admin UI Config tool the files are validated when they're saved, but this does not happen when you edit an XML file opened via the File System tool.
Unable to set a spatial edit list parameter to null
Even if you set allowNull to true for a list field in a spatial edit parameter the list will not contain the option to set the value to null.
Add test sub-command to memd osgi command
Having a test command that tries to generate a map image from a registered map engine is a useful addition to help resolve issues with map engines.
Fixes
Login page could fail to load if security bundle is stopped and restarted
Fix log output when spatial mapping is invalid
If the spatial mapping for an entity is misconfigured the log output is just a debug message and is somewhat cryptic.
Fix output for an invalid command in the Admin UI Console
If you send an invalid command to the server from the Admin UI console the response is not clear, the output should be the same as what goes to the regular osgi console.
You can not clear a field value when editing
There's invalid logic in the client that does not send fields to the server if they're empty.
Report timeout not providing message indicating a timeout
It looks like the text for a Ext.js timeout has changed and the client isn't picking up that the report generation has timed out and is just giving a generic failed message.
REST API not filtering entities
The endpoint
services/api/v1/entity/list
is returning all entities, not just those accessible by the current user.
Attribute search on integer field not working unless dataType is set
A parameter in an attribute search that's associated with an integer column fails unless the dataType attribute is set for the parameter.
WMS driver not handing redirect from http to https
If a WMS capabilities document returns http url's but is only accessible via https, and sends redirects to enforce this, the Weave WMS driver does not handle it.
Config processor trying to convert/substitute item namespace
When parsing config items each item goes through a process of conversion, where things like "1234" are converted to integers, and substitution, where things like "${TEST}" are replaced with the value of the TEST variable, this is not supposed to happen for namespaces defined in the config files.
Config parsing fails if xsd namespace is set to https rather than http
If someone changes the url for the xsd namespace in a Weave config file to use https rather than http then type conversion of values will not work.
Keycloak config file is not closed after loading
The keycloak yaml file is not closed when its processed.
Context menu in file system tool not working in admin UI
The menus display but clicking on them doesn't do anything.
HttpHeader parser fails with parameters other than q
The
HttpHeader
support class when used by theAccept
support class fails if there are any parameters in the mimetype other than "q".
ImageEncoding parsing may have problems when depth mode ends in "bit"
Some WMS servers report mode=32bit, rather than just mode=32, as a supported image bit depth, so we should correctly decode that as being an image with a bit depth of 32.
XML formatting in Admin UI does not maintain original file line endings
If you format a file with Windows line endings on a Linux server, or vis-versa, then formatted content has the line endings of the operating system rather than what the original file had, which can cause the XML to be displayed on a single line in the editor after formatting.
Data explorer sometimes fails when retrieving metadata
When fetching the column metadata for a table in the Admin UI data sources tool sometimes the server can not retrieve the information.
Login required JSON response not valid JSON
When a request is made to the server and the user is not logged in the server may return a JSON response indicating that a login is required, but the keys in the JSON response are not enclosed in double quotes which makes it not technically valid JSON (JavaScript will accept it however).
File explorer refresh does not refresh file list in the Admin UI
When you click the refresh button in the file explorer only the directory tree is reloaded, not the file list.
Startup monitor does not always report correct startup state
There was a locked file exception that wasn't caught when trying to acquire the monitor file.
Log output is incorrect for code using java.util.logging format strings
java.util.logging
uses a different format for parameter placeholders in logging strings, so log output using this format (which some third partly libraries use) does not output the correct text to the log.
Data with column option fails to register on data definition update
In some circumstances a Data configuration will fail to be registered when its associated Data definition’s configuration is updated.
Date increment by one day each time they are updated when editing
If you do a spatial edit on a record with a date field the date will increment each time the record is saved.
Try and avoid dead lock with ArcSDE GeoTools driver
A thread dead lock was seen when registering tables in the ArcSDE driver, and this fix tries to avoid that happening again.
GeoTools OGR driver not set the correct CRS for GeoJSON content
When loading GeoJSON data via the OGR driver the CRS for the data should be set to WGS84, since the standard says that that's what the data should be in, so unless the data itself indicates otherwise the OGR driver will set this as the default.
GeoTools OGR driver does not always load the correct DLL's
Sometimes when starting the OGR driver the system does not load the correct DLL's and some OGR driver functionality may be missing.
Possible dead lock in GeoTools when loading CRS definition
Back-port from GeoTools of this bug fix.
Determining the default entity does not take the client context into account
When a client has a context set, to refine which entities, etc are available in the client, the server does not take into account the possibly reduced set of entities (based on their context) when trying to determine which one should be active by default, so an entity that won't end up being available in the client can be chosen and the client will end up starting without an active entity.
Sorting on group data definitions is broken
Trying to sort a group data definition would generate an exception.
Image decoder fails if image is from file URL
The ImageFactory support class will only decode an image from a URL if the URL is a http/https URL, and fails if the URL is a file based URL, which can happen if there is disk caching in use.
Redline and edit upload not displaying geometry at correct location if a grid shift is required
If spatial data is uploaded to the redline or spatial editing layer in a projection different from the client and a grid shift is required to reproject the data from the uploaded projection to the client projection then the data will not be display in the correct location.
Typo in non-spatial editing could stop submitting edited values
A previous fix introduced a typo that could stop input values from being collected and breaking submission of edits to the server.
ToC panel transparency slider rendering issue
If there are multiple map engines in a map view then the transparency slider in the toc panel does not completely hide the sliders that are not currently in use, resulting in additional white space above or below the slider.
ArcGIS SOAP map engine does not reset layer filter
If a layer filter is applied to a map engines that uses the ArcGIS SOAP API then filter is not reset when generating a map image.
Geometry API would not update geometry SRID on transform
The transform function in the geometry API would not set the new SRID on the geometry to the newly transformed to SRID.
Reports not taking into account the report image dpi setting
If the value of the Image DPI setting for a report is changed from the default then map components will be the wrong size.
Oracle metadata issue when searching with Dates
Release 2.6.8 makes more use of database metadata when handing dates and times in search SQL queries, but an issue with the Oracle JDBC driver means that that may fail, so this update will catch the issue and ensure the SQL is still executed correctly.
Double URL encoding of WMS format parameter
The format parameter in WMS GetMap requests is being encoded twice which causes problems if the format contains a space.
User can not override report map rotation with custom component property
The name of the property that was added to allow the report designer to override the map rotation has the same name as the new component property (which is not exposed in the report designer yet) so the user could not set it without generating a BIRT error. The property has been renamed from "rotation" to "mapRotation" so as to not clash and now it can be set manually in the report design.
Selection map engine not always drawing selections when provided with selection from client
If a client tries to draw a map containing selection via the rest api and they wish to provide the selections, rather than using those already on the server, then the selection would not be drawn.
OGR driver doesn't support multilinestring geometry
The GeoTools OGR driver had the wrong code for multilinestring geometries so would fail when trying to open a data source that contained multilinestring geometries.
Geopackage doesn't support byte columns
When creating a table in a geopackage the GeoTools driver doesn't correctly map a byte column type to integer. Since SQLite doesn't support byte/smallint column types it must be mapped to integer.
A JVM setting from Weave 2.5 may not be being applied in 2.6
The
-server
JVM setting that was applied as a default setting for Java with Weave 2.5 might not be being applied for Weave 2.6. This should be the default anyway but it's better to set it explicitly.
Admin UI file explorer exposes JWT token key file
If you've setup JWT authentication a public and private key is generated and stored in the Weave root directory and the private key file is visible in the File Explorer in the Admin UI when it should probably not be.
Fix race condition is system metrics collector
Sometime the system metrics collector would try and schedule a collection before it had a scheduler to schedule it with.
Issues parsing PRJ files for EPSG:3857
Some PRJ files reference projections with aliases that GeoTools (via the EPSG database) does not recognise for the Web Mercator projection, resulting in some data in EPSG:3857 not being recognised as such, this update will add known aliases to Weave to help support those PRJ files.
Multiple data registrations when editing data definition
Removing a data config item then adding it back and then changing the data definition the data references will cause multiple data items to be registered.
List providers don't ensure list entries are unique
When the server is generating a list of value for the client to display in a list box it should try and ensure that the values in the list are unique.
Multi-select form fields do not handle values with a backslash
Because the multiselect form field type uses a regular expression to search for matches in needs to escape any \'s in the value to make the match work correctly.
Cascaded lists in edit form do not map label to value when loading lists
If a parameter in an non-spatial edit form is part of a cascaded list the loading of the list does not map the parent field value from the label to the value resulting in the child list not loading.
Multi-select parameters do not map values to labels when multiple values are available
An non-spatial edit that has a multi-select list parameter does not convert the values to their corresponding labels when there is more than one value selected for display in a grid panel.
Validation for XML file does not display result in Admin UI File System tool
If you edit an XML file via the File System tool in the Admin UI and use the Validate button the result of the validation is not displayed if there is an error.
dbmd conf command not generating correct config for all SQL Server data
When using the osgi dbmd conf command on an SQL Server table there are some underlying data types that were either associated with the wrong Weave data type or included when the weren't supported.
Add bit data type support to GeoPackage export from data grid
The SQL Server BIT data type is correctly represented as a boolean in a Weave client (data grid) but when an export to a GeoPackage (from data grid) is attempted, an error is thrown. A BIT column should be exported as 0/1 (integer) or false/true (text).
2.6.8.6
Released 2023-11-17
Fixes
Multiple data registrations when editing data definition
Removing a data config item then adding it back and then changing the data definition the data references will cause multiple data items to be registered.
2.6.8.5
Released 2023-06-14
Enhancements
Allow setting default roles for keycloak
It should be possible in
keycloak.properties
to set adefaultRoles
property to a list of roles that a user should be given if the SAML server does not provide any roles.
Allow removal of email domain for keycloak users
Rather than making people configure their SAML id provider correctly I'm providing an option,
stripDomain
, that when set totrue
in thekeycloak.properties
file will remove anything after the last @ in the username returned from SAML.
Updated handing of paths when processing keycloak SAML requests
A number of places within the Keycloak code that were determining the path of incoming requests have been updated to use common code to ensure the paths are consistent.
Fixes
ArcGIS SOAP map engine does not reset layer filter
If a layer filter is applied to a map engines that uses the ArcGIS SOAP API then filter is not reset when generating a map image.
Double URL encoding of WMS format parameter
The format parameter in WMS GetMap requests is being encoded twice which causes problems if the format contains a space.
2.6.8.4
Released 2023-06-09
Fixes
ToC panel transparency slider rendering issue
If there are multiple map engines in a map view then the transparency slider in the toc panel does not completely hide the sliders that are not currently in use, resulting in additional white space above or below the slider.
Oracle metadata issue when searching with Dates
Release 2.6.8 makes more use of database metadata when handing dates and times in search SQL queries, but an issue with the Oracle JDBC driver means that that may fail, so this update will catch the issue and ensure the SQL is still executed correctly.
2.6.6.6
Released 2023-04-19
Fixes
Data combo fix
Ensure the grid panel data combo updates when it’s changed as part of a batch update
ToC panel fix
Restore the strikeout for ToC entries that are missing their corresponding map engine layer
2.6.8.3
Released 2023-04-17
Fixes
Image decoder fails if image is from file URL
The ImageFactory support class will only decode an image from a URL if the URL is a http/https URL, and fails if the URL is a file based URL, which can happen if there is disk caching in use.
Redline and edit upload not displaying geometry at correct location if a grid shift is required
If spatial data is uploaded to the redline or spatial editing layer in a projection different from the client and a grid shift is required to reproject the data from the uploaded projection to the client projection then the data will not be display in the correct location.
Typo in non-spatial editing could stop submitting edited values
A previous fix introduced a typo that could stop input values from being collected and breaking submission of edits to the server.
2.6.7.13
Released 2023-04-17
Fixes
KML Export issue
Coordinates in exported KML files were being transformed twice resulting in incorrect coordinates in the final file
Uploaded geometry issue
Spatial files that were uploaded for editing or redline that require a grid-shift to re-project their data to match the client were not correctly re-projected
Spatial data issue
Generating data from a spatial engine that uses an entity with a spatial mapping that didn’t specify a key column would not work
IP address issue
Clients that only has IPv6 addresses would not have that address correctly determined
2.6.8.2
Released 2023-03-24
Fixes
Determining the default entity does not take the client context into account
When a client has a context set, to refine which entities, etc are available in the client, the server does not take into account the possibly reduced set of entities (based on their context) when trying to determine which one should be active by default, so an entity that won't end up being available in the client can be chosen and the client will end up starting without an active entity.
Sorting on group data definitions is broken
Trying to sort a group data definition would generate an exception.
2.6.8.1
Released 2023-03-15
Fixes
Fix log output when spatial mapping is invalid
If the spatial mapping for an entity is misconfigured the log output is just a debug message and is somewhat cryptic.
Fix output for an invalid command in the Admin UI Console
If you send an invalid command to the server from the Admin UI console the response is not clear, the output should be the same as what goes to the regular osgi console.
You can not clear a field value when editing
There's invalid logic in the client that does not send fields to the server if they're empty.
Report timeout not providing message indicating a timeout
It looks like the text for a Ext.js timeout has changed and the client isn't picking up that the report generation has timed out and is just giving a generic failed message.
REST API not filtering entities
The endpoint
services/api/v1/entity/list
is returning all entities, not just those accessible by the current user.
Attribute search on integer field not working unless dataType is set
A parameter in an attribute search that's associated with an integer column fails unless the dataType attribute is set for the parameter.
WMS driver not handing redirect from http to https
If a WMS capabilities document returns http url's but is only accessible via https, and sends redirects to enforce this, the Weave WMS driver does not handle it.
Config processor trying to convert/substitute item namespace
When parsing config items each item goes through a process of conversion, where things like "1234" are converted to integers, and substitution, where things like "${TEST}" are replaced with the value of the TEST variable, this is not supposed to happen for namespaces defined in the config files.
Config parsing fails if xsd namespace is set to https rather than http
If someone changes the url for the xsd namespace in a Weave config file to use https rather than http then type conversion of values will not work.
Keycloak config file is not closed after loading
The keycloak yaml file is not closed when its processed.
Context menu in file system tool not working in admin UI
The menus display but clicking on them doesn't do anything.
HttpHeader parser fails with parameters other than q
The
HttpHeader
support class when used by theAccept
support class fails if there are any parameters in the mimetype other than "q".
ImageEncoding parsing may have problems when depth mode ends in "bit"
Some WMS servers report mode=32bit, rather than just mode=32, as a supported image bit depth, so we should correctly decode that as being an image with a bit depth of 32.
XML formatting in Admin UI does not maintain original file line endings
If you format a file with Windows line endings on a Linux server, or vis-versa, then formatted content has the line endings of the operating system rather than what the original file had, which can cause the XML to be displayed on a single line in the editor after formatting.
Data explorer sometimes fails when retrieving metadata
When fetching the column metadata for a table in the Admin UI data sources tool sometimes the server can not retrieve the information.
Login required JSON response not valid JSON
When a request is made to the server and the user is not logged in the server may return a JSON response indicating that a login is required, but the keys in the JSON response are not enclosed in double quotes which makes it not technically valid JSON (JavaScript will accept it however).
File explorer refresh does not refresh file list in the Admin UI
When you click the refresh button in the file explorer only the directory tree is reloaded, not the file list.
Startup monitor does not always report correct startup state
There was a locked file exception that wasn't caught when trying to acquire the monitor file.
Log output is incorrect for code using java.util.logging format strings
java.util.logging
uses a different format for parameter placeholders in logging strings, so log output using this format (which some third partly libraries use) does not output the correct text to the log.
Data with column option fails to register on data definition update
In some circumstances a Data configuration will fail to be registered when its associated Data definition’s configuration is updated.
Date increment by one day each time they are updated when editing
If you do a spatial edit on a record with a date field the date will increment each time the record is saved.
Try and avoid dead lock with ArcSDE GeoTools driver
A thread dead lock was seen when registering tables in the ArcSDE driver, and this fix tries to avoid that happening again.
GeoTools OGR driver not set the correct CRS for GeoJSON content
When loading GeoJSON data via the OGR driver the CRS for the data should be set to WGS84, since the standard says that that's what the data should be in, so unless the data itself indicates otherwise the OGR driver will set this as the default.
GeoTools OGR driver does not always load the correct DLL's
Sometimes when starting the OGR driver the system does not load the correct DLL's and some OGR driver functionality may be missing.
Possible dead lock in GeoTools when loading CRS definition
Back-port from GeoTools of this bug fix.
2.6.8
Released 22 December 2022
Enhancements
Enhanced HTTP request/response logging
To help with troubleshooting you can now set the system property
weave.http.log
to true to get very detailed log output for HTTP requests
Improved support on Azure
Added support for custom Azure HTTP headers when using an Azure Reverse proxy in front of Weave
Added timeout setting to DMS requests
It’s now possible to set a timeout for the document management system get and get all actions
Updates to the quick search panel,
com.cohga.view.quicksearch
The panel now has a clear button to reset the search text
You can set the emptyText value to show text in the input box before the user starts typing
Quicker response to config file changes
Changes to xml configuration files trigger an update immediately
Support toc model entry without an associated map entry
You can now create a toc model entry that just links to an entity and does not have any map related content, allowing for a combined ToC/Entity panel
Added connection timeout for ArcGIS SOAP map engine
You can now set a connection timeout value for the ArcGIS SOAP map engines
Reduced logging on long running processes
Some processes that take a while to perform were outputting a lot of log output which could obscure log out that was needed to troubleshoot
Weave WMS server update
When using Weave as a WMS server it’s now possible for the client to specify an error message to be displayed by the server if an image can not be generated
Improved index information output to console
The OSGi index related commands have been updated to improve the output they generate
Additional content can be added to the About box
If the about button is included in a client it can now be configured to include additional information
ToC panel updated to show selection size
If a toc entry is associated with an entity the ToC panel can display the size of the current selection for that entity to the right of the ToC panel. It can be disabled by setting
showEntitySize
to false for the panel.
WhoAmI improvements
The
/weave/whoami
endpoint now displays more information and can be extended withverbose
andpretty
flags to provide even more info or format the output. e.g./weave/whoami?verbose
,/weave/whoami?pretty
or/weave/whoami?verbose&pretty
Admin UI File System tool
The file system browser now provides a right click menu and has re-arranged the buttons
Add support for BLOB and CLOB columns
It’s now possible to expose BLOB and CLOB columns from a database table which can then be used in a data definition to display the content
Scalebar switch of units
The scalebar will now switch between metres and kilometres when zooming in and out
Config file include works with directories
You can now use the <?include?> directive in a config xml file to include a directory, not just a file. All .xml files in the directory and any sub-directories will be processed
Non-spatial editing improvement
Determining the “key” of a newly created record is now a little smarter
WMS capabilities display in Admin UI
A new button has been added to the Map Engines to to open the capabilities document for any WMS map engines
Improved validation of spatial mappers
Spatial mapping configuration will now validate that only one spatial engine is set at the top level
Layer filter change
Applying a layer filter now turns on the layer
Attribute search update
Attribute searches now support a join tag, at the top level only, not for individual parameter/combinations
Projection directory removed
The
projections
directory, in the workspace, has had its content moved into its own separate bundle
WFS Updated
Improvements in the handling of non-default namespaces
Index geometry update
Simple indexes work better with non-unique geometry
Shutdown improvement
The speed for shutting down the server when it is still trying to connect to external services has been improved
Added support for GML spatial engines on WIndows
The OGR driver on Windows did not support referencing GML based data
Add support for Ext.js extension bundles
It’s now possible to create a bundle the adds support for Ext.js extensions, e.g. charting
Support URL parameter type for spatial data definition
A spatial data definition can now include a URL type parameter
Overriding log level with system properties
It’s now possible to set a log level via system properties, e.g.
-Dweave.logger.debug=com.cohga.server.security.keycloak,org.keycloak
will change the log level to DEBUG for the two Keycloak related loggers,-Dweave.logger.off=com.cohga.server.security.keycloak,org.keycloak
will disable logging for the same two loggers
Add support for callbacks on client and map load
A new client API was added allowing components to register to be notified when the client has loaded and/or when the map has been loaded. This means that a bunch of components no longer have to track that themselves
Added ability to specify default connection timeout in client
There’s a new client API that allows code to change the default timeout for requests sent to the server
DMS output format
There’s a new server API that allows a bundle to apply custom formatting to the default document management system document list page
Spatial engine metadata improvements
The
spmd conf
command output has been tidied up
Runtime properties can be set in config xml file
Runtime properties that are used by Weave bundles can be set via the <?set?> instruction in a config xml file, rather than needing to be set via system properties or Jetty .ini files. Note this is a work in progress and not all properties may work
Improved handling of blank/null values when editing
Handling of blank and null values has been improved when submitting an edit
Updated search config to be consistent with data definitions
It’s now possible (but the old format is still supported) to configure a search in a style similar to a data definition, that is having a generic <search:search> top level tag wrapping a specific search type, rather than having different top level search specific tags. This is similar to the way data definitions are configured.
Support id filtering for searches
An id filter can be attached to a search to convert/translate the id’s returned from a search, similar to what can be done for a data definition. Particularly useful for searches in a different database than the spatially enabled table.
Improved handling of CR/LF in lists (again)
Another attempt has been made to ensure that drop down lists that have labels that contains carriage returns or line feeds work correctly (why do people do this to me)
Added support for “context”
You can now assign configuration items to a context and then tell a client to only use the configuration items from that context
Removed requirement for “toc.” prefix on toc models
Previously a top level toc mode required its id to always start with “toc.”, this is no longer a requirement
Snapping to redline layer
It’s now possible to specify the redline layer as a snapping target
Support for search without any parameters
You can now have a search that does not have any parameters, this can be used for a search that operates the same all the time and does not require user input, for example, select all the properties that have a light pole on them
GeoJSON encoding update
The encoding of geometry to GeoJSON by the client tries to ensure that features include the id’s that’s been assigned to them
alwaysRefresh option added to client map engine config
You can set the
alwaysRefresh
option to true for a client map engine to ensure that it does not use a browser cached image, meaning each redraw of the layer will result in an updated image, useful for dynamic map content
New BundlePath API
A new class for finding resources in a bundle has been added, specifically it improves support beyond the basic OSGi API of finding resources that are provided in fragment bundles
Initial support for data parameters in layer filters
Layer filters can be defined with a date filter, this is a work in progress and map engine support could be spotty
A new startup monitor is available
A new bundle that will record when the server shuts down and starts up has been added, and more importantly it records if the startup occurred after a clean shutdown
Spatial engine and database metadata conf commands updates
The
dbmd conf
andspmd conf
commands work better when provided with just a spatial engine or datasource, providing example output for the entire system, and tries harder to guess the correct values
Parameters can use name or id
Previously different configuration objects that contain a list of parameters were not consistent with respect to the parameters using the
name
orid
attribute to identify the individual parameters, now you can use either
Keycloak library update
The internal Keycloak library, for interacting with SAML id providers, has been updated
Admin UI functionality
Added additional filtering and refresh options to various Admin UI tools
Revision control support in Weave updates
When running a Weave update on a Weave directory (or sub-directory) that is under the controls of Subversion or Git the changes made during the updated will be recorded with the revision control system ready to be committed. Note that the update won’t be applied if there are outstanding changes pending, you will need to commit, stash, undo, etc, the pending changes before you can apply the update, or you can pass a command line parameter to the update to force the update.
Fixes
Redline polygon tool
The tool no longer allows you to create a polygon with two points
Non-spatial editing group parameter fix
Grouped parameters have been fixed when used with non-spatial editing
Bookmarks not updating legend
When loading a bookmark the legend may not be updated to reflect the new map state
Remove the ability for anyone to build or delete an index
It was possible for someone who knows the correct URL to delete or initiate a build on an index
Missing ToC layers not highlighted
The highlighting, via strikethrough, in the ToC panel for missing layers has been added back after it stopped working
Admin UI fixes
There were issues with the Admin UI when working with resources connected via JNDI
KML export fix
The KML export function has been restored
User Details statistics fix
The User Details information was showing “nouser” for all users
Admin UI validation fix
No errors were being report by the Admin UI if validation of an XML file failed
Double conversion of coordinates when exporting KML
Coordinates in exported KML files were being converted to WGS84 twice
Admin UI fix
Opening the Admin UI before the server had fully started could stop the Admin UI from working until the server was restarted
Special characters in username
User id’s with special characters could stop the client from loading, user id’s are encoded to escape characters like #, &, ?, etc
REST Geometry fix
The REST Geometry API handles empty geometries properly now
ArcGIS spatial engines fix
Generating the bounds of a filtered ArcGIS layer was not working
Invalid entity issue with tools
Some client tools that could be provided a list of entities, to refine what entities they display, would fail if presented with an entity that did not exist
2.6.7.12
Released 8 September 2022
Fixes
Admin UI config fix
The config tool would timeout when loading the list of available config types
User not recorded when logging request information
System status information was showing up as “nouser” rather than the user that was responsible for the request
2.6.7.11
Released 12 August 2022
Fixes
KML Export
Exporting redlines to KML was broken
2.6.7.10
Released 4 August 2022
Fixes
Spatial data definition fix
URL parameters in spatial data definition would not display as links in the client
2.6.7.9
Released 2 August 2022
Fixes
Admin UI fixes
The Admin UI console and data source tools would fail if working with a database connection that is configured via JNDI
2.6.7.8
Released 6 April 2022
Fixes
Show splash button issue
The new show splash button might not work if it was placed in a menu.
2.6.7.7
Released 6 April 2022
Fixes
Possible dead lock in logging
There’s a possibility that during startup the new logging implementation will have a thread dead lock and cause the server to not start properly. This has only been seen when running Weave in an IDE and only when connecting to ArcSDE, but the consequences are serious enough that this hotfix should be applied.
Double logging of events in support dump
The log information stored in the support dump would repeat each line.
2.6.7.6
Released 6 April 2022
Fixes
Exposed index build and clear actions
Anyone can build and clear and index if they know the particular URL to access.
2.6.7.5
Released 6 April 2022
Fixes
Spatial engine shutdown issue
During shutdown spatial engines were not being disposed of correctly. Note this doesn’t cause any problems, since the system is about to shutdown anyway, but it could generate some confusing log messages.
2.6.7.4
Released 1 April 2022
Fixes
Legend issue when loading a bookmark
Sometimes the legend panel would not update to reflect the map content after loading a bookmark
2.6.7.3
Released 29 March 2022
Fixes
Non-spatial edit form fix
Children of grouped parameters were being converted to list boxes because Weave was thinking they were cascaded parameters rather than group parameters.
2.6.7.2
Released 24 March 2022
Fixes
Selection sizes are wrong for anonymous users on page reload
When an anonymous user reloads the client the selection size(s) for the entities will reflect whatever the selection count was the first time the page was loaded, so if they change the selections and reload the page the selection counts are incorrect.
2.6.7.1
Released 21 March 2022
Fixes
Entity labelers not working
An update to the core entity bundle resulted in a mistake in the namespace for the labelling config, which caused none of the labelling configurations to be processed resulting in no custom labels when picking specific entities.
2.6.7
Released 17 March 2022
Enhancements
Interop launcher update
The
launch.html
page used to launch Weave from another website has been updated to support Weave Hub if it is installed
Redline management tool
A new tool to allow you to re-order redline items has been added
Single image slider
The image slider/chooser component is now part of the core Weave product rather than a separately installable component
Allow static content to be served by Weave
If you have basic resources, images, HTML pages, etc, that you need to make available to the client you can copy them to the
...\workspace\static
directory and the content will then be available athttp://...../weave/static/
. It also supports .htaccess files for access control.
Pan select tool update
You can now use the alt and control keys with the PanSelect tool to add and remove from the selection
New select neighbours tool
A new tool to allow you to quickly select the neighbours of the current selection has been added. By default it will select the touching neighbours but it can be configured to perform a buffer operation instead
New splash screen
A new plugin to allow you to display a splash screen when the client starts has been added
Rotate control point moved in redline
The rotate redline control would be covered by the corner coordinate in some redline objects so it’s been moved out further from the redline item
Updated logging
The logging framework has been updated from Log4j to Logback and the logging configuration mode from
logging.properties
tologging.xml
Data definitions registered in the background
The startup of the server will no longer wait until each data definition is connected/registered before continuing to process the configuration, which should speed up startup
More metrics
Additional metrics for tracking data source connections have been added
Cascade field support for non-spatial editing
Support for cascade fields has been added to the non-spatial editing
Non-spatial editing combo update
The drop-down list of available edits can have its size configured
GeoPackage export
The exported geopackage now supports more native column types
Tags for ToC entries
ToC models now support adding tags to ToC entries, to allow for things like filtering based on tags associated with an entry
Improved token support for ArcGIS server
The tokens generated when connecting to an ArcGIS server that requires authentication are now refreshed more frequently to reduce the possibility of the user losing access while using Weave
Metrics update
By setting the system property
weave.metrics.includeuser
the search, report, map and data metrics will also include the user that generated the request in the generated metric
New security API
A new API is available to allow for custom authentication providers, for example using JWT
Names selections
Internally Weave now has the concept of Named Selections which, in the future, will allow for more advanced selection handling operations
Configuration file update
You can now set
ignore="true"
for a top level configuration item to have it completely ignored by Weave, this is quicker/easier than commenting out the config item
And more metrics
Connections to database based spatial engines now produce metrics
More information in Support Dump
The Support Dump now includes additional information and better tracking of log file output
Spatial edit import
The importing of geometry with spatial editing has been improved
Spatial upload
Added support for uploading Excel spreadsheets
Admin UI file explorer
The file explorer has been updated to better handle files that have been edited by two people at the same time
Fixes
Fix for redline coordinate editing tool
The tool would not work unless the editing bundles were also installed, this has been fixed so that the tool now works without the editing bundles being installed
Map resolution update
When using a map panel with fixed scales, the calculations to determine which zoom level to use from the underlying map engine is now smarter about how it chooses the tile cache level
Grid filter not working in IE 11
Using the filter in a grid panel when using Internet Explorer as the browser was not working
Spatial and selection identify
These tools were not clearing their content at the correct time and could present out of date information to the user
Image slider
At startup the slider could turn on layers that were not supposed to be visible
Redline styles
Redline objects were losing their style after being saved and loaded a couple of times
2.6.6.5
Released 23 February 2022
Fixes
Spatial editing fix
Minor fix for spatial editing
2.6.6.4
Released 21 January 2022
Fixes
ArcGIS tile issue
Tiles downloaded from ArcGIS would not always line up because the wrong zoom level was being fetched
2.6.4.14
Released 20 January 2022
Fixes
Map resolution update
When using a map panel with fixed scales, the calculations to determine which zoom level to use from the underlying map engine is now smarter about how it chooses the tile cache level
Map alias fix
A small fix for aliases for map engines was implemented
2.6.6.3
Released 7 January 2022
Fixes
Fix for redline coordinate editing tool
The tool would not work unless the editing bundles were also installed, this has been fixed so that the tool now works without the editing bundles being installed.
2.6.6.2
Release 10 December 2021
Fixes
Grid filter not working in IE 11
Using the filter in a grid panel when using Internet Explorer as the browser was not working.
2.6.6.1
Release 8 December 2021
Fixes
Spatial and selection identify
These tools were not clearing their content at the correct time and could present out of date information to the user
Image slider
At startup the slider could turn on layers that were not supposed to be visible
Redline styles
Redline objects were losing their style after being saved and loaded a couple of times
2.6.6
Release 13 July 2021
Enhancements
New Redline tool
A
weave.redline.spatialSelect
tool was added to the redline toolbar to allow selecting entities based on redline geometry
Coordinate input change
The two coordinate input panels, redline and spatial editing were changed to default to latitude, longitude rather than longitude, latitude
New export action
A new
weave.grid.exportgriddata
action can be added to the grid panels to export data
activateEntity
flag added to ToC panela flag when set to true will change the active entity, to the one associated with the toc entry, when that entry is turned on
ArcGIS Server token support
Support for tile caches that require authentication has been improved
Grid panel Copy operation
A right-click Copy menu has been added to the grid to support copying the information from the grid to the clipboard (if you have set
textSelect
totrue
for the grid panel the system menu will display instead)
Nearmap update
There is a new Nearmap panel available to work around issues in the existing Nearmap panel
Geocode API update
The Geocode API now supports providing the centre of the client map to help improve search results (for Geocoding engines that support it)
JSON Converter API update
The JSON Converter API now supports classes implementing the JSONString interface, allowing an object to provide its own JSON representation to the client
Update to caching settings
The
weave.cache.default
flag will now disable caching for data definitions as well as search results
Non-spatial editing update
Support for “calculating” a column value based on another table has been added to non-spatial editing, i.e. populate a column from a separate table
Excel export update
The grid panel export to Excel now exports to a newer version of Excel, i.e. .xlsx format
ArcGIS tile update
Support for local compressed ArcGIS map tile caches was added
SLD file resource improvement
SLD files are more forgiving of references to external resources, i.e. images can just be referenced using the file name if they’re in the same directory as the SLD file itself
WMS server type guessing improvement
In situations where the type of WMS server needs to be known there have been improvements made to the code that determines the server type
Spring Security configuration update
The Spring Security validation code no longer needs access to the internet to download the schema files
Selection API update
Some internal selection code was updated to obtain the current selections earlier in the process
Runtime properties file updated
The
runtime.properties
file now sorts the properties by name
New storage commands
There is now a flush option available for the
storage
andustorage
commands, which ensure that any outstanding writes are written to the storage provider
New logout button in Admin UI
The Admin UI now has a Logout button
Tile update
When generating a single map image from a tiled map engine some optimisation has been made to improve performance
Edit panel update
It is now possible to configure the edit combo box width in the spatial edit panel, by setting
comboWidth
andcomboListWidth
in the panel config
A new Spring Security helper class is available
A
com.cohga.weave.security.userdetails.DelegateUserDetailsService
class is available for use in a Spring Security security.xml file to allow you to use multiple user details services to get user details, i.e. multiple LDAP servers
Various API updates
A number of internal API’s have been updated along the path to a Weave 3.0 release
Fixes
Bookmarks
Clarified handling of publish, publisher, published and share flags in the bookmark action button
Details panels
Fixed data/time handing on the entity details panels
Legend panel fix
Fixed issue that was stopping the legend from being updated when first exposed
List fix
List entries that contained carriage returns and/or line feeds would stop the list from working
Internal database corruption fix
An update that should help avoid corruption of the system data source has been implemented. This is not an issue for sites that use an external database as the system data source
ArcGIS map engine reset fix
The “memd reset” command wasn’t clearing all information related to an ArcGIS map engine
Map alias fix
A small fix for aliases for map engines was implemented
Database OSGi command fix
The ‘dbmd sql’ command has been updated to fix an issue when displaying binary column types
Keycloak fix
An issue determining the URL to redirect to after login/logout was fixed
User storage fix
A fix for user storage when sessions are not used has been implemented
Spatial edit fix
An issue relating to creating a new spatial edit was fixed
Runtime property parser fix
When parsing a runtime property that represents a file variations in the way the operating system and Java version present the “path” can result in the value not being interpreted as a path correctly. i.e. sometime the path is given as file://<path> and sometimes file:<path>
Admin UI console timeout
The default timeout for the Admin UI OSGi console was too short, sometimes giving the incorrect perception that the command did not work
PostGIS compatibility fix
The GeoTools 13.x PostGIS driver has been updated to fix compatibility issues with newer versions of PostGIS
EPSG:7899 support on client
A projection definition for VicGrid GDA2020 has been added to the client
Possible XSS fixed
A possible, but very unlikely, vector for an XSS issue we removed. An error response contained the id of the request that generated the error. While it’s not clear how or if this could be used as a vulnerability but we’re removing all instances of client request parameters being returned in responses to try and minimise any possibility of this being used
Client IP
If the server was behind a reverse proxy Weave might not guess the correct IP address of the client
Default style
The client would not be able to determine the default style to choose for a layer in some circumstances
KML export fix
Exporting to KML fixed an issue if it could not determine the projection of the source data
Zipnship fixes
The Zipnship export menu has some fixes for problems when there was more than one menu in a client
2.6.5.5
Release 23 June 2021
Fixes
ArcGIS Tiles
Added fix for serving ArcGIS tiles that are served from a secure ArcGIS service
2.6.5.4
Released 27 May 2021
Fixes
Legend panel
If a legend panel was in a region of the layout that was initially collapsed it would not update its content when initially exposed by the user
ToC panel
The enable/disabled state of ToC groups wasn’t reflecting the scale ranges of the included layers
Oracle edit
A fix for the non-spatial editing has been applied to work around an issue with Oracle returning invalid metadata for decimal columns
Map alias
If multiple plugins were included in the map view the server would not process map aliases correctly
2.6.5.3
Released 31 March 2021
Fixes
Client IP
If the server was behind a reverse proxy Weave might not guess the correct IP address of the client
Default style
The client would not be able to determine the default style to choose for a layer in some circumstances
2.6.5.2
Released 26 March 2021
Fixes
Restore ToC functionality removed in 2.6.5
The ability to turn off all children in an exclusive toc group or to configure an exclusive toc group with no children initially checked was removed in 2.6.5, you can now re-enable that by setting
allowExclusiveOff
totrue
in the toc panel config
Excel export fix
If a data definition has a URL parameter that generated an empty value you could not re-save the exported XLS file
Internet Explorer incompatibility in non-spatial editing
2.6.5.1 introduced an extra comma that would stop the client from starting if the non-spatial editing extension is installed and the users browser is Internet Explorer
Spatial editing fix
The CreateNew button would sometimes override the default values in the input form
The CreateNew button would not always switch to the edit input form panel if it was hidden when the button was pressed
2.6.5.1
Released 23 March 2021
Fixes
Session cookie fix
This fix ensures that session cookies have the correct flags set so that third party authentication works correctly after recent changes to browser behaviour
PostGIS fix
The GeoTools PostGIS driver was updated to work with newer versions of PostGIS
Added missing GDA2020 projection
The VicGrid GDA2020 client projection definition was missing
Changes to exclusive groups in ToC panel weren’t reflected in the map
2.6.5 changes exclusive groups so that it would turn on the first child if no items were checked initially, but the change was not being reflected in the map
XSS fix
An invalid request from the client included the request id in the response error, which theoretically could be a security issue (but isn’t)
2.6.5
Released 15 March 2021
Enhancements
Redline coordinate entry
Support tabs as a separator in the input text
Updated to login/logout
Login and logout handing has been updated to better support multiple authentication mechanisms
Min/Max scale display update
The ToC panel has been improved for the displays of the scale ranges for a layer
Oracle Time update
A workaround for the Oracle JDBC driver not being compliant with the JDBC specification when it comes to dates and time has been implemented
Updated non-spatial editing
You can now specify if an edit config has create, update and/or delete capabilities
Encryption key update
The private key used to encrypt items in Weave config files can be specified by an environment variable or system property, rather than just the private.key file
Data export API
A new API for exporting data has been implemented
GeoPackage as a data export format
Along with CSV, HTML and Excel, there is now a GeoPackage option for exporting data from a data grid
List provider API update
The API for generating lists for the client has been updated to improve support for filtering the values
Tile cache update
You can now set the system property tile.cache.disable to true to disable caching of tiles fetched from external servers
WMS Legend generation config update
It's now possible to specify additional tokens that need to be included in the URL sent to a WMS server just for GetLegend requests. Previously you could only specify one set of tokens and they were sent on every request.
SAML Authentication
Support for authenticating using SAML has been added. This provides support for Microsoft AD FS and Azure AD amongst others.
New whoami request
You can open the URL /weave/whoami to get information about who the server thinks you are, which is useful to debug login, role and ACL related issues
Dynamic configuration variables
Variables in config files set by using the "set" instruction are now dynamic (i.e. their value can be changed when the config files are being processed). Previously the values were fixed, with the last value set when processing the config files, being the one that was used. You can set the system property "weave.config.variables.dynamic" to false to restore the previous static variable handling.
Updated Geometry Simplification API
An internal API used for simplifying geometry has been enhanced to provide more control over the simplification process
Geometry REST API update
The /geometry/transform/point endpoint has been updated to be more lenient with missing parameters and more strict with required parameters
Support dump update
The support dump has been updated to include additional information
Client IP address update
The server determining the user's actual IP address, taking into account proxies, has been improved
Runtime Property API update
The internal API for getting system properties has been updated to allow a function to provide the default value
Admin UI Spatial Engines Tool update
The tool now provides filtering for spatial engine layers based on their name
Data API update
The Java Data API now allows some formatting to be provided as functions, not just from a pre-defined set of options. This includes dates and times, URL's and boolean values.
EPSG update
The EPSG database has been updated to version 9.9, from 9.7
SQL Server spatial engine update
The SQL Server config now accepts a "URL" parameter, to allow specifying the full connection URL, rather than having the URL constructed from other config parameters
Third-party library updates
A number of third-party libraries have been updated to newer versions
Bookmark improvements when switching projections
The bookmarks are smarter about reprojecting redlines and extents when a bookmark is saved in one projection but loaded on a client in another projection.
User attributes in client config
It’s now possible to reference users attributes in a client config to customise a client for individual users
For example:
<initial minx=”${user.extent.initial.minx}” miny=”${user.extent.initial.miny}” maxx=”${user.extent.initial.maxx}” maxy=”${user.extent.initial.maxy}” crs=”${user.extent.initial.crs}”/>
You need to create and configure user attributes separately (the example above will not work out of the box)
Buffer display update
The buffer polygons displayed on the client are "simplified" to reduce the number of points in the polygon. The default number of points is 1000. To change this you can set the system property
weave.client.buffer.maxpoints
to a larger (or smaller) value. Note, changing this property doesn't affect the buffer operation itself, just the polygon displayed to the user (since these polygons can contain 10's or 100's of thousands of points and can take a long time to download).
Jetty updated
Jetty has been updated to version 9.4.38
Java updated
Java has been updated to 1.8.0_282
Fixes
Redline coordinate entry
Fixed typo in help text
Redline shapefile/kml export
Stop "invalid" geometries from aborting the export
Export filename fix
An export generated from a grid didn't always set the filename correctly
Metric name typo
The name of the metric "datasource,available" was corrected to "datasource.available"
ArcGIS REST API fixes
The code has been updated to better handle the vagaries of the responses sent from ArcGIS
WMS Map logging fix
Recording of map and layer timings has been added back after accidentally being removed in release 2.6.4
Buffer generation inconsistency fixed
Previously different code used different methods to generate buffers around geometry which would sometimes give inconsistent results. Now all code that generates a buffer uses the same code and settings.
Report generation issue
A missing map engine would sometimes stop a report from generating if it referenced the missing map engine
NTLM Authentication fix
Once a user has authenticated via NTLM they will not be required to authenticate again during the current session.
Null identifier fix
Updates have been put in place to handle records that use null as a key value
Runtime Property API fix
The internal API for getting system properties has been updated to better handle file-based URL's for file and path type properties. Recent updates to Java and Windows meant that these value were being handled differently between Windows and Linux.
Admin UI data explorer fix
The tool was returning the wrong number of records when paging
Admin UI spatial engine fix
The tool was failing with ArcGIS layers that were empty
PRJ file handling
Updates have been made to handle differences between OGC and Esri PRJ files when uploading spatial data.
Redline fix
Redlines created before 2.6.5 and 2.6.4.8 did not record the projection of the stored coordinates which could cause issues if a client config changed the map projection or if a bookmark/redline created in a client with one map projection was opened in a client with a different map projection. This update a) includes the crs in any new redlines, and b) provides a “redline setcrs <crs>” osgi command to add the projection information to existing redlines.
Coordinate display panel
If the panel was visible at startup it wouldn’t update when the mouse was moved
Client support for EPSG:7899 projection
The client did not know about the GDA2020 VicGrid projection
Bookmark update fix
Replacing a bookmark would not update the stored content
ToC panel fix
It was possible to turn off all layers in a group marked as exclusive when this should not have been possible
Buffer display fix
Sometimes the buffer displayed to the user, not the one used to perform the buffer operation itself, did not display correctly
2.6.4.13
Release 18 Feb 2021
Fixes
ToC panel fix
It was possible to turn off all layers in a group marked as exclusive when it should not be
2.6.4.12
Released 17 Feb 2021
Fixes
Bookmark update fix
Replacing a bookmark would not update the stored content
2.6.4.11
Released 16 Feb 2021
Fixes
Fixed redline transform command
The redline transform command did not handle invalid geometries well, it will now remove any invalid geometries stored in a redline (not remove the whole redline)
2.6.4.10
Released 15 Feb 2021
Fixes
Fixed redline transform command
There was a problem when transforming saved bookmark that also included and extent
2.6.4.9
Released 11 Feb 2021
Enhancements
New redline commands
The new bookmark commands added in 2.6.4.8 to help fix issues with pre-2.6.4.8 bookmarks have been replaced with the equivalent “redline” commands.
The newer version of the command works with all saved redlines, not just those saved as part of a bookmark as the bookmark version of the commands did.
2.6.4.8
Released 11 Feb 2021
Enhancements
New bookmark commands
New bookmark management commands have been added to allow you to retroactively set the CRS for redlines stored in bookmarks.
The new “bm setcrs <crs>” command should be run after you upgrade to 2.6.4.8 (or 2.6.5) to update all existing bookmarks to include the CRS that was in use when the bookmarks were created.
Fixes
Multi-select field fix
A multi-select field would not always display its initial values (if it was configured with an initial value)
Data export fix
When exporting data from a grid the name of the file was not always set correctly
Bookmark redline fix
Previously bookmarks did not store the CRS of the redlines and relied upon their coordinates being in the same projection as the map
2.6.4.7
Released 11 Feb 2021
Fixes
Spatial upload projection issue
Fixed an issue where uploaded data would not project correctly if an included PRJ file was not understood by Weave
2.6.4.6
Released 29 Jan 2021
Fixes
Map logging restored
The 2.6.4 update accidentally removed the map engine/layer logging from the Admin UI, it’s now been added back
2.6.4.5
Released 28 Jan 2021
Fixes
Windows integrated authentication fix
NTLM authentication, via Acegi Security, was updated to fix an issue causing some client functions to not work
2.6.4.4
Released 17 Nov 2020
Fixes
Quick search data panel fix
Fixed a minor issue when updating the quick search data panel
Redline export fixes
The export to KML and Shapefile tools have been fixed to ignore invalid geometry
Metric name fix
The name for the JDBC connection monitor metric was incorrect
Map export fix
Exporting a map was ignoring the "labels visible" flag for layers
Report map fix
Fixed an issue that could cause a report map to be out of sync with the clients' view
Spatial search fix
Fixed an issue that didn't always apply all the required filters
2.6.4.3
Released 20 Aug 2020
Fixes
Missing CRS parameter in intersect requests
A crs parameter was missing when sending an intersect operation request to the server, so if the data is stored in a different projection the "highlight" geometry would not display on the client
Unnecessary errors in log
An unsupported request from the client was logged as an error when it should be a warning, and no information was recorded about what the request was
Startup performance issue
There was a problem that could result in delays when the server was starting up
Invalid metadata in an API bundle
An API related bundle included some incorrect metadata in the source relating to the version of Java it required. This shouldn't effect the server but required a bump in the version number to update the bundle.
2.6.4.2
Release 13 Aug 2020
Fixes
Selection identify fix
If you try to export data from the selection identify tool and have no records selected then you would get no data, rather than all records
Id mapping fix
If a null id makes it into the system it can cause problems, this fix should ensure that null id's are no longer possible
Missing entries in config.ini file
The installer for 2.6.4 moved some bundles from optional extras to always being included, but did not add the config.ini entries to ensure those bundles were started. Updating from previous versions did not have this issue, just installing a clean 2.6.4 version.
2.6.4.1
Release 4 Aug 2020
Fixes
ArcGIS Server certificate issue
Weave may complain about the certificates presented by ArcGIS Server.
2.6.4
Released 30 July 2020
Enhancements
Weave Hub
A new third party application integration library to replace Weave Link and provide integration in browsers other than Internet Explorer. Currently supports Authority, Pathway, Proclaim and Trim integration.
New Redline Tools
Edit coordinates of geometry
Upload geometry from a file
New Spatial Edit tools
Edit coordinate of geometry
Upload geometry from a file
GDA2020
Initial support for using the GDA2020 projection
Metrics
Added metrics support so Weave can be monitored externally, currently supports Prometheus, InfluxDB and Datadog.
Note this will not be installed/enabled when updating an existing instance, so as not to add the overhead to sites that do not want it. To install it for an existing instance, re-run the 2.6.4 installer pointing it to the newly updated 2.6.4 instance and disable everything but the System Metrics component.
Help
The default help content is now provided as part of the installation.
Note this will not be installed when updating an existing instance, so as not to overwrite any customisations that may have been applied. To install it for an existing instance, re-run the 2.6.4 installer pointing it to the newly updated 2.6.4 instance and disable everything but the Help component.
Zip'n'ship
Supports exporting to GeoPackage
Data sets can be grouped into folders
Tiled map engines
Tiled map engines can now be configured for performance or quality when re-projecting the tiles and they can be configured to fetch multiple tiles in parallel.
Stitching dynamic map engine
If a back end map service only supports generating images up to a certain width and height (i.e. as with ArcGIS), you can now create a wrapper "stitching" map engine that can be configured with the maximum width and height that the back end map service supports. The stitching map engine will make multiple requests to the back end map service so that it only requests images of the size the map service supports and it will then stitch the images back together to make a single image of the originally requested size. This is particularly important for BIRT reports with large embedded map components. So now you can, for example, generate an A0 size report even if the map service in use only supports generating images of 1000 x 1000 pixels.
A new group parameters for reports
So you can group reports on the client
Fixes
Various minor bug fixes
2.6.3.1
Released 28 November 2019
Fixes
Street View panel fix
Resolved an issue with moving in the street view panel bouncing back at certain locations which was stopping users from being able to move forward in the street view panel.
2.6.3
Released 20 November 2019
Fixes
List-box/combo-box field issue
Some field functionality in 2.5.30 changed the way list-box and combo-boxes worked by default, this update fixes the fields so they work more like they did before 2.5.30.
2.6.2
Released 13 November 2019
Fixes
ToC model parsing issue
When generating an id for a toc model group entry that does not have an id set the generation of the id required a map engine to be know which may not always be the case, this would result in the toc model not being available. This update resolves the requirement to have a mapengine specified and will generate the id without one.
2.6.1
Released 12 November 2019
Fixes
Data grid filter fixes
Exporting data from the data grid when using a filter would not always work
Filtering on a string column was not performing a wildcard search by default
2.6.0
Released 8 November 2019
Enhancements
Updated Java and Jetty, which requires a re-install, other than that this release has exactly the same functionality as 2.5.30