# Creation of the preprocessor

The creation of a preprocessor can be accessed from the main screen of preprocessors, by means of the link _Create a new preprocessor_.

To create a new preprocessor we must fill out the related information, such as name, description, status (active / inactive) and the maximum number of instances we want to permit for a single preservation plan.

In the _Preprocessor files_ section, we must include all the files necessary for the correct execution of the preprocessor. **LIBSAFE** lets us do that by a convenient drag & drop system, whereby we will only have to _drag and drop_ the necessary files, or by the link _Drag files or select them here_**,** where a Windows file selection window will open.

{% hint style="info" %}
**Note**: there is a limit as for the number of files and the total size of the same that may be added simultaneously when we create a preprocessor. LIBSAFE will consult the server internal configuration and apply set guidelines. It will be the system administrators’ responsibility to configure said server parameters (in the example of the figure below, LIBSAFE is limited to 20 files and a maximum file size of 128 MB).
{% endhint %}

The added files are listed as shown in the following figure. We can remove from the list any file that has been added, but later deemed not needed. It is possible to add a description for every file.

In case the preprocessor has more than one file, we will have to select which one will be the main or executable file for the preprocessor. **LIBSAFE**, by default, will select the first file to be added.

![](https://3371217458-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjZySf2aik051eoPnvf%2F-MjjOwudKA_iFenXCzSC%2F-MjjPMsMzhzm9E4dG6Ua%2Fimage.png?alt=media\&token=6b37dacd-8e69-470f-9370-47c734cf2e1a)

Next, the preprocessor parameter is configured, if needed. By means of the link _**Add**_ in the _Preprocessor parameters_ section, we will see a form with the information needed to be filled out, such as:

* **Description**: a brief description of the parameter, syntax, possible values, etc.
* **Type of parameter**: as previously explained, on creating a preservation plan, the value entered for the parameter will be validated when a preprocessor is associated. Besides, if the type of data selected is numeric, we shall be able to assign the parameter value to a range and to specify said range.
* **Recommended Value:** we can indicate a value in order to facilitate the configuration of the preprocessor later on. This value will be modifiable when we apply a preprocessor in a preservation plan
* **Default value**: in case a preprocessor will always need a value for the parameter, but there are situations where due to either the functionality of the preprocessor or because the user should not be forced to enter the value, this field can be filled with the value applied if the parameter value is left blank when configuring a preprocessor in a preservation plan.
* **Mandatory**: it is a check indicating whether it is mandatory to put a value to the preprocessor parameter or not.

{% hint style="info" %}
**Note**: Preprocessors will only admit the configuration of one parameter.
{% endhint %}

![](https://3371217458-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjZySf2aik051eoPnvf%2F-MjjOwudKA_iFenXCzSC%2F-MjjPdeUDcr9FnIiJC1w%2Fimage.png?alt=media\&token=59da1c27-b3f2-46b0-89fd-8243c3ab6d3b)
