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_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.
SMARTELEMENTS_PRELOAD_WEBSTACKS
Loadind lists in web stacks takes a few seconds as we query all web stacks live
and thus react on all third-party changes in real time. Depending on the web
stack and the amount of data it loads, this takes a few seconds. By default,
smartElements loads all web stacks in separate threads in the background when
launching your DCC / Standalone. You can explicitly enforce pre-loading web
stacks in the background by setting the environment variable
SMARTELEMENTS_PRELOAD_WEBSTACKS to True. As mentioned above,
smartElements already does that by default so you don’t need to set this
environment variable; But you can if you want to make sure pre-loading gets
enforced. On the other hand, you can also explicitly force to not load web
stacks in the background when launching by setting the environment variable
SMARTELEMENTS_PRELOAD_WEBSTACKS to False.
SMARTELEMENTS_GENAI
In smartElements-2.52.0 we integrated a GenAI video and image generator. It
can be launched from GenAI button at the top right of the smartElements main
window. You can hide that button if you don’t want to expose it by setting the
environment variable SMARTELEMENTS_GENAI to False.
Find out more about the GenAI integration in the GenAI
documentation section.