Configuration via app.json

The example configuration shows all app.json parameters.

app.json
"mapapps_etl": {

      "MapappsETLTools": [
       {
          "fmeServerConfig": {
            "fmeServerUrl": "https://<FME Server URL>",
            "workspaceName": "<Workspace Name>.fmw",
            "repositoryName": "<Repository Name>",

            // deactivate to use the URL without the map.apps proxy.
            // Required if the FME Server is called directly or via ETL Proxy Servlet or security.manager EE.
            "useProxy": true,

            // true if uploads should be sent to a validation Workspace before continuing with the main process.
            "useAnalyzeWorkspace": false,

            // analyzeWorkspace and hiddenAnalyzeColumns are only required if useAnalyzeWorkspace is set to true.
            // Has to be a Workspace in the same Repository as the main Workspace.
            "analyzeWorkspace": "<Analyze Workspace Name>.fmw",
            // Hide columns of the analysis for output in the result table,
            // i.e. "coordinate_system", "format_long", "attributes", "geometry_types"
            "hiddenAnalyzeColumns": ["format_long"]

            // Optional, timeout for http requests. Defaults to 600000 ms
            "timeout": 600000
          },
          "fmeTool": {

            // can be an empty array or any of the given values.
            // The parameter window is always shown if the parameters aren't hidden
            // see fmeParameterOpts.hiddenParameters
            "inputs": [
              "upload", "extent", "mapfeatures", "resultcenter", "result-ui"
            ],

            // in comparison to the inputs, only one output is allowed.
            // Can be "map", "status" or "download"
            "output": "map",

            // specifiy width and height in pixels of the tool.
            "marginBox": {"w": 550, "h": 500, },
            // marign box used for ifram reports
            // (see "message" property in the FME response)
            "iframeMarginBox": {"w": 550, "h": 500, }
          },
          "fmeParameterOpts": {

            // list of FME Published Parameters.
            // If all parameters of the Workspace are selected, the parameter dialog will be hidden.
            "hiddenParameters": [],

            "mapappsParameters": {
                // only required if the input methods is set to "extent".
                // Can be "rectangle", "polygon", "polyline", "line" or "point"
                "extentType": "rectangle",

                // Max size for the input type extent in Km²
                "maxExtentArea": "100"

                // only required if the input method is set to "mapfeatures".
                // Can be "rectangle" or "polygon"
                "mapSelectionExtentType": "rectangle",

                // only required if the input method is set to "upload" and analyze is configured.
                // If false, feature types are collapsed/hidden initially.
                "showFeatureTypes": true,

                // optional for input method "upload".
                // Allowed file extensions can specified as a comma separated list.
                // If missing, all files will be allowed.
                "allowedFileExtensions": ".kml,.dwg",

                // optional: for input method "upload".
                // Maximum file size in Mb.
                "maxUploadSize": "10",

                // optional: to overwrite the configuration of additional files to uploaded files.
                // Main extension -> auxiliary extension -> mandatory true/false.
                // With this example PNG without world file are accepted but Shapefiles without
                // projection file are not.
                "uploadExtensionDependencies": {
                  "shp": {
                    "prj": true
                  },
                  "png": {
                    "pgw": false
                  }
                },

                // optional: run the process asynchronously even if now mail adress is provided.
                // This option should also be used, if the mail adress is appended by the
                // ETL Proxy Servlet in the backend.
                "runAsynchronously": false

                // optional: for output methods "status" and "download".
                // The parameter opt_requestermail will be set to mandatory.
                "emailIsMandatory": false,

                // optional: mail address of currently logged in user is attached to
                // workspace call as opt_requesteremail.
                "provideMapappsEmail": false,

                // optional: user name of currently logged in user is attached to
                // workspace call as mapapps_etl_user.
                "provideMapappsUser": false,

                // optional: maximum number of features per layer allowed while drawing the result on the map.
                // All excess features will be omitted.
                "maxFeaturesPerLayer": 10000,

                // otpional: group layer name (visible in toc), defaults to "ETL".
                "groupLayerName": "Data Upload",

                // optional: popup type
                "popupType": "default",

                // optional: disable popups for new layers. Default: true
                "popupEnabled": false

                // optional: set a map scale.
                // Only applies, if only one feature is supposed to be displayed on the map.
                // A value of 10000 means a map scale of 1:10000.
                "scaleForIndividualFeatures": 10000,

                // optional: opens a popup for the first feature.
                "automaticallyOpenPopup": true,
                // optional: if more than one feature is available, specify how many popups should be loaded.
                // defaults to 1.
                "numberOfAllowedPopupsForMultipleFeatures": 5

                // optional: use number input instead of sliders for Published Parameters
                // all slider ui elements will be swapped to number inputs (default is false)
                "useNumberFieldInsteadSliders": true
            },

            // optional: the user has to accept the terms of use before starting the Workspace.
            "acceptTermsOfUse":  false,

            // IDs of layers that should not be shown in the "Download features from map" dialog.
            "mapFeaturesHiddenLayers": [
                "layerIdToBeHidden"
            ],

            "resultCenterDownload": {
            // default is "selected".
            // With "all" everything will be downloaded even if now individual entries in the
            // resultcenter are selected.
              "downloadMode": "all"
              // default is false.
              // With true, the attribute filter option will not be shown.
              "hideAttributeFilter": true,
            }

          },
          "title": "Tool Title",
          "tooltip": "Tooltip",
          "iconClass": "icon-upload",

          // tool id used to configure tool in the toolsets
          "id": "mapapps_tool_id",

           // optional: specify i18n values for each tool individually if necessary.
          "i18n": {
            "en": {
              "title": "Title - EN",
              "uploadExplanation": "Upload Explanation - EN",
              "uploadExplanationFooter": "Footer -EN",
              "extentExplanation": "Choose your area of interest on the map.",
              "mapFeaturesExplanation": "Choose layers from which vector graphics should be chosen. Then select elements on the map.",
              "furtherInformation": "Further information",

               // Error messages can be created from within the FME Workspace.
              // Append your i18n strings here for custom error messages.
              "transformationErrors": {
                    "NO_FEATURE_WRITTEN": "The process didn't result in any outputs.",
                    "FILE_COULD_NOT_BE_READ": "The file ${0} could not be read.",
                    "TOO_MANY_FEATURES": "The maximum number of features for one layer was reached ${0}. Some features were omitted."
                },
               // optional: localize/overwrite prompt of Published Parameters.
              // The key is the parameter name in FME.
                "fme_published_parameter": {
                    "opt_requesteremail": "Enter Mail Address"
                }
            },
            "de": {
              "title": "Title - DE",
              "uploadExplanation": "Upload Erklärung - DE",
              "uploadExplanationFooter": "Footer - DE"
            }
          }
        }
    ]
}