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.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.

  • 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.

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

    • 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

  • 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 a defaultRoles 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 to true in the keycloak.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 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

    • 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

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 with verbose and pretty 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 and spmd 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 or id 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 at http://...../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 to logging.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 panel

    • a 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 to true 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

  • 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 and ustorage 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 and comboListWidth 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 to true 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