Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The spatial editing extension for Weave provides a means to edit geometry and attributes for an entity.

Features:

...

The spatial editing extension for Weave provides a means to edit geometry and attributes for an entity.

Features:

  • Simple to setup for basic operation
    Configure the id, label and entity and Weave will do the rest.
  • Customisable for advanced operation
    Refine geometry setting and input parameters, and provide pre-defined lists of values for input.
  • Supports editing on an entity with multiple spatial layers
    A single entity that is composed of separate point, line and/or polygon tables is transparently handled by Weave.
  • Creation and updating on an entity in the client can be initiated from URL parameters
    The Weave client can be started with parameters in the URL to immediately begin the editing process for a specific entity for the user.
  • Auditing of editing operations
    Custom auditing can be setup to write a new log records to a database table for each edit operation performed by a user.
  • Snapping of geometry
    Configurable snapping is available to help with drawing geometry.
  • I18n support
    All of the text/labels for the editing components can be customized for multiple languages or even just having the default text changed.
  • "Identity" columns
    It's possible to specify that an attribute for a new record is based on incrementing the previous highest value of the column, or that the column will be automatically generated by the underlying database system.
  • Read-only columns
    It's possible to specify that an attribute can be displayed but not changed (readonly), can only be changed when the entity is created (readonlyonupdate) or can only be changed when an entity is updated (readonlyoncreate).
  • Hidden columns
    It's possible to specify attributes that aren't visible to the user but are still written when an edit is performed, using either a fixed value or one of a number of supported functions.
  • Formula columns
    It's possible to specify a number of in-built formulas as the value for a column, including things like userid(), datetime(), entity(), area() and length(). These can be used for both the spatial and audit tables.
  • Restrictions on the number and types of geometry
    Geometry input can be constrained to indicate a minimum and maximum number of geometries that can be entered when creating an entity and the types of geometries can be specified.
  • Customization of client view
    The display of the input panel can be customized via the configuration. Some things that can be customized are if text and/or icons are display in buttons, which buttons are displayed (hiding the polygon button for example) and the locations of some of the buttons.

...

Can change value when a new entity is being created

Name

Type

Required

Default

Description

id

string

yes


A unique identifier for the parameter

label

string

yes


The prompt text displayed when user input the parameter value

column

string

no


The name of the column within the table that this parameter references

helptext

string

no


Additional text to display for the parameter to explain how to use the parameter

hidden

boolean

no

false

Hides the parameter from the parameter UI

alignment

'left', 'center', 'right', 'auto'

no

'auto'

How the items should appear in the UI

controltype

'listbox', 'checkbox', 'radiobutton', 'textbox' or 'textarea'

no

'textbox'

The suggested type of UI control to use when displaying the parameter

datatype

'any', 'date', 'time', 'datetime', 'integer', 'string'

no

'string'

The data type for the parameter

allownull

boolean

no

false

Whether a null value is allowed for this parameter

allowblank

boolean

no

true

Give the user the choice of an empty value in the listbox (as opposed to a null value)

allownewvalues

boolean

no

false

Allow the user to enter values not in the listbox already

defaultvalue

any

no


The default value of the parameter

dataset

ref urn:com.cohga.server.data.database#1.0:datadefinition

no


Where to get the values for a listbox

labelcolumn

string

no


Column in the datadefinition that supplies the label of the value to show the user

valuecolumn

string

no


Column in the datadefinition that supplies the value of the value to use in the SQL

uppercase

boolean

no

false

Should the value to show the user

valuecolumn

string

no

Column in the datadefinition that supplies the value of the value to use in the SQL

uppercasebe converted to upper case in the generated SQL

readonly

boolean

no

false

Can the user change the value

readonlyoninsert

boolean

no

false

Can the user change the value when a new entity is being created

readonlyonupdate

boolean

no

false

Can the user change the value when an entity is being edited

updatable

boolean

no

falsetrue

Should Can the underlying value be converted to upper case in the generated SQL

readonly

boolean

no

false

Can the user change the value

readonlyoninsertever be changed once set (implied readonlyonupdate if set to true)

value

any

formula or any


A value to insert into the database, provides a means of creating values beyond what the user enters (implied readonly if set

persistedbooleannofalseShould the value the user chooses for the field become the

readonlyonupdate

boolean

no

false

Can the user change the value when an entity is being edited

updatable

boolean

no

true

Can the underlying value ever be changed once set (implied readonlyonupdate if set to true)

value

any

formula or any

A value to insert into the database, provides a means of creating values beyond what the user enters (implied readonly if set

persistedbooleannofalseShould the value the user chooses for the field become the default value for the field?default value for the field?
minvalueanyno
The minimum value allowed for a field. Available from 2.5.28.
maxvalueanyno
The maximum value allowed for a field. Available from 2.5.28.
minlengthintegerno
The minimum length allowed for a field. Available from 2.5.28.
maxlengthintegerno
The maximum length allowed for a field. Available from 2.5.28.
timeincrementintegerno15The increment to use for time fields. Available from 2.5.28.

A few things to not about the properties that can be applied to parameters:

  • column is optional, if not provided then the field will still appear, but an attempt to write the entered value into the underlying spatial table will not be made. The user entered value can still be used by other means that will be covered later.
  • The controltype now supports 'textarea' which isn't available for search fields, it provides a multi-line text input field.
  • readonly, readonlyoninsert and readonlyonupdate aren't available for search field either, they're special marker markers that allow you to alter the ability of the user to change the value in a field. These are client-side flags, and if set alter alters the display of the field so that the user cannot change the value, the field is still displayed, just not editable.
  • updatable specifies that one a value is set it can't be changed, this is similar to readonlyonupdate, and in fact readonlyonupdate will be set to true if updatable is set to false, but it also provides additional checks on the server to ensure that the value is not updated.
  • value can be used to set a value explicitly by directly supplying the value, or there are a number of formulas that are available.
    • entity() The name of the entity type being edited.
    • userid() The current username.
    • ip() The current users IP address.
    • datetime() The current date/time.
    • operation() The type of operation being perform, performed will be one of the strings 'create', 'update' or 'delete'.
    • nextval() The value used for the column will be the previous largest value from the column plus one, the underlying column must be numeric.
    • geometry() A WKT (Well Known Text) representation of the geometry if available, otherwise null.
    • id() The value for the key field for the spatial table will be used if available, otherwise null.
    • auto() The value for the field is auto-generated by the database.
    • count() The number of geometry objects.
    • area() The area of the geometry.
    • length() The length of the geometry.

...