.. _env_vars: 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.