What's New

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 the crs 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') or Weave.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.PerspectiveMgrisSameOrigin 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.PerspectiveMgrisSameOrigin 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 a defaultRoles 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 to true in the keycloak.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 empty toolbar and/or contextmenu 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 from map.png to map.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 the Accept 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