diff --git a/website/docs/artist_ftrack.md b/website/docs/artist_ftrack.md index e42136fa89..df2a7236b3 100644 --- a/website/docs/artist_ftrack.md +++ b/website/docs/artist_ftrack.md @@ -6,55 +6,94 @@ sidebar_label: Artist # How to use Ftrack in OpenPype -## Login to Ftrack module in OpenPype tray (best case scenario) -1. Launch OpenPype tray if not launched yet +## Login to Ftrack module in OpenPype (best case scenario) +1. Launch OpenPype and go to systray OpenPype icon. 2. *Ftrack login* window pop up on start - or press **login** in **Ftrack menu** to pop up *Ftrack login* window ![ftrack-login-2](assets/ftrack/ftrack-login_50.png) -3. Press `Ftrack` button -![Login widget](assets/ftrack/ftrack-login_1.png) -4. Web browser opens -5. Sign in Ftrack if you're requested + - Press `Ftrack` button + + ![Login widget](assets/ftrack/ftrack-login_1.png) + - Web browser opens + + - Sign in Ftrack if you're requested. If you are already sign up to Ftrack via web browser, you can jump to point 6. -![ftrack-login-2](assets/ftrack/ftrack-login_2.png) -6. Message is shown + ![ftrack-login-2](assets/ftrack/ftrack-login_2.png) + +3. Message is shown ![ftrack-login-3](assets/ftrack/ftrack-login_3.png) -7. Close message and you're ready to use actions - continue with [Application launch](#application-launch-best-case-scenario) + +4. Close message and you're ready to use actions - continue with [Application launch](#application-launch-best-case-scenario) + --- + ## Application launch (best case scenario) -1. Make sure OpenPype is running and you passed [Login to Ftrack](#login-to-ftrack-module-in-pype-tray-best-case-scenario) guide +1. Make sure OpenPype is running and you passed [Login to Ftrack](#login-to-ftrack-module-in-openpype-best-case-scenario) guide + 2. Open web browser and go to your studio Ftrack web page *(e.g. https://mystudio.ftrackapp.com/)* + 3. Locate the task on which you want to run the application + 4. Display actions for the task ![ftrack-login-3](assets/ftrack/ftrack-login_60.png) + 5. Select application you want to launch - - application versions may be grouped to one action in that case press the action to reveal versions to choose *(like Maya in the picture)* + - application versions may be grouped to one action in that case press the action to reveal versions to choose *(like Maya in the picture)*, only applications permitted to the particular project are appeared. ![ftrack-login-3](assets/ftrack/ftrack-login_71-small.png) + 6. Work --- + ## Change Ftrack user 1. Log out the previous user from Ftrack Web app *(skip if new is already logged)* -![ftrack-login-3](assets/ftrack/ftrack-login_80-small.png) + ![ftrack-login-3](assets/ftrack/ftrack-login_80-small.png) + 2. Log out the previous user from Ftrack module in tray -![ftrack-login-3](assets/ftrack/ftrack-login_81.png) -3. Follow [Login to Ftrack](#login-to-ftrack-module-in-pype-tray-best-case-scenario) guide + ![ftrack-login-3](assets/ftrack/ftrack-login_81.png) + +3. Follow [Login to Ftrack](#login-to-ftrack-module-in-openpype-best-case-scenario) guide + +--- + +## Where to find API key +- Your API key can be found in Ftrack. In the upper right corner of Ftrack click on the avatar, choose System settings. + + ![ftrack-api](assets/ftrack/ftrack-api.png) + +- Scroll down in left panel and select `API keys`. Then pick `Create` button. + + ![ftrack-api](assets/ftrack/ftrack-api2.png) + +- New window will pop up. Choose the `API role` and press `Save` + + ![ftrack-api](assets/ftrack/ftrack-api3.png) + +- Then your new API will be created. + + ![ftrack-api](assets/ftrack/ftrack-api4.png) + +- Copy them and put it into the Ftrack login window. + + ![ftrack-api](assets/ftrack/ftrack-login-api.png) + --- ## What if... ### Ftrack login window didn't pop up and Ftrack menu is not in tray -**1. possibility - OpenPype tray didn't load properly** +**1. possibility - OpenPype didn't load properly** - try to restart OpenPype **2. possibility - Ftrack is not set in OpenPype** - inform your administrator +- The Ftrack URL can be changed in OpenPype Settings → System → Modules → Ftrack ### Web browser did not open @@ -63,20 +102,22 @@ sidebar_label: Artist **2. possibility - Ftrack URL is not set or is not right** - Check **Ftrack URL** value in *Ftrack login* window -- Inform your administrator if URL is incorrect and launch tray again when administrator fix it +- Inform your administrator if URL is incorrect and launch OpenPype again when administrator fix it +- The Ftrack URL can be changed in OpenPype Settings → System → Modules → Ftrack **3. possibility - Ftrack Web app can't be reached the way OpenPype use it** - Enter your **Username** and [API key](#where-to-find-api-key) in *Ftrack login* window and press **Login** button + ![ftrack-api](assets/ftrack/ftrack-api.gif) ### Ftrack action menu is empty **1. possibility - OpenPype is not running** -- launch OpenPype +- launch OpenPype and check if it is running in systray **2. possibility - You didn't go through Login to Ftrack guide** -- please go through [Login to Ftrack](#login-to-ftrack-module-in-pype-tray-best-case-scenario) guide +- please go through [Login to Ftrack](#login-to-ftrack-module-in-openpype-best-case-scenario) guide **3. possibility - User logged to Ftrack Web is not the same as user logged to Ftrack module in tray** -- Follow [Change user](#change-user) guide +- Follow [Change user](#change-ftrack-user) guide **4. possibility - Project don't have set applications** - ask your Project Manager to check if he set applications for the project diff --git a/website/docs/assets/ftrack/ftrack-api.gif b/website/docs/assets/ftrack/ftrack-api.gif new file mode 100644 index 0000000000..b2caf6ca98 Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-api.gif differ diff --git a/website/docs/assets/ftrack/ftrack-api.png b/website/docs/assets/ftrack/ftrack-api.png new file mode 100644 index 0000000000..c69967d78e Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-api.png differ diff --git a/website/docs/assets/ftrack/ftrack-api2.png b/website/docs/assets/ftrack/ftrack-api2.png new file mode 100644 index 0000000000..1653f8f603 Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-api2.png differ diff --git a/website/docs/assets/ftrack/ftrack-api3.png b/website/docs/assets/ftrack/ftrack-api3.png new file mode 100644 index 0000000000..0ea03f5224 Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-api3.png differ diff --git a/website/docs/assets/ftrack/ftrack-api4.png b/website/docs/assets/ftrack/ftrack-api4.png new file mode 100644 index 0000000000..3ee7551dce Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-api4.png differ diff --git a/website/docs/assets/ftrack/ftrack-delivery-icon.png b/website/docs/assets/ftrack/ftrack-delivery-icon.png new file mode 100644 index 0000000000..30775c9a50 Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-delivery-icon.png differ diff --git a/website/docs/assets/ftrack/ftrack-login-api.png b/website/docs/assets/ftrack/ftrack-login-api.png new file mode 100644 index 0000000000..d47d46ce2f Binary files /dev/null and b/website/docs/assets/ftrack/ftrack-login-api.png differ diff --git a/website/docs/assets/ftrack/ftrack-login_1.png b/website/docs/assets/ftrack/ftrack-login_1.png index 139884ff99..cc9b51b39b 100644 Binary files a/website/docs/assets/ftrack/ftrack-login_1.png and b/website/docs/assets/ftrack/ftrack-login_1.png differ diff --git a/website/docs/assets/ftrack/ftrack-login_50.png b/website/docs/assets/ftrack/ftrack-login_50.png index 3d03c67efa..46d1b3c686 100644 Binary files a/website/docs/assets/ftrack/ftrack-login_50.png and b/website/docs/assets/ftrack/ftrack-login_50.png differ diff --git a/website/docs/assets/ftrack/ftrack-login_81.png b/website/docs/assets/ftrack/ftrack-login_81.png index 470763f7f8..ae145d6c73 100644 Binary files a/website/docs/assets/ftrack/ftrack-login_81.png and b/website/docs/assets/ftrack/ftrack-login_81.png differ diff --git a/website/docs/manager_ftrack.md b/website/docs/manager_ftrack.md index 69faf6ae9d..511f5c04c0 100644 --- a/website/docs/manager_ftrack.md +++ b/website/docs/manager_ftrack.md @@ -31,7 +31,7 @@ This process is how data from Ftrack will get into Avalon database. ### How to synchronize You can do synchronization with [Sync To Avalon](manager_ftrack_actions#sync-to-avalon) action. -Synchronization can be automated with OpenPype's [event server](#event-server) and synchronization events. If your Ftrack is [prepared for OpenPype](#prepare-ftrack-for-pype), the project should have custom attribute `Avalon auto-sync`. Check the custom attribute to allow auto-updates with event server. +Synchronization can be automated with OpenPype's [event server](#event-server) and synchronization events. If your Ftrack is [prepared for OpenPype](#prepare-ftrack-for-openpype), the project should have custom attribute `Avalon auto-sync`. Check the custom attribute to allow auto-updates with event server. :::important Always use `Sync To Avalon` action before you enable `Avalon auto-sync`! diff --git a/website/docs/manager_ftrack_actions.md b/website/docs/manager_ftrack_actions.md index 6349d4357f..ce1c0466b9 100644 --- a/website/docs/manager_ftrack_actions.md +++ b/website/docs/manager_ftrack_actions.md @@ -28,6 +28,9 @@ In most cases actions filtered by entity type: So if you do not see action you need to use check if action is available for selected *entity type* or ask *administrator* to check if you have permissions to use it. + +Actions can be highly customized according to specific client's requests. + :::important Filtering can be more complicated for example a lot of actions can be shown only when one particular entity is selected. ::: @@ -39,33 +42,12 @@ Filtering can be more complicated for example a lot of actions can be shown only * Entity types: Task * User roles: All -These actions *launch application with OpenPype initiated* and *start timer* for the selected Task. We recommend you to launch application this way. +These actions *launch application with OpenPype * and *start timer* for the selected Task. We recommend you to launch application this way. :::important -Project Manager or Supervisor must set project's applications during project preparation otherwise you won't see them. +Project Manager or Supervisor must set project's applications during project preparation otherwise you won't see them. Applications can be added even if the project is in progress. ::: -### RV -* Entity types: All -* User roles: All - -You can launch RV player with playable components from selected entities. You can choose which components will be played. - -:::important -You must have RV player installed and licensed and have correct RV environments set to be able use this action. -::: - -### DJV View -* Entity types: Task, Asset Version -* User roles: All - -You can launch DJV View with one playable component from selected entities. You can choose which component will be played. - -:::important -You must have DJV View installed and configured in studio-config to be able use this action. -::: - ----
@@ -79,11 +61,11 @@ You must have DJV View installed and configured in studio-config to be able use A group of actions that are used for OpenPype Administration. -### Create/Update Avalon Attributes +### Create Update Avalon Attributes * Entity types: All * User roles: Pypeclub, Administrator -Action creates and updates Ftrack's Custom Attributes that are needed to manage and run OpenPype within Ftrack. Most of custom attribute configurations are stored in OpenPype presets (*Pype Settings → Project → Anatomy → Attributes*). It is not recommended to modify values stored in the file unless your studio used completely custom configuration. +Action creates and updates Ftrack's Custom Attributes that are needed to manage and run OpenPype within Ftrack. Most of custom attribute configurations are stored in OpenPype settings (*click on the systray OpenPype icon → Settings → Project → Anatomy → Attributes*). It is not recommended to modify values stored in the file unless your studio used completely custom configuration. ### Sync to Avalon * Entity types: Project, Typed Context @@ -91,8 +73,8 @@ Action creates and updates Ftrack's Custom Attributes that are needed to manage Synchronization to Avalon is key process to keep OpenPype data updated. Action updates selected entities (Project, Shot, Sequence, etc.) and all nested entities to Avalon database. If action is successfully finished [Sync Hier Attrs](#sync-hier-attrs) action is triggered. -There are 2 versions of **Sync to Avalon** first labeled as **server** second as **local**. -* **server** version will be processed with [event server](admin_ftrack#event-server) +There are 2 versions of **Sync to Avalon**, first labeled as **server** second as **local**. +* **server** version will be processed with [event server](module_ftrack#event-server) * **local** version will be processed with user's OpenPype tray application It is recommended to use **local** version if possible to avoid unnecessary deceleration of event server. @@ -101,11 +83,11 @@ It is recommended to use **local** version if possible to avoid unnecessary dece * Entity types: Project, Typed Context * User roles: Pypeclub, Administrator, Project manager -Synchronization to Avalon of Ftrack's hierarchical Custom attributes is a bit complicated so we decided to split synchronization process into 2 actions. This action updates hierarchical Custom attributes of selected entities (Project, Shot, Sequence, etc.) and all their nested entities to pipeline database. This action is also triggered automatically after successfully finished [Sync To Avalon](#sync-to-avalon) action. +Synchronization to Avalon of Ftrack's hierarchical Custom attributes is a bit complicated so we decided to split synchronization process into 2 actions. This action updates hierarchical Custom attributes of selected entities (Project, Shot, Sequence, etc.) and all their nested entities to pipeline database. This action is also triggered automatically after successfully finished [Sync To Avalon](#sync-to-avalon) action. There are 2 versions of **Sync Hier Attrs** first labeled as **server** second as **local**. -* **server** version will be processed with [event server](admin_ftrack#event-server) -* **local** version will be processed with user's OpenPype tray application +* **server** version will be processed with [event server](module_ftrack#event-server) +* **local** version will be processed with user's OpenPype application It is recommended to use **local** version if possible to avoid unnecessary deceleration of event server. @@ -127,26 +109,6 @@ With this action it's possible to delete up to 15 entities at once from active p
-## Thumbnail -
-
- -![thumbnail-icon](assets/ftrack/ftrack-thumbnail-icon.png) -
-
- -A group of actions for thumbnail management. - -### Thumbnail to Parent -Propagates the thumbnail of the selected entity to its parent. - -### Thumbnail to Children -Propagates the thumbnail of the selected entity to its first direct children entities. - ---- -
-
- ## Prepare Project
@@ -158,7 +120,7 @@ Propagates the thumbnail of the selected entity to its first direct children ent * Entity types: Project * User roles: Pypeclub, Administrator, Project manager -Allows project managers and coordinator to *set basic project attributes* needed for OpenPype to operate, *Create project folders* if you want and especially *prepare Project specific [anatomy](admin_config#anatomy) and [presets](admin_config#presets)* files for you. +Allows project managers and coordinator to *set basic project attributes* needed for OpenPype to operate, *Create project folders* if you want and especially prepare project specific [anatomy](admin_settings_project_anatomy) or [settings](admin_settings_project). :::tip It is possible to use this action during the lifetime of a project but we recommend using it only once at the start of the project. @@ -220,12 +182,30 @@ You should use this action if you need to delete Entities or Asset Versions othe *Create Project Structure* helps to create basic folder structure and may create the main ftrack entities for the project. -Structure is loaded from [presets](admin_config#presets) *(Pype Settings → Project → Global → Project Folder Structure)*. You should examine that preset to see how it works. Preset may contain dictionaries of nested dictionaries where each key represents a folder name. Key and all it's parents will be also created in Ftrack if the key ends with `[ftrack]`. Default Ftrack entity type is *Folder* but entity type can be specified using `[ftrack.{entity type}]`. To create *Sequence* with name *Seq_001* key should look like `Seq_001[ftrack.Sequence]`. +Structure is loaded from settings *(OpenPype Settings → Project → Global → Project Folder Structure)*. You should examine these settings to see how it works. Settings may contain dictionaries of nested dictionaries where each key represents a folder name. Key and all it's parents will be also created in Ftrack if the key ends with `[ftrack]`. Default Ftrack entity type is *Folder* but entity type can be specified using `[ftrack.{entity type}]`. To create *Sequence* with name *Seq_001* key should look like `Seq_001[ftrack.Sequence]`. :::note Please keep in mind this action is meant to make your project setup faster at the very beginning, but it does not create folders for each shot and asset. For creating asset folder refer to `Create Folders` Action ::: +--- +
+
+ +## Delivery +
+
+ +![ftrack-delivery-icon](assets/ftrack/ftrack-delivery-icon.png) +
+
+ +* Entity types: Task +* User roles: Pypeclub, Project manager, Administrator + +Collects approved hires files and copy them into a folder. It usually creates h.264 files for preview and mov for editorial. All files are then copied according to predefined naming convention to a specific folder. + + ---
@@ -241,21 +221,55 @@ Please keep in mind this action is meant to make your project setup faster at th * Entity types: Typed Context, Task * User roles: All -Creates folders for a selected asset in based on project templates. - It is usually not necessary to launch this action because folders are created automatically every time you start working on a task. However it can be handy if you need to create folders before any work begins or you want to use applications that don't have pipeline implementation. - - - ---
+## Thumbnail +
+
+ +![thumbnail-icon](assets/ftrack/ftrack-thumbnail-icon.png) +
+
+ +A group of actions for thumbnail management. + +### Thumbnail to Parent +Propagates the thumbnail of the selected entity to its parent. + +### Thumbnail to Children +Propagates the thumbnail of the selected entity to its first direct children entities. + +--- +### RV +* Entity types: All +* User roles: All + +You can launch RV player with playable components from selected entities. You can choose which components will be played. + +:::important +You must have RV player installed and licensed and have correct RV environments set to be able use this action. +::: + +--- +### DJV View +* Entity types: Task, Asset Version +* User roles: All + +You can launch DJV View with one playable component from selected entities. You can choose which component will be played. + +:::important +You must have DJV View installed and configured in studio-config to be able use this action. +::: + + +
+
+ +--- ## Open File
diff --git a/website/docs/module_ftrack.md b/website/docs/module_ftrack.md index 436594b64c..9f31eac21e 100644 --- a/website/docs/module_ftrack.md +++ b/website/docs/module_ftrack.md @@ -8,38 +8,33 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Ftrack is currently the main project management option for Pype. This documentation assumes that you are familiar with Ftrack and it's basic principles. If you're new to Ftrack, we recommend having a thorough look at [Ftrack Official Documentation](http://ftrack.rtd.ftrack.com/en/stable/). +Ftrack is currently the main project management option for OpenPype. This documentation assumes that you are familiar with Ftrack and it's basic principles. If you're new to Ftrack, we recommend having a thorough look at [Ftrack Official Documentation](http://ftrack.rtd.ftrack.com/en/stable/). ## Prepare Ftrack for OpenPype ### Server URL -If you want to connect Ftrack to OpenPype you might need to make few changes in Ftrack settings. These changes would take a long time to do manually, so we prepared a few Ftrack actions to help you out. First, you'll need to launch OpenPype settings, enable [Ftrack module](admin_settings_system#Ftrack), and enter the address to your ftrack server. +If you want to connect Ftrack to OpenPype you might need to make few changes in Ftrack settings. These changes would take a long time to do manually, so we prepared a few Ftrack actions to help you out. First, you'll need to launch OpenPype settings, enable [Ftrack module](admin_settings_system#Ftrack), and enter the address to your Ftrack server. ### Login -Once your server is configured, restart OpenPype and you should be prompted to enter your [Ftrack credentials](#credentials) to be able to run our Ftrack actions. If you are already logged in to ftrack in your browser, it is enough to press `ftrack login` and it will connect automatically. +Once your server is configured, restart OpenPype and you should be prompted to enter your [Ftrack credentials](artist_ftrack#How-to-use-Ftrack-in-OpenPype) to be able to run our Ftrack actions. If you are already logged in to Ftrack in your browser, it is enough to press `Ftrack login` and it will connect automatically. -For more details step by step on how to login to ftrack in OpenPype to go [artist ftrack login](#artist_ftrack#first-use-best-case-scenario) documentation. +For more details step by step on how to login to Ftrack in OpenPype to go [artist Ftrack login](artist_ftrack#How-to-use-Ftrack-in-OpenPype) documentation. -You can only use our Ftrack Actions and publish to ftrack if each artist is logged in. +You can only use our Ftrack Actions and publish to Ftrack if each artist is logged in. ### Custom Attributes -After successfully connecting OpenPype with you ftrack, you can right on any project in ftrack and you should see a bunch of actions available. The most important one is called `OpenPype Admin` and contains multiple options inside. - -To prepare ftrack for working with OpenPype you'll need to run [OpenPype Admin - Create/Update Avalon Attributes](manager_ftrack_actions#create-update-avalon-attributes), which creates and sets the Custom Attributes necessary for OpenPype to function. - - +After successfully connecting OpenPype with you Ftrack, you can right on any project in Ftrack and you should see a bunch of actions available. The most important one is called `OpenPype Admin` and contains multiple options inside. +To prepare Ftrack for working with OpenPype you'll need to run [OpenPype Admin - Create/Update Avalon Attributes](manager_ftrack_actions#create-update-avalon-attributes), which creates and sets the Custom Attributes necessary for OpenPype to function. ## Event Server - Ftrack Event Server is the key to automation of many tasks like _status change_, _thumbnail update_, _automatic synchronization to Avalon database_ and many more. Event server should run at all times to perform the required processing as it is not possible to catch some of them retrospectively with enough certainty. ### Running event server - -There are specific launch arguments for event server. With `openpype eventserver` you can launch event server but without prior preparation it will terminate immediately. The reason is that event server requires 3 pieces of information: _Ftrack server url_, _paths to events_ and _Credentials (Username and API key)_. Ftrack server URL and Event path are set from OpenPype's environments by default, but the credentials must be done separatelly for security reasons. +There are specific launch arguments for event server. With `openpype eventserver` you can launch event server but without prior preparation it will terminate immediately. The reason is that event server requires 3 pieces of information: _Ftrack server url_, _paths to events_ and _credentials (Username and API key)_. Ftrack server URL and Event path are set from OpenPype's environments by default, but the credentials must be done separatelly for security reasons. @@ -61,7 +56,7 @@ There are specific launch arguments for event server. With `openpype eventserver - `--ftrack-url "https://yourdomain.ftrackapp.com/"` : Ftrack server URL _(it is not needed to enter if you have set `FTRACK_SERVER` in OpenPype' environments)_ - `--ftrack-events-path "//Paths/To/Events/"` : Paths to events folder. May contain multiple paths separated by `;`. _(it is not needed to enter if you have set `FTRACK_EVENTS_PATH` in OpenPype' environments)_ -So if you want to use OpenPype's environments then you can launch event server for first time with these arguments `$PYPE_SETUP/pype eventserver --ftrack-user "my.username" --ftrack-api-key "00000aaa-11bb-22cc-33dd-444444eeeee" --store-credentials`. Since that time, if everything was entered correctly, you can launch event server with `$PYPE_SETUP/pype eventserver`. +So if you want to use OpenPype's environments then you can launch event server for first time with these arguments `$OPENPYPE_SETUP/openpype eventserver --ftrack-user "my.username" --ftrack-api-key "00000aaa-11bb-22cc-33dd-444444eeeee" --store-credentials`. Since that time, if everything was entered correctly, you can launch event server with `$OPENPYPE_SETUP/openpype eventserver`. @@ -77,12 +72,12 @@ So if you want to use OpenPype's environments then you can launch event server f ::: :::caution -We do not recommend setting your ftrack user and api key environments in a persistent way, for security reasons. Option 1. passing them as arguments is substantially safer. +We do not recommend setting your Ftrack user and api key environments in a persistent way, for security reasons. Option 1. passing them as arguments is substantially safer. ::: ### Where to run event server -We recommend you to run event server on stable server machine with ability to connect to Avalon database and Ftrack web server. Best practice we recommend is to run event server as service. +We recommend you to run event server on stable server machine with ability to connect to Avalon database and Ftrack web server. Best practice we recommend is to run event server as service. It can be Windows or Linux. :::important Event server should **not** run more than once! It may cause major issues. @@ -91,34 +86,40 @@ Event server should **not** run more than once! It may cause major issues. ### Which user to use - must have at least `Administrator` role -- same user should not be used by an artist +- the same user should not be used by an artist -### Run Linux service - step by step -1. create file: +:::note How to create Eventserver service + + + + +- create file: `sudo vi /opt/OpenPype/run_event_server.sh` - -2. add content to the file: - +- add content to the file: ```sh -export PYPE_DEBUG=3 -pushd /mnt/pipeline/prod/pype-setup -. pype eventserver --ftrack-user --ftrack-api-key +#!\usr\bin\env +export OPENPYPE_DEBUG=3 +pushd /mnt/pipeline/prod/openpype-setup +. openpype eventserver --ftrack-user --ftrack-api-key ``` - -3. create service file: +- create service file: `sudo vi /etc/systemd/system/openpype-ftrack-event-server.service` - -4. add content to the service file +- add content to the service file ```toml [Unit] -Description=Run Pype Ftrack Event Server Service +Description=Run OpenPype Ftrack Event Server Service After=network.target [Service] Type=idle -ExecStart=/opt/pype/run_event_server.sh +ExecStart=/opt/openpype/run_event_server.sh Restart=on-failure RestartSec=10s @@ -126,34 +127,42 @@ RestartSec=10s WantedBy=multi-user.target ``` -5. change file permission: +- change file permission: `sudo chmod 0755 /etc/systemd/system/openpype-ftrack-event-server.service` -6. enable service: +- enable service: `sudo systemctl enable openpype-ftrack-event-server` -7. start service: +- start service: `sudo systemctl start openpype-ftrack-event-server` + + + +- create service file: `openpype-ftrack-eventserver.bat` +- add content to the service file: +```sh +@echo off +set OPENPYPE_DEBUG=3 +pushd \\path\to\file\ +call openpype.bat eventserver --ftrack-user --ftrack-api-key +``` +- download and install `nssm.cc` +- create Windows service according to nssm.cc manual +- you can also run eventserver as a standard Schedule task +- be aware of using UNC path + + + +::: + * * * ## Ftrack events -Events are helpers for automation. They react to Ftrack Web Server events like change entity attribute, create of entity, etc. . +Events are helpers for automation. They react to Ftrack Web Server events like change entity attribute, create of entity, etc. -### Delete Avalon ID from new entity _(DelAvalonIdFromNew)_ - -Is used to remove value from `Avalon/Mongo Id` Custom Attribute when entity is created. - -`Avalon/Mongo Id` Custom Attribute stores id of synchronized entities in pipeline database. When user _Copy -> Paste_ selection of entities to create similar hierarchy entities, values from Custom Attributes are copied too. That causes issues during synchronization because there are multiple entities with same value of `Avalon/Mongo Id`. To avoid this error we preventively remove these values when entity is created. - -### Next Task update _(NextTaskUpdate)_ - -Change status of next task from `Not started` to `Ready` when previous task is approved. - -Multiple detailed rules for next task update can be configured in the presets. - -### Synchronization to Avalon database _(Sync_to_Avalon)_ +### Sync to Avalon Automatic [synchronization to pipeline database](manager_ftrack#synchronization-to-avalon-database). @@ -163,33 +172,45 @@ This event updates entities on their changes Ftrack. When new entity is created Deleting an entity by Ftrack's default is not processed for security reasons _(to delete entity use [Delete Asset/Subset action](manager_ftrack_actions#delete-asset-subset))_. ::: -### Synchronize hierarchical attributes _(SyncHierarchicalAttrs)_ +### Synchronize Hierarchical and Entity Attributes Auto-synchronization of hierarchical attributes from Ftrack entities. -Related to [Synchronize to Avalon database](#synchronization-to-avalon-database) event _(without it, it makes no sense to use this event)_. Hierarchical attributes must be synchronized with special way so we needed to split synchronization into 2 parts. There are [synchronization rules](manager_ftrack#synchronization-rules) for hierarchical attributes that must be met otherwise interface with messages about not meeting conditions is shown to user. +Related to [Synchronize to Avalon database](manager_ftrack#synchronization-to-avalon-database) event _(without it, it makes no sense to use this event)_. Hierarchical attributes must be synchronized with special way so we needed to split synchronization into 2 parts. There are [synchronization rules](manager_ftrack#synchronization-rules) for hierarchical attributes that must be met otherwise interface with messages about not meeting conditions is shown to user. -### Thumbnails update _(ThumbnailEvents)_ +### Update Hierarchy thumbnails -Updates thumbnail of Task and it's parent when new Asset Version with thumbnail is created. +Push thumbnails from version, up through multiple hierarchy levels -This is normally done by Ftrack Web server when Asset Version is created with Drag&Drop but not when created with Ftrack API. +### Update status on task action -### Version to Task status _(VersionToTaskStatus)_ +Change status of next task from `Not started` to `Ready` when previous task is approved. -Updates Task status based on status changes on it's `AssetVersion`. +Multiple detailed rules for next task update can be configured in the presets. + +### Delete Avalon ID from new entity + +Is used to remove value from `Avalon/Mongo Id` Custom Attribute when entity is created. + +`Avalon/Mongo Id` Custom Attribute stores id of synchronized entities in pipeline database. When user _Copy → Paste_ selection of entities to create similar hierarchy entities, values from Custom Attributes are copied too. That causes issues during synchronization because there are multiple entities with same value of `Avalon/Mongo Id`. To avoid this error we preventively remove these values when entity is created. + +### Sync status from Task to Parent + +List of parent boject types where this is triggered ("Shot", "Asset build", etc. Skipped if it is empty) + +### Sync status from Version to Task + +Updates Task status based on status changes on its Asset Version. The issue this solves is when Asset version's status is changed but the artist assigned to Task is looking at the task status, thus not noticing the review. This event makes sure statuses Asset Version get synced to it's task. After changing a status on version, this event first tries to set identical status to version's parent (usually task). But this behavior can be tweaked in settings. +### Sync status on first created version -### Update First Version status _(FirstVersionStatus)_ - -This event handler allows setting of different status to a first created Asset Version in ftrack. +This event handler allows setting of different status to a first created Asset Version in Ftrack. This is usefull for example if first version publish doesn't contain any actual reviewable work, but is only used for roundtrip conform check, in which case this version could receive status `pending conform` instead of standard `pending review` -Behavior can be filtered by `name` or `type` of the task assigned to the Asset Version. Configuration can be found in [ftrack presets](admin_presets_ftrack#first_version_status-dict) - -* * * +### Update status on next task +Change status on next task by task types order when task status state changed to "Done". All tasks with the same Task mapping of next task status changes From → To. Some status can be ignored.