Chapter 15. Server Side Job Files - Sandboxes

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 CloverETL 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 34, Clustering Features). A sandbox cannot contain another sandbox within – it’s a single root path for a project.

It's recommended to put all sandboxes in a folder outside the CloverETL Server installation (by default the sandboxes would be stored in the ${user.data.home}/CloverETL/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 CloverETL Server/application server is running.

Sandboxes Section in CloverETL Server Web GUI

Figure 15.1. Sandboxes Section in CloverETL Server Web GUI


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

Table 15.1. Sandbox attributes

Sandbox IDA 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.
Sandbox Sandbox name used just for display. It is specified by user in during sandbox creation and it can be modified later.
Sandbox root pathAbsolute 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 CloverETL 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}/CloverETL/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/CloverETL/sandboxes/dataReports". See Chapter 34, Clustering Features for details about sandboxes root path in cluster environment.
OwnerIt is set automatically during sandbox creation. It may be modified later.