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.10.6
Released 2025-07-07
Enhancements
Upgrade Postgres JDBC driver to latest release
2.6.10.5
Released 2025-05-30
Enhancements
Updated GeoTools PostGIS driver to work with newer version of PostGIS
PostGIS renamed a dimension() function to st_dimension() and in certain circumstances GeoTools tries to use the old function which doesn’t exist on newer PostGIS versions.
2.6.10.4
Released 2025-03-26
Fixes
Index build defaults to keyword rather than standard analyzer
If a buildAnalyzer is not specified in the index config Weave will use the keyword analyzer rather than the standard one which is should be using.
2.6.10.3
Released 2025-03-18
Fixes
Highlighter not working on index results
Previously if enabled the results from an index search would highlight the part of the result that caused that result to match the search.
Circle by Radius redline too not honouring the crs parameter
If you needed to configure a
crs
property for the Circle by Radius tool, to ensure the radius was calculated using a suitable projection, the tool would not take into consideration thecrs
property and always use the map projection.
2.6.10.2
Released 2025-02-25
Fixes
Standard keyword analyzer not available when building index
Trying to generate an index using the standard keyword analyzer would not work and would fall back to the keyword analyzer.
2.6.10.1
Released 2025-01-14
Fixes
Pathway config converting to lowercase, not uppercase
In an attempt to ensure that Pathway levels in the Pathway config in Weave are converted to uppercase, since newer versions of Pathway fail if they are not uppercase, the fix accidentally converted the value to lowercase.
KML upload handler failing
Uploading a KML file via the new REST API does not correctly create the temporary file used to work with the spatial content.
A number of small issues reported by static analysis tools
A number of minor issues were pointed out by static code analysis as part of an ongoing process of improving the quality of the code used in Weave.
2.6.10
Released 2024-12-04
Enhancements
Update handling of ACL's for clients to improve support with aliases clients
This update changes the handling of acl's directly attached to a client to allow an aliased client to also override the acl.
Support not showing scale range on layer hover text in ToC panel
The ToC view panel now has an option showScales which when set to false will disable the inclusion of the scale ranges in the layer hover text. A showDescription flag is also included that disables the inclusion of the layer description in the layer hover text.
Update parsing of SLD files exported by QGis
QGis uses SvgParameter for some styling options which the current GeoTools SLD parser does not understand and has to be manually renamed to CssParameter. This update will allow both to be understood .
Add events to make it easy for client code to force a refreshing
If something makes a “background” change that would affect the map display or data then there should be an easy way to tell Weave that the item needs to be redrawn. This can now be done using
Weave.EventMgr.fireEvent('map.refresh')
orWeave.EventMgr.fireEvent('data.refresh');
.
Add support for user authentication to ArcGIS spatial engine
The GeoTools
arcgis
driver did not support feature servers that require authentication.
Add support for setting layer filters directly in a map engine configuration
Extend the recent addition of layer filtering so that a filter can be set directly in the map engine configuration.
Increase the number of keyword levels that can be used in an index
Currently the is a limit of 5 keyword levels in an index, it is going to increase to 10.
Update mail server registration so that it includes the connection details
A mail server can be configured in Weave which can be used by code to send email, but some third party libraries require the connection details so that they can create their own connections, so rather than having to duplicate the configuration the Weave mail server registration will be update to include the connection properties, which the other services can inspect to replicate the same connection.
Allow user attribute default values to themselves be set by user attributes
Currently it’s only possible to set the default value for a user attribute as a hard coded value when it’s used, e.g.
${user.maximum|10
}, but it would be useful when using dynamic attributes to have the default set from another user attribute, e.g.${user.dynamic.maximum|${user.maximum|10
.
Add additional information to support dump
Update the support dump to include available disk space and Oracle SDO metadata table content.
Non-spatial editing does not work with SQLite
If you use a database based on SQLite you can’t use it with non-spatial editing.
Add customisation options for the spmd conf command
This enhancement will add additional parameters that can be provided as part of the spmd conf command to provide for some minor configuration of the generated output, for example like providing a prefix to use for entity, data and data definition id’s.
Clarify message when multiple file must be uploaded at once
If a spatial upload is made up of more than one file, for example MapInfo TAB, and the user doesn’t upload all files at once the message should be clearer to the user that they need to select and upload all the files.
Add referer to link monitor
To provide information on where a link was clicked on the link monitor will be updated to include the referer header from the request.
Split server health bundle into multiple bundles
Currently there is a single bundle that provides everything for health checks which means that parts can not be independently disabled. This update will split up the bundle to allow health checks to be disabled without affecting the entire system.
Allow configuration of analyser when building an index
To provide more flexibility with indexes a new option is being added to the index configuration to allow for changing the analyser used which can change the way “tokens” are interpreted.
Allow index.html to be provided by a Weave client
It should be possible to have a Weave client always act as the index.html page.
Add support for indirect variable substitution
When deploying Weave it can be useful to set a config file variables based on the content of a file, rather than setting the value directly, so this update allows config files to obtain their value from the content of a file that the variable points to rather than using the value itself. So if the value of a variable starts with @ and the rest of the value points to a file then the first line in the file will be used as the value for the variable rather than the value of the variable itself.
Add support for using variables in config file include directives
Config files can include other config files using the <?include filename?> directive in the file but the filename can not currently include a variable in the name, e.g. <?include ${CONF_LOCATION}/settings.xml?>.
Support resetting toc model when map engine is reset
A toc model that obtains information from its underlying map engines does not refresh when the map engine is reset.
Add support for sorting a data definition on a column that is not one of the parameters
It’s currently not possible to use a data definition in a list that is sorted based on a column that is not listed in a parameter.
Link tracking should support whitelisting of domains that it can track and forward to
Currently there is no filtering of which url are allowed to be used with the link proxy.
Expose property provider API
There is a property provider API inside the properties support API that would be useful outside of the properties support package so it’s going to be exposed.
User property provider API for string substitution
The new string substitution API should make use of the property provider API to obtain the values it used for string substitution.
Improve support for encoding values when generating search SQL
If you replace the default where clause generated for a parameter in an attribute search with a where clause you can only encode the value directly in the clause definition, e.g.
<where clause="column = '${name}'"/>
. This update allows you to place a ? as a marker in the clause, e.g.<where clause="column = ?"/>
, which allows the database driver to handle the encoding of the input value to the correct type.
GWC tiled map engines should retry if they are not available at startup
If a GWC tiled map engine is not available when the server is started it will never be available because the server does not retry the connection on failure.
Grid export does not honour column sort
The sorting applied to the grid panel by the user is not reflected in the exported data.
Fixes
Can not handle CQL filters with apostrophes in some situations
If a filter contained ' it was not being parsed correctly.
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.
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.
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.
ArcGIS spatial engine missing referer value when generating token
In some cases generating an AGS token requires a referer parameter, not just a header, to be set and this is not always done.
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.
Spatial engines have problems with layer names that contain parenthesis
If a spatial engine exposes layers that contain ( or ) Weave is unable to find the layer when it need to directly interact with it.
spmd conf command can generate invalid output
If a layer contains “invalid” characters, e.g. ( or ), then the entity that is generated using the spmd conf command will generate an entity id that is invalid.
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.
Spatial editing not handling computed columns correctly
When a DB has a computed column the GeoTools driver tries to set the column value to null which the DB does not like, so we need to ensure that GeoTools does not create insert/update statements that include columns that should not be included.
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.
Dynamic user attribute not being cleared
The rest api call to clear user attributes does not actually clear the attributes.
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.
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.
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.
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.
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.
Error message generated when reverse proxy not setup to forward IP address
If Weave is behind a reverse proxy and the proxy is not configured to forward the client IP address Weave will generate an error in the log which is not required.
Static content can't be served if it has a space in the file name
If a file is in the workspace\static directory and contains spaces in the file name the client will not be able to fetch the content.
Label/description localisation in BIRT report only occurs for first user
If a report label or description requires localisation for the user the localisation is happening based on the first user that access the report and is then cached resulting in other users that use a different locale from getting the wrong text.
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 .
Editing does not select multi-select field values when updating
If you try and update an existing entity that contains a multi-select field the values are not selected based on the existing values in the record.
Pathway UX issue if Weave mis-configured
If Pathway is configured with a single link between a Weave entity and a Pathway level and the level is lowercase then Pathway UX will generate an error. This update will ensure that the level is always converted to uppercase. Note if you have multiple links configured then the conversion to uppercase already occurs.
ToC model is treating empty description attribute the same as a null description attribute
If the description in a toc model for a layer is not specified then Weave will use the value provided by the back end service, but currently if the value is specified but it’s an empty string then Weave will still fetch it from the back end service rather than not displaying a description.
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