Environment variables

smartElements can be driven with multiple environment variables which are described in the following. Note that all environment variable values are strings, even when using booleans like True or False.

CRAGL_NO_WEB

If your machine is not connected to the web we recommend to set the environment variable CRAGL_NO_WEB to 'True'. This will speed up launching smartElements.

CRAGL_SMARTELEMENTS_HIDE_DEPRECATED_ELEMENTS

By setting CRAGL_SMARTELEMENTS_HIDE_DEPRECATED_ELEMENTS to 'True' you can force users to not see any deprecated elements anymore. Usually, a user can drive the visibility of deprecated elements in the smartElements settings, however when this environment variable is set then the user can’t enable it via the settings anymore. Setting this environment variable to 'False' or simply not setting it at all will show deprecated elements in the element browser in case it is configured in the user’s settings. The default is 'False'.

For more information about the deprecation of elements please also have a look at the deprecating elements section.

CRAGL_SMARTELEMENTS_ALLOW_MODIFICATIONS

Having the environment variable CRAGL_SMARTELEMENTS_ALLOW_MODIFICATIONS set to 'True' or having explicitly not set this environment variable (which is the default) will allow all modification operations (i.e. creating lists, ingesting media, updating media, deleting media, etc.). Having this environment variable explicitly set to 'False' will disable any modification functionality.

For more information about changing the modification policy please also have a look at the restriction section.

CRAGL_SMARTELEMENTS_HIDE_DEFAULT_STACK

Setting CRAGL_SMARTELEMENTS_HIDE_DEFAULT_STACK to 'True' will hide the local ‘default’ stack for all users that have this environment variable set. This environment variable is useful for larger studios in combination with the environment variable CRAGL_SMARTELEMENTS_ADDITIONAL_STACKS (see below) to drive the visibility of stacks seen by the artists.

CRAGL_SMARTELEMENTS_LOCKED_STACKS

While setting the previously mentioned environment variable CRAGL_SMARTELEMENTS_ALLOW_MODIFICATIONS will lock all stacks from modifications, you can lock particular stacks from modification while keeping others modifiable. This is particular useful if you need to protect just some stacks from editing, e.g. a stack for a specific show that users should be able to access but not edit. All other stacks can then still be modifiable. To protect a stack from any modification add the absolute path of the stack’s root directory to CRAGL_SMARTELEMENTS_LOCKED_STACKS. You can specify multiple paths by concatenating them using the operating system path separator. Under Linux and MacOS this is a colon. Under Windows this is a semicolon.

CRAGL_SMARTELEMENTS_ADDITIONAL_STACKS

The stacks drop down menu gains additional paths when having the environment variable CRAGL_SMARTELEMENTS_ADDITIONAL_STACKS set. Similar to adding paths to the PATH and PYTHONPATH environment variable, you can specify multiple paths by concatenating them using the operating system path separator. Under Linux and MacOS this is a colon. Under Windows this is a semicolon. This feature is primarily useful for a studio in case you want your artists to have access to additional stacks without the need to add them manually per machine.

For more information about adding additional stacks to the stacks drop down menu please also have a look at the add stacks section.

NOTE: If you want to add a stack via the environment variable and also lock it you will need to add the stacks’s root directory to both CRAGL_SMARTELEMENTS_ADDITIONAL_STACKS and CRAGL_SMARTELEMENTS_LOCKED_STACKS.

CRAGL_SMARTELEMENTS_ADDITIONAL_PLAYLISTS

Using this environment variable you can add additional playlists to the playlist section. This feature is primarily useful for a studio in case you want your artists to have access to additional playlists without the need to add them manually per machine.

Similar to adding paths to the PATH and PYTHONPATH environment variable, you can specify multiple paths by concatenating them using the operating system path separator. Under Linux and MacOS this is a colon. Under Windows this is a semicolon.

For more information about working with playlists please also have a look at the working with playlists section.

CRAGL_SMARTELEMENTS_INGEST_HARDCOPY

Set the environment variable CRAGL_SMARTELEMENTS_INGEST_HARDCOPY to 'True' to enforce ingesting using a hard copy, i.e. the media to ingest gets physically copied to the selected list. This environment variable overrides the Copier settings.

CRAGL_SMARTELEMENTS_INGEST_SOFTCOPY

Set the environment variable CRAGL_SMARTELEMENTS_INGEST_SOFTCOPY to 'True' to enforce ingesting using a soft copy, i.e. the media to ingest does NOT get physically copied to the selected list. When inserting the media into a working file this will then reference the original media. This environment variable overrides the Copier settings.

CRAGL_SMARTELEMENTS_TEMPLATE_PATH

When ingesting elements you can choose a .nk template to use for the media transcoding. By default, smartElements offers some transcode templates. These are located inside the smartElements installation. You can create additional transcode templates outside of the smartElements installation folder (this is recommended, otherwise you might loose these when updating smartElements). In order to make smartElements find these, you can add the absolute path to the folder that contains transcode templates to the environment variable CRAGL_SMARTELEMENTS_TEMPLATE_PATH. Add multiple paths by concatenating them by a semicolon (Windows) / colon (Linux/MacOS). For more information about transcode templates please have a look at the Media Ingestion page.

CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS

In smartElements-2.28.0 we implemented functionality to browse elements from third-party vendors. When browsing, this will access data directly online. Under certain circumstances you don’t want your team to be able to view these - either when your working environment is offline so you won’t be able to view online content anyways, or you simply don’t want to allow your team browsing online content for certain reasons. For that you can hide all third-party stacks in the stacks dropdown menu by setting the environment variable CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS to 'True'.

CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS

In smartElements-2.28.0 we implemented functionality to browse elements from third-party vendors. When browsing, this will access data directly online. Under certain circumstances you don’t want your team to be able to view these - either when your working environment is offline so you won’t be able to view online content anyways, or you simply don’t want to allow your team browsing online content for certain reasons. For that you can hide all third-party stacks in the stacks dropdown menu by setting the environment variable CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS to 'True'.

CRAGL_SMARTELEMENTS_TEMPLATE_PATH

When ingesting elements you can choose a .nk template to use for the media transcoding. By default, smartElements offers some transcode templates. These are located inside the smartElements installation. You can create additional transcode templates outside of the smartElements installation folder (this is recommended, otherwise you might loose these when updating smartElements). In order to make smartElements find these, you can add the absolute path to the folder that contains transcode templates to the environment variable CRAGL_SMARTELEMENTS_TEMPLATE_PATH. Add multiple paths by concatenating them by a semicolon (Windows) / colon (Linux/MacOS). For more information about transcode templates please have a look at the Media Ingestion page.

CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS

In smartElements-2.28.0 we implemented functionality to browse elements from third-party vendors. When browsing, this will access data directly online. Under certain circumstances you don’t want your team to be able to view these - either when your working environment is offline so you won’t be able to view online content anyways, or you simply don’t want to allow your team browsing online content for certain reasons. For that you can hide all third-party stacks in the stacks dropdown menu by setting the environment variable CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS to 'True'.

CRAGL_SMARTELEMENTS_TEMPLATE_PATH

When ingesting elements you can choose a .nk template to use for the media transcoding. By default, smartElements offers some transcode templates. These are located inside the smartElements installation. You can create additional transcode templates outside of the smartElements installation folder (this is recommended, otherwise you might loose these when updating smartElements). In order to make smartElements find these, you can add the absolute path to the folder that contains transcode templates to the environment variable CRAGL_SMARTELEMENTS_TEMPLATE_PATH. Add multiple paths by concatenating them by a semicolon (Windows) / colon (Linux/MacOS). For more information about transcode templates please have a look at the Media Ingestion page.

CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS

In smartElements-2.42.0 we implemented functionality to browse element previews from third-party vendors. When browsing, this will access data directly online. Under certain circumstances you don’t want your team to be able to view these - either when your working environment is offline so you won’t be able to view online content anyways, or you simply don’t want to allow your team browsing online content for certain reasons. For that you can hide all third-party stacks in the stacks dropdown menu by setting the environment variable CRAGL_SMARTELEMENTS_HIDE_THIRD_PARTY_STACKS to 'True'.

CRAGL_SMARTELEMENTS_NON_LOCAL_CACHE_ROOT

In smartElement’s settings section you can set the path where all third-party media will be cached to. Once an element has been cached, smartElements will reference it from this location the next time instead of re-downloading it again. This makes the third-party elements instantly available as it won’t need a re-download. Instead of setting this up per machine, you can also control this cache root location via CRAGL_SMARTELEMENTS_NON_LOCAL_CACHE_ROOT. If it is set then the settings section will grey out and is not configurable anymore as that environment variable supersedes it the setting.