Web Integration - Custom Tool

With WebOffice 10.9 SP1 it is possible to use custom tools. By using a custom tool it is possible to extend WebOffice 10.9 SP1 functionality with arbitrary tool functionality. Each configured custom tool will get its own toolbar button in the WebOffice core client. The custom tool functionality and the tool form can be implemented by VertiGIS or by the customer. Therefore the Esri API technology can be used. Furthermore WebOffice 10.9 SP1 provides an easy-to-use API which is implemented on

HTTP GET/POST protocol level (similar to ArcGIS Server REST API) or

JavaScript level (similar to ArcGIS Server Javascript API).

 

icon_comment

The full functionality of generic tools can only be found for the WebOffice core client In other clients, generic tools are only partially available or not available at all.

The following generic tools are supported for the WebOffice mobile client:

oStatic Custom Tool,

oSimple Custom Tool (Mode: Click point & Line),

oAdvanced Custom Tool (Mode: Click point)

Ungrouped, i.e. as a subnode to Tools, a maximum of 25 custom tools can be configured.

A maximum of 25 custom tools can be configured in the Web Integration tool group.

A maximum of two custom tools can be configured in other tool groups (e.g. Navigation tool group).

In the Web Integration tool group for the MapWidget (Project configuration > WebOffice map widget > Tool group - web Integration) a maximum of 10 custom tools can be configured.

 

See figure below for the WebOffice 10.9 SP1 custom tool concept. The custom tool implementation may use arbitrary web technology and Esri API, this decision is totally up to the customer implementing the custom tool.

 

WebOffice 10.9 SP1 custom tool concept

WebOffice 10.9 SP1 custom tool concept

 

Web Integration - Custom Tool configuration

Web Integration - Custom Tool configuration

 

Property

Description

URL of external page

Full URL of external web page/application.

Tool tip

Name of the tool that is displayed as a mouseover (tool tip). As a label, this tool tip can still be overwritten by a name in Ribbons.

Pass mode

Pass mode

 

HTTP: Pass coordinates and/or object keys from WebOffice 10.9 SP1 to the external web page via HTTP (parameters are added in the query string of the HTTP request)

icon_comment

The custom tool form needs a target window (e.g. hidden iframe) called weboffice_tool_target. Parameters are sent to the configured URL of external page for passing parameters using the target weboffice_tool_target.

 

JavaScript: Pass coordinates and/or object keys from WebOffice 10.9 SP1 to the external web page calling a JavaScript function of the configured web page

icon_comment

The custom tool form needs to be accessible by javascript from inside the WebOffice 10.9 SP1 application window, therefore the tool form has to run inside the same HTTP domain. Parameters are sent to the javascript function of the custom tool configured in JavaScript function.

Use HTTP Get

Pass parameters to external application via HTTP Get (or HTTP Post).

icon_comment

These settings are only relevant if the pass mode HTTP is active.

URL of external page for passing parameters

Full URL of external web page/application used for passing parameters (Pass mode HTTP).

Provide snap functionality?

Specifies if the snap functionality should be provided in the tool form or not.

External Tool-ID

Tool id used for external calls

Access control ID

Access control ID needed for access control based on WebOffice usermanagement.

If an ID is configured here (eg MY_CUSTOM_TOOL) and WebOffice usermanagement is used, the user role is checked whether it provides the necessary application right or not (according to the example the application right would be MY_CUSTOM_TOOL). If the necessary application right is not available, the button/link for accessing the external application will not be available in the WebOffice 10.9 SP1 client.

Map View

Defines a specific map view to be displayed when this tool is chosen. If no map view is configured, the current map does not get changed.

Use tool?

Specify whether this Tool is available in the WebOffice 10.9 SP1 clients (true) or not (false).

JavaScript callback on close

JavaScript method called before closing the tool

JavaScript function

JavaScript function of external web page/application called by WebOffice 10.9 SP1.

e.g. ProcessWebOfficeCall(objKeys[],geom[][]).

Pass user context (x-syn-login header field)?

Specifies if the user context of the user logged on to WebOffice 10.9 SP1 will get passed in the HTTP header.

icon_comment

If a user context is passed to an external application, it will be readdressed (URL changes from https://extserver/extpage.htm?... to https://webofficeserver/webofficeapplication/synredirect?...).

All paths used in the external application must then be absolute paths!

Pass user context (base 64)?

Specifies if the user context of the user logged on to WebOffice will get passed in the HTTP header.

icon_comment

If a user context is passed to an external application, it will be readdressed (URL changes from https://extserver/extpage.htm?... to https://webofficeserver/webofficeapplication/synredirect?...).

All paths used in the external application must then be absolute paths!

Pass WebOffice user token in header?

Specifies if a User Token should be passed in the Header (WebOffice-User-Token).

Pass associated login in header?

Specifies if the associated login of the user logged on to WebOffice will get passed in the HTTP header WebOffice-Associated-Login.

On condition that there exists the associated login entry in the UMDB for the logged user.

Tool icon

In WebOffice 10.9 SP1 folder pub/images 10 icons are available (tool_01.gif to tool_10.gif). Icon size 16x16 pixel

Tool icon (mobile)

In WebOffice 10.9 SP1 folder pub/images/mobile the icon customtool_default.png is available.

Tool icon (flex)

In WebOffice folder pub/images/customtool a number of icons are available. Minimun Icon size is 24x24 pixels.

Visible in toolbar?

Tool visible?

Visible in Client

Tool visible in client?

Web Integration - Custom Tool configuration

 

The selection graphs as wells as the click icon can be adapted individually for each custom tool. The following design settings can only be used in the WebOffice core client.

The settings have to be made in the file <WebOffice 10.9 SP1 application>\client_core\jss\properties_weboffice_user.xml. It is possible to adapt the following parameters:

 

<?xml version="1.0 encoding="UTF-8"?>

<data>

 <!--Icon for Click point, if show click symbol is set to true on the specific custom tool->

 <record jsxid="toolcustom.click.icon jsxtext="http://w-ws-gimpl:8080/WebOffice_105_master/pub/images/dynsel_redcircle_small.gif"/

 <!--Width of icon->

 <record jsxid="toolcustom.click.width jsxtext="24"/>

 <!--Height of icon->

 <record jsxid="toolcustom.click.height jsxtext="24"/>

 <!--Offset X of icon->

 <record jsxid="toolcustom.click.offset.x jsxtext="12"/>

 <!--Offset Y of icon->

 <record jsxid="toolcustom.click.offset.y jsxtext="12"/>

 <!--Size of all vertices->
 <record jsxid="toolcustom.vertex.size jsxtext="6"/>

 <!--Color of all vertices->

 <record jsxid="toolcustom.vertex.color jsxtext="#DAA520"/>

 <!--Opacity of all vertices->

 <record jsxid="toolcustom.vertex.opacity jsxtext="1"/>

 <!--Line width->

 <record jsxid="toolcustom.line.width jsxtext="3"/>

 <!--Line color->

 <record jsxid="toolcustom.line.color jsxtext="#FFC700"/>

 <!--Opacity of line->

 <record jsxid="toolcustom.line.opacity jsxtext="1"/>

 <!--Opacity of fill (when operating with polygons)->

 <record jsxid="toolcustom.fill.opacity jsxtext="0.5"/>

 <!--Color of fill (when operating with polygons)->

 <record jsxid="toolcustom.fill.color jsxtext="#FDE17F"/>

<data>

 

Replace the parameter toolcustom with the corresponding external Tool-ID ​​defined for the custom tool. This allows different selection graphs and click icons to be used for each custom tool.

 

icon_comment

Please note that WebOffice 10.9 SP1 may change the URL consisting of the base URL and attached parameter for security reasons. If the desired structure of the URL is not achieved, this can be achieved by configuring .jsp files. Examples of this can be found under ..\pub\custom_pages\forward*.jsp".

Check sample custom tool implementations and detailed technical information (ToolCustom.txt) in folder pub/custom_tools of your WebOffice 10.9 SP1 application.

 

icon_cross-reference

See chapter How To ... Custom Tools for some examples about the custom tool.