Release Notes 2.5.21

Weave 2.5.21 includes a number of bug fixes and enhancements to existing tools. A full list of changes can be found at the Weave What's New page. 

To help you decide if you should upgrade, the top 5 enhancements are listed here. If these functions are useful to your Weave users, it's time to upgrade!

Spatial Mappings

Spatial Mapper Update

There has been a breaking change made to the spatial mapper configuration if you specify the spatial engine at the mapping level and not at the top level of the spatial mapper.

Previously a single spatial mapper would allow you to add mappings that pointed to different spatial engines, this is no longer supported.

Additionally, if you specify the spatial engine setting for each mapping, and do not set it once at the top level in the spatial mapper, you will have to change this so that there is a single spatial engine set at the top level of the spatial mapper rather than having the spatial engine set for each mapping. Both formats were previously supported, but now only setting the spatial engine at the top level is supported.

If you have multiple spatial engines you will need to create separate spatial mappers for each spatial engine.

For example the following spatial mapper

Invalid format spatial mapper
<mapper:mapper id="mapper.main">
	<mapping>
		<entity>suburbs</entity>
		<spatialEngine>spatialengine.main</spatialEngine>
		<table>SUBURBS</table>
		<key>SUB_NAME</key>
	</mapping>
	<mapping>
		<entity>wards</entity>
		<spatialEngine>spatialengine.main</spatialEngine>
		<table>WARDS</table>
		<key>WARD_NAME</key>
	</mapping>
</mapper:mapper>

would need to change to

Valid format spatial mapper
<mapper:mapper id="mapper.main">
	<spatialEngine>spatialengine.main</spatialEngine>
	<mapping>
		<entity>suburbs</entity>
		<table>SUBURBS</table>
		<key>SUB_NAME</key>
	</mapping>
	<mapping>
		<entity>wards</entity>
		<table>WARDS</table>
		<key>WARD_NAME</key>
	</mapping>
</mapper:mapper>

Also, if you have more that one spatial engine in a spatial mapper

Invalid format spatial mapper
<mapper:mapper id="mapper.main">
	<mapping>
		<entity>suburbs</entity>
		<spatialEngine>spatialengine.arcsde</spatialEngine>
		<table>SUBURBS</table>
		<key>SUB_NAME</key>
	</mapping>
	<mapping>
		<entity>wards</entity>
		<spatialEngine>spatialengine.sqlserver</spatialEngine>
		<table>WARDS</table>
		<key>WARD_NAME</key>
	</mapping>
</mapper:mapper>

it will need to be split into two spatial mappers

Valid format spatial mapper
<mapper:mapper id="mapper.arcsde">
	<spatialEngine>spatialengine.arcsde</spatialEngine>
	<mapping>
		<entity>suburbs</entity>
		<table>SUBURBS</table>
		<key>SUB_NAME</key>
	</mapping>
</mapper:mapper>


<mapper:mapper id="mapper.sqlserver">
	<spatialEngine>spatialengine.sqlserver</spatialEngine>
	<mapping>
		<entity>wards</entity>
		<table>WARDS</table>
		<key>WARD_NAME</key>
	</mapping>
</mapper:mapper>


(thumbs up) Measure Tools

The Measure Polyline and Measure Polygon tools have improved in both form and function:

  • A new button has been added to the Measure windows allowing the measured item to be added to the Redline layer. Once saved, the measured item becomes a standard Redline object. 


  • Number of digits reported in the Measure windows can be changed by setting digits value, default is 3.
    For example, using this:

    <item action="weave.measurePolyline" windowTitle="Measure Distance" digits="1" />

    will give you this:

  • The initial Measure window placement has been changed so it's not in the middle of the screen.

  • You can decide which of the three measurement outputs (segment, bearing and total) are reported in the window by hiding the outputs that you don't want.
    For example, using this:

    <item action="weave.measurePolygon" windowTitle="Measure Area" hideBearing="true" windowHeight="75"/>

    will give you this:
     


(thumbs up) List Box Filtering

It's now possible to use more sophisticated filtering in your list boxes in a Search. Previously a list box would match on the start of the text entered by the Weave user. But now you can set the word match to be at the start, the middle or the end of the text. By setting matchType to middle or end you can filter whether the text typed by the user is in the middle or at the end of the value, the default is start.
For example, using this:

<search:parameter id="StreetNameMid" promptText="Road Name Middle" controlType="listbox" dataSet="streetnames" column="cid.prop.road_name" valuecolumn="value" labelcolumn="label" matchType="middle"/>

will give you this:



(thumbs up) Bookmark Menu

The Published Bookmarks have been better organised as they are now sorted firstly by the user name and secondly by the Bookmark name. This will improve Bookmark management at sites that have many published Bookmarks. 


(thumbs up) Redline Toolbar

It's now possible to configure which tools and settings menus appear in the Redline toolbar by adding geometryTool and/or settingTool values to the redline action.
For example using this: 

<item action="weave.redline" multilineLabel="true">
	<geometryTool>point</geometryTool>
	<geometryTool>polygon</geometryTool>
	<settingTool>stroke</settingTool>
	<settingTool>fill</settingTool>
	<settingTool>font</settingTool>
	<tool>save</tool>
	<tool>load</tool>
	<tool>buffer</tool>
	<tool>bufferAll</tool>
	<tool>bufferSelected</tool>
</item>

will give you this:


(thumbs up) BIRT Reports

It's now much easier to specify which report formats are available for each report. By setting a format value in a BIRT report you can restrict the format types.

For example using this: 

<birt:report id="a4_port_mapreport" report="reports/map_report_port.rptdesign" label="A4 Portrait Map Report" format="pdf,doc,html" />

will give you this: