FRAMES | NO FRAMES Description | Parameters | Examples | Response
Update Diagram (Operation)
URL http://<schematicdiagramtemplate-url>/updateDiagram
Parent Resource Schematic Diagram Template

Description

The updateDiagram operation is performed on a schematic diagram template resource. The result of this operation is a Schematic Diagram Information Object.

It is used to update an existing diagram.

Note: Schematics services published without the Editing operation enabled don't support the updateDiagram operation.

You can provide arguments to the updateDiagram operation as query parameters defined in the parameters table below.

Parameters

Parameter Details
f Description: The response format. The default response format is html.

Values: html | json
name Required
Description: The diagram name.

Syntax:
name=<diagramName>

Example:
name=MyTestDiagram
user Required
Description: The login of the user who updates the diagram.

Syntax:
user=<diagramLastUpdateBy>

Example:
user=NCA3885
builderProperties Description: The builder properties which specifies how the diagram has to be updated. This parameter is required only for diagram based on the Standard builder.

Syntax:
//For a diagram based on the Standard builder, the operation expects the update action that will be used:
builderProperties={"action" : "synchronize" | "refresh" | "appendWithFullSynchronization" | "appendWithPartialSynchronization" | "overwrite"}

Example:
builderProperties={"action" : "synchronize"}
builderContext Required
Description:
The context for the builder which updates the diagram.
This parameter syntax depends on the diagram builder:
  • Diagrams based on the Standard builder that are generated from a set of GIS features/objects, and you want to update using the "appendWithFullSynchronization", "appendWithPartialSynchronization" or "overwrite" action.
    In that case, the operation expects the lists of the input feature/object IDs per feature class/object table to append to the diagram/to use to overwrite the diagram, and those features/objects version.

    Syntax:
    builderContext={
    
    //The lists of the input GIS feature/object IDs per feature class/object table to append to the diagram, or to use to overwrite the diagram
    "initialObjects": [
    {
    "objectClassName" : "<objectClass1Name>",
    "objectIDs" : [ID11, ..., IDN]
    },
    ...,
    {
    "objectClassName" : "<objectClassNName>",
    "objectIDs" : [ID11, ..., IDM]
    }
    ],
    //The SDE database reference version for those input GIS features/objects
    "version": "<version>"
    }

    Example:
    builderContext={"initialObjects": [{"objectClassName": "PipelinesDatabase.SDE.pug_PUG_gas_plants", "objectIDs": [3]}], "version":"sde.DEFAULT"}
    Note:
    The version parameter is optional. We recommend to specify the version when you work with GIS features/objects stored in ArcSDE geodatabases. For this case, when specifying no version, the version used is the one configured on the Associated Object Class section of the Properties tab that displays for the associated schematic feature class when you edit the schematic dataset within Schematic Dataset Editor.

  • Diagrams based on the Standard builder that are entirely built from custom queries or generated from a set of GIS features/objects that you want to update using the "synchronize", or "refresh" action.
    In that case, the operation expects an empty list of initial objects.

    Syntax:
    builderContext={"initialObjects": []}

    Example:
    builderContext={"initialObjects": []}

  • Diagrams based on the XML builder.
    In that case, the operation expects input XML data.

    Syntax:
    builderContext={"XmlSource": <XMLdata>}

    Example:
    builderContext={"XmlSource": "\\Dataserver\SchematicsData\pipelines\BrazilDiagram1Updates.xml"}

persistOption Required
Description: The persistence option to specify whether the removed/reduced schematic features are restored after update and the schematic feature links whose connections have been modified are reconnected to be in exact coherence with their associated real features after update.

Value:
True | False

Example Usage

Example 1: updateDiagram operation by synchronizing a Standard builder diagram content
Under the S1_Schematics Schematics service, the MainNetwork template is based on the Standard builder and works from input GIS features organized into a geometric network.
Since this sample service was published without the Editing operation enabled, the updateDiagram operation is not supported.
But, with the Editing operation enabled, you could synchronize the MPS_Goldmine schematic diagram based on this template (id=2) by executing the updateDiagram operation with the following parameters:

Then, the updateDiagram operation would be sent to the server as follows: http://servicesbeta6.esri.com/arcgis/rest/services/S1_Schematics/MapServer/exts/SchematicsServer/templates/2/updateDiagram?name=MPS_Goldmine&builderProperties=%7B%22action%22+%3A+%22synchronize%22%7D&builderContext=%7B%22initialObjects%22%3A+%5B%5D%7D&user=user3882&persistOption=True&f=pjson

Example 2: updateDiagram operation by appending some new GIS features to a Standard builder diagram without synchronizing all the diagram content
Another kind of updateDiagram operation could be executed to append new GIS features to this schematic diagram without synchronizing all the diagram content. For example, in that case, you could use the following parameters:

Then, the updateDiagram operation would be sent to the server as follows: http://servicesbeta6.esri.com/arcgis/rest/services/S1_Schematics/MapServer/exts/SchematicsServer/templates/2/updateDiagram?name=MPS_Goldmine&builderProperties=%7B%22action%22+%3A+%22appendWithPartialSynchronization%22%7D&builderContext=%7B%22initialObjects%22%3A+%5B%7B%22objectClassName%22%3A+%22PrimayLine%22%2C+%22objectIDs%22%3A+%5B1%5D%7D%5D%7D&user=user5001&persistOption=True&f=pjson

JSON Response Syntax

<diagramInfoSyntax>

JSON Response Example

{

"name": "DiagramFrom_pug_PUG_gas_plants_ID3",
"id": "0-5",
"templateIdentifier": "0",
"templateObjectID": 892,
"schematicLayerIdentifier": 0,
"folderObjectID": -2,
"folderIdentifier": "-2",
"objectID": 5,
"createdBy": "NCA3885",
"lastModificationBy": "NCA3885",
"lastUpdateBy": "NCA3885",
"creationDate": "05/13/11 14:13:57",
"lastModificationDate": "05/15/11 09:13:57",
"lastUpdateDate": "05/15/11 09:13:57",
"lockedBy": "",
"version": "sde.DEFAULT",
"extent": {
"xmin": -37.342619999999989,
"ymin": -11.398460000000886,
"xmax": -37.342179999999097,
"ymax": -11.398019999999997,
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
}
}
}