PackBench is part of the Enterprise edition of RayPack.
The bench environment is composed of a central database server and several clients, providing the user interface for the management and execution of packaging related tasks. A typical packaging environment extends these components with shared locations for resource storage, and a collection of (usually virtual) devices for repackaging, testing, and the like.
There are some essential objects which need to be considered for successful PackBench utilization:
A project is a logical unit which groups a dedicated set of workflows. A bench project may resemble a real project, such as an operating system migration project or typical workflows required for servicing a specific customer, business unit, or packaging team. Projects have no other function or technical dependencies.
Workflows are templates that describe ordered sequences of work steps required for performing specific tasks. Each workflow template belongs to a specific project. Within the PackBench each workflow has a name and may optionally be equipped with a description and a help file. When a workflow is created, the user defines a set of variables (see below), which are used to save information that is either needed to perform the steps, or are derived as results from step execution. Workflow steps may either be executed in a strictly guided sequence from A to Z or in a free mode that allows arbitrary execution. Users may instance as many runs from each workflow template as required for the packaging factory operation.
When a packager starts working on a new task, he browses the project repository of workflow templates and instances a run from the template that fits the current order. Thus, a run is a copy of a specific workflow which is filled with information and executed step by step. Whilst a template is a generic description of what to do in which order, the runs execute and document the actual activity for a single packaging order. Runs are usually executed by one member of a packaging team, but may as well be taken over, for example when team organization requires a stand-in. Each step of a run may be due or done, whilst the run itself may have an overall status (e. g. open, complete, on hold), which may be assigned by the packager as he works his way through the single steps.
Variables are required to be able to move from a general and more or less abstract workflow template to the actual instance values for a specific packaging task. Variables are defined as part of the workflow and filled with values during run executions. There are different types of variables differing according to their information content: free text or numeric input, checkbox (single or list), date selector, combobox, and file or folder path selector.
Some of the variable types may be defined with optional input validation settings. Workflow steps may make use of logic execution elements, so called tools (see below). These tools may utilize and modify variable values of a workflow run by referencing their specific variable name. There are default variables available for every workflow, e. g. Package Name, Type, Vendor.
PackBench intends to especially speed-up packaging related tasks. To do so, it does not only orchestrate steps and documents their execution status, but at the same time improves their execution by integrating specialized tools. A tool can be any kind of executable, such as an external application or script.
Tools help to make sure complex tasks are performed exactly as required, even when they are performed by less experienced packagers. Tools multiply and preserve valuable packaging know-how, and make it available for each job a packaging factory team takes over. Tools therefore improve the overall quality of the factory results as well.