In ReCodEx there are two configurations of exercise High Level Configuration (HiLC) and Low Level Configuration (LoLC). LoLC is used in backend, by workers for instance and should be general enough to create all kinds of worker tasks. On the other hand HiLC should be easy enough to be written or composed by normal application users, preferably in the form of graphical editation. But this configuration always has to be somehow stored, that is where this document comes in handy.
In ReCodEx there are two configurations of exercise High Level Configuration (HiLC) and Low Level Configuration (LoLC). LoLC is used in backend, by workers for instance and should be general enough to create all kinds of worker tasks. On the other hand HiLC should be easy enough to be written or composed by normal application users, preferably in the form of graphical editation. But this configuration always has to be somehow stored, that is where this document comes in handy.
HiLC is divided in several parts which takes care of different things. There are ExerciseConfig, Pipelines, Limits and RuntimeConfig. From these components configuration of exercise is composed and on every submit new LoLC is compiled from it.
HiLC is divided in several parts which takes care of different things. There are **ExerciseConfig**, **Pipelines**, **Limits** and **EnvironmentConfig**. From these components configuration of exercise is composed and on every submit new LoLC is compiled from it.
## Variables and Ports
## Variables and Ports
In whole exercise configuration and appropriate structures variables and ports are used. All have to have a type. It was decided that there will be four types which should be sufficient for every possible usage. List of them follows:
In whole exercise configuration and appropriate structures variables and ports are used. All have to have a type. It was decided that there will be four types which should be sufficient for every possible usage. List of them follows:
* string - ...
* **string** - textual value
* string[] - array of strings
* **string[]** - array of strings
* file - ...
* **file** - corresponds to file created or given during evaluation of submission
* file[] - array of files
* **file[]** - array of files
## ExerciseConfig
## ExerciseConfig
@ -329,6 +329,8 @@ test-id-2:
## ExerciseEnvironmentConfig
## ExerciseEnvironmentConfig
Configuration for particular environments is stored here. This configuration can be seen in two formats the one which is returned to the web-app and the one in which configuration is stored. Environment configuration is stored in individual database entities, but it is desirable to return it as a whole for the whole exercise. Hence there appears to be two formats, both of them are described bellow.
### Frontend Format
### Frontend Format
Mandatory items are bold, optional italic, description of items follows:
Mandatory items are bold, optional italic, description of items follows: