You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Browse scripts are associated with extensible connections and are used to discover source systems. There are a number of environment variables and token replacements available to developers when writing browse scripts. All browse scripts must return information about the source model in a specific JSON format

Environment variables scripts

The following script environment variables are available to all browse scripts.

Variable

Description

WSL_SRCCFG_<configured_field_name>

The values of configured connection properties can be accessed using environment variables.

WSL_BINDIR

The WhereScape 3D installation path. (The default location is 'C:\Program Files\WhereScape\WhereScape 3D'.)

WSL_WORKDIR

The working directory where the script is executed. (The working directory will be in %UserProfile%\WhereScape\3D\scriptExecution.)

WSL_TASK_NAME

A name used to identify the browse script discovery task.

WSL_SEQUENCE

A sequence id to identify each browse script discovery process.

Token replacement in scripts

The values of configured connection properties can be accessed in browse scripts using the following token format which will be replaced at run-time: $WSL_SRCCFG_<cofigured_field_name>$

Browse Script Output

Each browse script should return a set of JSON which is used to define the discovered model. An example of the output required is displayed below.

{
  "treeViewLayout": "Tabular",
    "treeViewIcons": {
        "schema": "database.ico",
        "table": "table.ico"
    },
    "C:\\Program Files\\WhereScape\\RED\\Tutorial": {
        "budget.txt": {
            "name": "budget",
            "description": "budget table description",
            "rowCount": null,
            "columns": [{
                    "name": "product_code",
                    "dataType": "numeric",
                    "dataTypeLength": null,
                    "dataTypeScale": 6,
                    "dataTypePrecision": 0,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "budget.txt",
                    "sourceColumn": "COL1",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "customer_code",
                    "dataType": "numeric",
                    "dataTypeLength": null,
                    "dataTypeScale": 6,
                    "dataTypePrecision": 0,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "budget.txt",
                    "sourceColumn": "COL2",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "budget_quantity",
                    "dataType": "numeric",
                    "dataTypeLength": null,
                    "dataTypeScale": 8,
                    "dataTypePrecision": 0,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "budget.txt",
                    "sourceColumn": "COL3",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "budget_sales_value",
                    "dataType": "numeric",
                    "dataTypeLength": null,
                    "dataTypeScale": 8,
                    "dataTypePrecision": 2,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "budget.txt",
                    "sourceColumn": "COL4",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "budget_date",
                    "dataType": "datetime",
                    "dataTypeLength": null,
                    "dataTypeScale": null,
                    "dataTypePrecision": 3,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "budget.txt",
                    "sourceColumn": "COL5",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }
            ],
            "loadInfo": {
                "fileLoaderOptions": "TABLOCK",
                "fileParsed": true,
                "overrideLoadSQL": "",
                "overrideSourceColumns": "",
                "selectDistinctValues": false,
                "sourceFile": {
                    "charSet": "",
                    "escapeEncoding": "",
                    "fieldDelimiter": ",",
                    "fieldEnclosure": "\"",
                    "headerLine": true,
                    "name": "budget.txt",
                    "nonStringNullEncoding": "",
                    "nullEncoding": "",
                    "path": "C:\\Program Files\\WhereScape\\RED\\Tutorial",     "(Source Directory)"
                    "recordDelimiter": ""
                },
                "sourceSchema": "",
                "sourceTables": "budget.txt",      
                "useOverrideSourceColumns": false,
                "whereAndGroupByClauses": ""
            },
            "uiConfigLoadTableProperties": {
                "fileType": "PARQUET",
                "tableField2": "value"
            }
        },
        "forecast.txt": {
            "name": "forecast",
            "description": "forecast table description",
            "rowCount": null,
            "columns": [{
                    "name": "product_code",
                    "dataType": "string",
                    "dataTypeLength": null,
                    "dataTypeScale": null,
                    "dataTypePrecision": null,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "forecast.txt",
                    "sourceColumn": "COL1",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "customer_code",
                    "dataType": "string",
                    "dataTypeLength": null,
                    "dataTypeScale": null,
                    "dataTypePrecision": null,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "forecast.txt",
                    "sourceColumn": "COL2",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "forecast_quantity",
                    "dataType": "string",
                    "dataTypeLength": null,
                    "dataTypeScale": null,
                    "dataTypePrecision": null,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "forecast.txt",
                    "sourceColumn": "COL3",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "forecast_sales_value",
                    "dataType": "string",
                    "dataTypeLength": null,
                    "dataTypeScale": null,
                    "dataTypePrecision": null,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "forecast.txt",
                    "sourceColumn": "COL4",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }, {
                    "name": "forecast_date",
                    "dataType": "string",
                    "dataTypeLength": null,
                    "dataTypeScale": null,
                    "dataTypePrecision": null,
                    "nullAllowed": true,
                    "defaultValue": "",
                    "description": "The physical shipping address of the customer.",
                    "displayName": "address",
                    "format": "",
                    "additive": false,
                    "numeric": false,
                    "attribute": false,
                    "sourceTable": "forecast.txt",
                    "sourceColumn": "COL5",
                    "transform": "",
                    "transformType": "",
                    "uiConfigColumnProperites": {
                        "columnField1": "value",
                        "columnField2": "value"
                    }
                }
            ],
            "loadInfo": {
                "fileLoaderOptions": "TABLOCK",
                "fileParsed": true,
                "overrideLoadSQL": "",
                "overrideSourceColumns": "",
                "selectDistinctValues": false,
                "sourceFile": {
                    "charSet": "",
                    "escapeEncoding": "",
                    "fieldDelimiter": ",",
                    "fieldEnclosure": "\"",
                    "headerLine": true,
                    "name": "budget.txt",
                    "nonStringNullEncoding": "",
                    "nullEncoding": "",
                    "path": "C:\\Program Files\\WhereScape\\RED\\Tutorial",
                    "recordDelimiter": ""
                },
                "sourceSchema": "",
                "sourceTables": "budget.txt",
                "useOverrideSourceColumns": false,
                "whereAndGroupByClauses": ""
            },
            "uiConfigLoadTableProperties": {
                "fileType": "PARQUET",
                "tableField2": "value"
            }
        }
    },
    "relations": [
            {
                  "fk_schema": "C:\\Program Files\\WhereScape\\RED\\Tutorial",
                  "fk_table": "budget",
                  "fk_column": "product_code",
                  "referenced_schema": "C:\\Program Files\\WhereScape\\RED\\Tutorial",
                  "referenced_table": "forecast",
                  "referenced_column": "product_code"
            }
    ]
}


  • No labels