Sceneservice JSON configuration - merkator-software/GaiaBuilder-manual GitHub Wiki

Key Type Values Description
action string "publishSD" or "deleteService" Required, must be publishSD when publishing the service. change it to "deleteService" to delete the service and related content on ArcGIS Server and Portal for ArcGIS.
antialiasingMode string "None","Fastest", "Fast", "Normal", "Best" Optional, sets the geometry antialiasing mode
aprx string Required, the filename of the ArcGIS Pro document. This file should be in the same directory when publishing from Aprx
categories array string categories is specified with an array that lists all content categories to update on the item, each with full hierarchical path prefixed with /.
content_status string "authoritative" / "deprecated" Optional, label the content in portal as authoritative or deprecated
contentUser string Optional, the user account the published content must be assigned to
credits string Optional, the Copyright credits of the mapservice
description string Optional, description text of the mapservice, no (decode) HTML allowed
layerDataJson string Optional, the filename of the JSON configuration for the Mapservice in Portal for ArcGIS
layername string Optional, the layer to publish from the mapx as scene layer, When omitted or empty the first layer from the mapx will be published
mapx string Required, the filename of the ArcGIS Pro Mapx. This file should be in the same directory when publishing from Mapx and combined with the -m option
mapxjson string Required, the filename of the ArcGIS Pro Mapx JSON. This file should be in the same directory when publishing from Mapxjson and combined with the -q and -m option
portaldescription string Optional, description text for the portal item, this discription can contain json-encoded HTML
portalFolder string Optional, the Portal folder the Mapservice is published to
portalLogo string Optional, configures the item logo in portal with specified file. This file should be in the same directory
portalTitle string Optional, sets a different title for the portal item.
protected bool true / false Optional, protect the items in portal from accidental removal
scenepackagetype string 3DObjectSceneLayerPackage, PointSceneLayerPackage Required, The scene type to be published
servers object ServerObject Required, One or more server or environment configurations
serverconfiguration string Optional, can replace the servers object with a separate servers JSON file configuration, can be used to configure the same servers configuration for different services and updating a service configuration won't update the settings in this file.
stepconfiguration string Optional, the steps configured in this file will overrule the default steps from the commandline
sourceitemid string 32 character hexidecimal string Optional, the ItemID which the service should be registered under in Portal for ArcGIS, configuring an empty string will generate the itemid from a MD5 Hash of the URL subfolder, which will yield the same ItemIDs in your DTAP when the services are published to different servers, but webadaptor, servicename and servicefolder are the same on these servers. Omitting this property will assign a random Item ID
spatial_reference_out number Optional, the spatial reference of the output scene package, required transform_method
transform_method string Optional, the spatial transformation to apply. See https://pro.arcgis.com/en/pro-app/latest/arcpy/functions/listtransformations.htm for more details on generating a transformation method
texture_optimization string NONE, DESKTOP, ALL, MOBILE Optional, Specifies the textures that will be optimized according to the target platform where the scene layer package is used. DESKTOP will be default when no value is specified
summary string Required (optional with metadatafromlayer set to true), the summary of the Mapservice
tags string Required (optional with metadatafromlayer set to true), comma separated list of tags for the service
uselimitations string Optional, use limitations text of the mapservice

Steps

The properties below can be included to force the configured step to be executed regardless the setting from the commandline

  • configureService | bool | true / false | Optional, will override the configureService parameter from the commandline
  • createSDFile | bool | true / false | Optional, will override the createSDFile parameter from the commandline
  • deleteService | bool | true / false | Optional, will override the deleteService parameter from the commandline
  • installService | bool | true / false | Optional, will override the installService parameter from the commandline
  • lyrxrestore | bool | true / false | Optional, will override the lyrxrestore parameter from the commandline
  • lyrximport | bool | true / false | Optional, will override the lyrximport parameter from the commandline
  • mapxrestore | bool | true / false | Optional, will override the mapxrestore parameter from the commandline
  • mapximport | bool | true / false | Optional, will override the mapximport parameter from the commandline
  • replaceDatasources | bool | true / false | Optional, will override the replaceDatasources parameter from the commandline

ServerObject

Any of the properties above can be re-used in the serverobject and this overwrites the global setting

Serverobject use the environment name as the Key Value

Key Type Values Description
datasources array Optional, instructions on how to update the datasources in the Layer of the Map, see Datasources below for more instructions
sharing json dictionary {string:string / list} {"esriEveryone": "true / false","organization": "true / false","groups": ["Group1","Group2" ]} ,"managementgroups" :[ "Shared update group"]
sharingMapService, sharingFeatureService, sharingXXX json dictionary {string:string / list} {"esriEveryone": "true / false","organization": "true / false","groups": ["Group1","Group2" ]} ,"managementgroups" :[ "Shared update group"]

datasources

Datasources contains an array of objects, depending on desired behavior when restoring the mapx

  • Insert the connections from a mapx.json file with multiple options of possible connections in the ArcGIS Server Datastore. For instance, you have a connection to both the test database and the acceptance database on your acceptance ArcGIS Server. In order to force GaiaBuilder to restore the username to the full connection string of the acceptance database, you can add {"databasehint" : "acceptance_db"} to the datasources array. "acceptance_db" must be present in as text in the connectionstring and must bu unique for this database. It can be any text from the connectionstring, but preferably, it is a reference to the database name.
{
    "datasources" : [
        {"databasehint" : "acceptance"}
    ]
}
  • Rewrite a OSA database connection to SQL Server. In this scenario, you stored a mapx or a lyrx file to your repository with OSA connections, which do not contain credentials. Before GaiaBuilder imports the file, it can rewrite the connection string to point to the right database server and database using rewrite rules. The key on each rule is the text which will be replaced on the connectionstring by the value found on that key
{
    "datasources" : [
        {"rewrites" : {
            "develop_db_server" : "test_db_server",
            "develop_db_name" : "test_db_name"
        }
    ]
}