If a large number of features are to be edited, the Service API is not very useful for classic editing. Therefore WebOffice 10.9 SP1 offers a service API for bulk editing using URL parameters, whereby only one single feature class can be processed with one call, which is defined via the parameter editlayerid. The features to be edited must also be addressed via the same key field, which is defined via the parameter editkeyfield.

 

Bulk editing consists of two steps. First, all editkeyvalue parameters are checked for whether they are already stored in the Feature Class or not. These values may not be present for creation, but they must be present for deleting and updating. If skip_checks=false is set, the editing process will be interrupted at this point if there are any problems. This step can be skipped by entering the parameter skip_checks=true, so that the other possible editing actions can be carried out. This prevents the entire call from being terminated with an error and no data being changed as soon as an inconsistency is detected in the call.

 

In a second step, the actual change of the data takes place.

 

A big advantage of using this editing functionality is that, in contrast to the classic editing functionality, in case it is not possible to edit individual features, the failed features are listed individually in the log file. In addition, it is also possible to make the possible changes using skip_checks=true, even if other changes fail.

 

The following are the HTTP query string parameters that can be used to control the behavior of the WebOffice 10.9 SP1 bulk editing module, where the parameters can be assigned several times with _XX and each editing action can be identified by parameters of the same number (e. g._01).

 

Parameter

description

project

Defines the project in which bulk editing is to be carried out.

skip_checks

If this parameter is set to false, the editing process will be interrupted at this point if there are any problems. This step can be skipped by setting the parameter to true, so that the other possible editing actions can be carried out very well.

editlayerid

The editing layers are identified by the ID that is configured in the attributes of the external layer ID (query).

editkeyfield

The parameter editkeyfield must contain the field name to search for the name of the feature to be edited. The features to be edited must all be addressed using the same key field.

edit action_XX

Defines the editing action to be used. Valid values for this parameter are:

create

edit

delete

editkeyvalue_XX

This parameter is only valid for the editing actions Edit. The value editkeyvalue must be unique and must not appear more than once (for example, via an object ID to address the object uniquely).

editfields_XX

List of editing fields to which the respective values under editvalues are to be passed. By default, the list is limited by ;, e.g. TYPE;NAME;REMARK;DISTANCE

editvalues_XX

List of editing values to be passed to the fields at editkeyvalue. The number of elements in the list must be the same as the number of elements in the list of editfields, e. g.: My Input Type; My Name; My Comment; 100.87

geometry_XX

This parameter can be used to set the vertices (X, Y) of objects. This parameter is only valid for the editing actions Create.

When creating points, only one coordinate pair is set. When creating lines and polygons, more coordinate pairs must be set separated by ;. The respective coordinates in a pair are separated by %20 or .

edittableid

The editing tables are identified by the ID that is configured in the attributes of the external table ID (query).

 

Example for a bulk editing call on a point feature class:

 

The Bulk Editing of published ArcGIS tables is also possible.

icon_comment

Example calls:

 

- Adding data to a table:

https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editaction_1=create&editfields_1=<FIELD>&editvalues_1=<VALUE>&editaction_2=create&editfields_2=<FIELD>&editvalues_2=<VALUE>

 

- Editing a value in multiple rows in a table:

https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction_1=edit&editkeyvalue_1=<KEYVALUE>&editfields_1=<FIELD>&editvalues_1=<VALUE>&editaction_2=edit&editkeyvalue_2=<KEYVALUE>&editfields_2=<FIELD>&editvalues_2=<VALUE>

 

- Editing values in multiple rows in a table:

https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction_1=edit&editkeyvalue_1=<KEYVALUE>&editfields_1=<FIELD_1>;<FIELD_2>&editvalues_1=<VALUE_1>;<VALUE_2>&editaction_2=edit&editkeyvalue_2=<KEYVALUE>&editfields_2=<FIELD_1>;<FIELD_2>&editvalues_2=<VALUE_1>;<VALUE_2>

 

- Deleting records in a table:

https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction_1=delete&editkeyvalue_1=<KEYVALUE>&editaction_2=delete&editkeyvalue_2=<KEYVALUE