Chapter 22. Sandboxes - Server Side Job Files

A sandbox is a place where you store all your project’s transformation graph files, jobflows, data, and other resources. It’s a server side analogy to a Designer project. The Server adds additional features to sandboxes, like user permissions management and global per-sandbox configuration options.

The Server and the Designer are integrated so that you are able to connect to a Server sandbox using a Server Project in your Designer workspace. Such a project works like a remote file system – all data is stored on the Server and accessed remotely. Nonetheless, you can do everything with Server Projects the same way as with local projects – copy and paste files, create, edit, and debug graphs, etcetera. See the CloverDX Designer manual for details on configuring a connection to the Server.

Technically, a sandbox is a dedicated directory on the Server host file system and its contents are managed by the Server. Advanced types of sandboxes, like “partitioned sandbox” have multiple locations to allow distributed parallel processing (more about that in Chapter 41, Sandboxes in Cluster). A sandbox cannot contain another sandbox within – it’s a single root path for a project.

It is recommended to put all sandboxes in a folder outside the CloverDX Server installation (by default the sandboxes would be stored in the ${user.data.home}/CloverDX/sandboxes, where the user.data.home is automatically detected user home directory). However, each sandbox can be located on the file system independently of the others if needed. The containing folder and all its contents must have read/write permission for the user under which the CloverDX Server is running.

Sandboxes Section in CloverDX Server Web GUI

Figure 22.1. Sandboxes Section in CloverDX Server Web GUI


Each sandbox in non-cluster environment is defined by the following attributes:

Table 22.1. Sandbox attributes

Sandbox A sandbox name used just for display. It is specified by the user during sandbox creation and it can be modified later.
Sandbox ID A unique name of the sandbox. It is used in server APIs to identify sandbox. It must meet common rules for identifiers. It is specified by user in during sandbox creation and it can be modified later. Note: modifying is not recommended, because it may be already used by some APIs clients.
Owner It is set automatically during sandbox creation. It may be modified later.
Sandbox root path Absolute server side file system path to sandbox root. It is specified by user during sandbox creation and it can be modified later. Instead of the absolute path, it's recommended to use ${sandboxes.home} placeholder, which may be configurable in the CloverDX Server configuration. So e.g. for the sandbox with ID "dataReports" the specified value of the "root path" would be ${sandboxes.home}/dataReports. Default value of sandboxes.home config property is ${user.data.home}/CloverDX/sandboxes where the user.data.home is configuration property specifying home directory of the user running JVM process - it's OS dependent). Thus on the unix-like OS, the fully resolved sandbox root path may be: /home/clover/CloverDX/sandboxes/dataReports. See Chapter 41, Sandboxes in Cluster for details about sandboxes root path in Cluster environment.
Sandbox typeType of the sandbox. It can be: local, shared or partitioned.