mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
Merge branch 'develop' into feature/OP-3779_Standalone-publisher-as-module
This commit is contained in:
commit
960496ea15
13 changed files with 60 additions and 1377 deletions
|
|
@ -11,6 +11,8 @@ class AEWorkfileCreator(AutoCreator):
|
|||
identifier = "workfile"
|
||||
family = "workfile"
|
||||
|
||||
default_variant = "Main"
|
||||
|
||||
def get_instance_attr_defs(self):
|
||||
return []
|
||||
|
||||
|
|
@ -35,7 +37,6 @@ class AEWorkfileCreator(AutoCreator):
|
|||
existing_instance = instance
|
||||
break
|
||||
|
||||
variant = ''
|
||||
project_name = legacy_io.Session["AVALON_PROJECT"]
|
||||
asset_name = legacy_io.Session["AVALON_ASSET"]
|
||||
task_name = legacy_io.Session["AVALON_TASK"]
|
||||
|
|
@ -44,15 +45,17 @@ class AEWorkfileCreator(AutoCreator):
|
|||
if existing_instance is None:
|
||||
asset_doc = get_asset_by_name(project_name, asset_name)
|
||||
subset_name = self.get_subset_name(
|
||||
variant, task_name, asset_doc, project_name, host_name
|
||||
self.default_variant, task_name, asset_doc,
|
||||
project_name, host_name
|
||||
)
|
||||
data = {
|
||||
"asset": asset_name,
|
||||
"task": task_name,
|
||||
"variant": variant
|
||||
"variant": self.default_variant
|
||||
}
|
||||
data.update(self.get_dynamic_data(
|
||||
variant, task_name, asset_doc, project_name, host_name
|
||||
self.default_variant, task_name, asset_doc,
|
||||
project_name, host_name
|
||||
))
|
||||
|
||||
new_instance = CreatedInstance(
|
||||
|
|
@ -69,7 +72,9 @@ class AEWorkfileCreator(AutoCreator):
|
|||
):
|
||||
asset_doc = get_asset_by_name(project_name, asset_name)
|
||||
subset_name = self.get_subset_name(
|
||||
variant, task_name, asset_doc, project_name, host_name
|
||||
self.default_variant, task_name, asset_doc,
|
||||
project_name, host_name
|
||||
)
|
||||
existing_instance["asset"] = asset_name
|
||||
existing_instance["task"] = task_name
|
||||
existing_instance["subset"] = subset_name
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ class CollectWorkfile(pyblish.api.ContextPlugin):
|
|||
label = "Collect After Effects Workfile Instance"
|
||||
order = pyblish.api.CollectorOrder + 0.1
|
||||
|
||||
default_variant = "Main"
|
||||
|
||||
def process(self, context):
|
||||
existing_instance = None
|
||||
for instance in context:
|
||||
|
|
@ -71,7 +73,7 @@ class CollectWorkfile(pyblish.api.ContextPlugin):
|
|||
family = "workfile"
|
||||
subset = get_subset_name_with_asset_doc(
|
||||
family,
|
||||
"",
|
||||
self.default_variant,
|
||||
context.data["anatomyData"]["task"]["name"],
|
||||
context.data["assetEntity"],
|
||||
context.data["anatomyData"]["project"]["name"],
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ class PSWorkfileCreator(AutoCreator):
|
|||
identifier = "workfile"
|
||||
family = "workfile"
|
||||
|
||||
default_variant = "Main"
|
||||
|
||||
def get_instance_attr_defs(self):
|
||||
return []
|
||||
|
||||
|
|
@ -35,7 +37,6 @@ class PSWorkfileCreator(AutoCreator):
|
|||
existing_instance = instance
|
||||
break
|
||||
|
||||
variant = ''
|
||||
project_name = legacy_io.Session["AVALON_PROJECT"]
|
||||
asset_name = legacy_io.Session["AVALON_ASSET"]
|
||||
task_name = legacy_io.Session["AVALON_TASK"]
|
||||
|
|
@ -43,15 +44,17 @@ class PSWorkfileCreator(AutoCreator):
|
|||
if existing_instance is None:
|
||||
asset_doc = get_asset_by_name(project_name, asset_name)
|
||||
subset_name = self.get_subset_name(
|
||||
variant, task_name, asset_doc, project_name, host_name
|
||||
self.default_variant, task_name, asset_doc,
|
||||
project_name, host_name
|
||||
)
|
||||
data = {
|
||||
"asset": asset_name,
|
||||
"task": task_name,
|
||||
"variant": variant
|
||||
"variant": self.default_variant
|
||||
}
|
||||
data.update(self.get_dynamic_data(
|
||||
variant, task_name, asset_doc, project_name, host_name
|
||||
self.default_variant, task_name, asset_doc,
|
||||
project_name, host_name
|
||||
))
|
||||
|
||||
new_instance = CreatedInstance(
|
||||
|
|
@ -67,7 +70,9 @@ class PSWorkfileCreator(AutoCreator):
|
|||
):
|
||||
asset_doc = get_asset_by_name(project_name, asset_name)
|
||||
subset_name = self.get_subset_name(
|
||||
variant, task_name, asset_doc, project_name, host_name
|
||||
self.default_variant, task_name, asset_doc,
|
||||
project_name, host_name
|
||||
)
|
||||
existing_instance["asset"] = asset_name
|
||||
existing_instance["task"] = task_name
|
||||
existing_instance["subset"] = subset_name
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ class CollectWorkfile(pyblish.api.ContextPlugin):
|
|||
label = "Collect Workfile"
|
||||
hosts = ["photoshop"]
|
||||
|
||||
default_variant = "Main"
|
||||
|
||||
def process(self, context):
|
||||
existing_instance = None
|
||||
for instance in context:
|
||||
|
|
@ -20,9 +22,11 @@ class CollectWorkfile(pyblish.api.ContextPlugin):
|
|||
break
|
||||
|
||||
family = "workfile"
|
||||
# context.data["variant"] might come only from collect_batch_data
|
||||
variant = context.data.get("variant") or self.default_variant
|
||||
subset = get_subset_name_with_asset_doc(
|
||||
family,
|
||||
"",
|
||||
variant,
|
||||
context.data["anatomyData"]["task"]["name"],
|
||||
context.data["assetEntity"],
|
||||
context.data["anatomyData"]["project"]["name"],
|
||||
|
|
|
|||
|
|
@ -957,7 +957,7 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
if project_settings_doc:
|
||||
self.collection.update_one(
|
||||
{"_id": project_settings_doc["_id"]},
|
||||
new_project_settings_doc
|
||||
{"$set": new_project_settings_doc}
|
||||
)
|
||||
else:
|
||||
self.collection.insert_one(new_project_settings_doc)
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ For more information [see here](admin_use.md#run-openpype).
|
|||
| module | Run command line arguments for modules. | |
|
||||
| repack-version | Tool to re-create version zip. | [📑](#repack-version-arguments) |
|
||||
| tray | Launch OpenPype Tray. | [📑](#tray-arguments)
|
||||
| eventserver | This should be ideally used by system service (such as systemd or upstart on linux and window service). | [📑](#eventserver-arguments) |
|
||||
| launch | Launch application in Pype environment. | [📑](#launch-arguments) |
|
||||
| publish | Pype takes JSON from provided path and use it to publish data in it. | [📑](#publish-arguments) |
|
||||
| extractenvironments | Extract environment variables for entered context to a json file. | [📑](#extractenvironments-arguments) |
|
||||
|
|
@ -56,25 +55,7 @@ For more information [see here](admin_use.md#run-openpype).
|
|||
openpype_console tray
|
||||
```
|
||||
---
|
||||
### `launch` arguments {#eventserver-arguments}
|
||||
You have to set either proper environment variables to provide URL and credentials or use
|
||||
option to specify them.
|
||||
|
||||
| Argument | Description |
|
||||
| --- | --- |
|
||||
| `--ftrack-url` | URL to ftrack server (can be set with `FTRACK_SERVER`) |
|
||||
| `--ftrack-user` |user name to log in to ftrack (can be set with `FTRACK_API_USER`) |
|
||||
| `--ftrack-api-key` | ftrack api key (can be set with `FTRACK_API_KEY`) |
|
||||
| `--legacy` | run event server without mongo storing |
|
||||
| `--clockify-api-key` | Clockify API key (can be set with `CLOCKIFY_API_KEY`) |
|
||||
| `--clockify-workspace` | Clockify workspace (can be set with `CLOCKIFY_WORKSPACE`) |
|
||||
|
||||
To run ftrack event server:
|
||||
```shell
|
||||
openpype_console eventserver --ftrack-url=<url> --ftrack-user=<user> --ftrack-api-key=<key>
|
||||
```
|
||||
|
||||
---
|
||||
### `launch` arguments {#launch-arguments}
|
||||
|
||||
| Argument | Description |
|
||||
|
|
|
|||
9
website/docs/admin_releases.md
Normal file
9
website/docs/admin_releases.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
id: admin_releases
|
||||
title: Releases
|
||||
sidebar_label: Releases
|
||||
---
|
||||
|
||||
Information about releases can be found on GitHub [Releases page](https://github.com/pypeclub/OpenPype/releases).
|
||||
|
||||
You can find features and bugfixes in the codebase or full changelog for advanced users.
|
||||
|
|
@ -10,6 +10,8 @@ sidebar_label: Key Concepts
|
|||
|
||||
In our pipeline all the main entities the project is made from are internally considered *'Assets'*. Episode, sequence, shot, character, prop, etc. All of these behave identically in the pipeline. Asset names need to be absolutely unique within the project because they are their key identifier.
|
||||
|
||||
OpenPype has a limitation regarding duplicated names. Name of assets must be unique across whole project.
|
||||
|
||||
### Subset
|
||||
|
||||
Usually, an asset needs to be created in multiple *'flavours'*. A character might have multiple different looks, model needs to be published in different resolutions, a standard animation rig might not be usable in a crowd system and so on. 'Subsets' are here to accommodate all this variety that might be needed within a single asset. A model might have subset: *'main'*, *'proxy'*, *'sculpt'*, while data of *'look'* family could have subsets *'main'*, *'dirty'*, *'damaged'*. Subsets have some recommendations for their names, but ultimately it's up to the artist to use them for separation of publishes when needed.
|
||||
|
|
@ -24,6 +26,11 @@ A numbered iteration of a given subset. Each version contains at least one [repr
|
|||
|
||||
Each published variant can come out of the software in multiple representations. All of them hold exactly the same data, but in different formats. A model, for example, might be saved as `.OBJ`, Alembic, Maya geometry or as all of them, to be ready for pickup in any other applications supporting these formats.
|
||||
|
||||
|
||||
#### Naming convention
|
||||
|
||||
At this moment names of assets, tasks, subsets or representations can contain only letters, numbers and underscore.
|
||||
|
||||
### Family
|
||||
|
||||
Each published [subset][3b89d8e0] can have exactly one family assigned to it. Family determines the type of data that the subset holds. Family doesn't dictate the file type, but can enforce certain technical specifications. For example OpenPype default configuration expects `model` family to only contain geometry without any shaders or joints when it is published.
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -13,7 +13,7 @@ Ftrack is currently the main project management option for OpenPype. This docume
|
|||
## 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.md#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.md#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](artist_ftrack.md#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.
|
||||
|
|
@ -26,7 +26,7 @@ You can only use our Ftrack Actions and publish to Ftrack if each artist is logg
|
|||
### Custom Attributes
|
||||
After successfully connecting OpenPype with you Ftrack, you can right click 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 Custom Attributes](manager_ftrack_actions.md#create-update-avalon-attributes), which creates and sets the Custom Attributes necessary for OpenPype to function.
|
||||
To prepare Ftrack for working with OpenPype you'll need to run [OpenPype Admin - Create/Update Custom Attributes](manager_ftrack_actions.md#create-update-avalon-attributes), which creates and sets the Custom Attributes necessary for OpenPype to function.
|
||||
|
||||
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ To prepare Ftrack for working with OpenPype you'll need to run [OpenPype Admin -
|
|||
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_console 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_console module ftrack 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.
|
||||
|
||||
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ There are specific launch arguments for event server. With `openpype_console eve
|
|||
- **`--ftrack-api-key "00000aaa-11bb-22cc-33dd-444444eeeee"`** : User's API key
|
||||
- `--ftrack-url "https://yourdomain.ftrackapp.com/"` : Ftrack server URL _(it is not needed to enter if you have set `FTRACK_SERVER` in OpenPype' environments)_
|
||||
|
||||
So if you want to use OpenPype's environments then you can launch event server for first time with these arguments `openpype_console.exe 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_console.exe eventserver`.
|
||||
So if you want to use OpenPype's environments then you can launch event server for first time with these arguments `openpype_console.exe module ftrack 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_console.exe module ftrack eventserver`.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="env">
|
||||
|
|
@ -72,7 +72,7 @@ We do not recommend setting your Ftrack user and api key environments in a persi
|
|||
|
||||
### 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. It can be Windows or Linux.
|
||||
We recommend you to run event server on stable server machine with ability to connect to OpenPype 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.
|
||||
|
|
@ -99,11 +99,10 @@ Event server should **not** run more than once! It may cause major issues.
|
|||
- add content to the file:
|
||||
```sh
|
||||
#!/usr/bin/env bash
|
||||
export OPENPYPE_DEBUG=1
|
||||
export OPENPYPE_MONGO=<openpype-mongo-url>
|
||||
|
||||
pushd /mnt/path/to/openpype
|
||||
./openpype_console eventserver --ftrack-user <openpype-admin-user> --ftrack-api-key <api-key>
|
||||
./openpype_console module ftrack eventserver --ftrack-user <openpype-admin-user> --ftrack-api-key <api-key> --debug
|
||||
```
|
||||
- change file permission:
|
||||
`sudo chmod 0755 /opt/openpype/run_event_server.sh`
|
||||
|
|
@ -140,14 +139,13 @@ WantedBy=multi-user.target
|
|||
<TabItem value="win">
|
||||
|
||||
- create service file: `openpype-ftrack-eventserver.bat`
|
||||
- add content to the service file:
|
||||
- add content to the service file:
|
||||
```sh
|
||||
@echo off
|
||||
set OPENPYPE_DEBUG=1
|
||||
set OPENPYPE_MONGO=<openpype-mongo-url>
|
||||
|
||||
pushd \\path\to\openpype
|
||||
openpype_console.exe eventserver --ftrack-user <openpype-admin-user> --ftrack-api-key <api-key>
|
||||
openpype_console.exe module ftrack eventserver --ftrack-user <openpype-admin-user> --ftrack-api-key <api-key> --debug
|
||||
```
|
||||
- download and install `nssm.cc`
|
||||
- create Windows service according to nssm.cc manual
|
||||
|
|
@ -174,7 +172,7 @@ 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.md#delete-asset-subset))_.
|
||||
:::
|
||||
|
||||
### Synchronize Hierarchical and Entity Attributes
|
||||
### Synchronize Hierarchical and Entity Attributes
|
||||
|
||||
Auto-synchronization of hierarchical attributes from Ftrack entities.
|
||||
|
||||
|
|
@ -190,7 +188,7 @@ Change status of next task from `Not started` to `Ready` when previous task is a
|
|||
|
||||
Multiple detailed rules for next task update can be configured in the settings.
|
||||
|
||||
### Delete Avalon ID from new entity
|
||||
### Delete Avalon ID from new entity
|
||||
|
||||
Is used to remove value from `Avalon/Mongo Id` Custom Attribute when entity is created.
|
||||
|
||||
|
|
@ -215,7 +213,7 @@ This event handler allows setting of different status to a first created Asset V
|
|||
This is useful 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`
|
||||
|
||||
### 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.
|
||||
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.
|
||||
|
||||
## Publish plugins
|
||||
|
||||
|
|
@ -238,7 +236,7 @@ Add Ftrack Family: enabled
|
|||
|
||||
#### Advanced adding if additional families present
|
||||
|
||||
In special cases adding 'ftrack' based on main family ('Families' set higher) is not enough.
|
||||
In special cases adding 'ftrack' based on main family ('Families' set higher) is not enough.
|
||||
(For example upload to Ftrack for 'plate' main family should only happen if 'review' is contained in instance 'families', not added in other cases. )
|
||||
|
||||

|
||||

|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ various usage scenarios.
|
|||
|
||||
You can find detailed breakdown of technical requirements [here](dev_requirements), but in general OpenPype should be able
|
||||
to operate in most studios fairly quickly. The main obstacles are usually related to workflows and habits, that
|
||||
might now be fully compatible with what OpenPype is expecting or enforcing.
|
||||
might not be fully compatible with what OpenPype is expecting or enforcing. It is recommended to go through artists [key concepts](artist_concepts) to get idea about basics.
|
||||
|
||||
Keep in mind that if you run into any workflows that are not supported, it's usually just because we haven't hit
|
||||
that particular case and it can most likely be added upon request.
|
||||
|
|
@ -48,24 +48,3 @@ to the table
|
|||
- Some DCCs do not support using Environment variables in file paths. This will make it very hard to maintain full multiplatform
|
||||
compatibility as well variable storage roots.
|
||||
- Relying on VPN connection and using it to work directly of network storage will be painfully slow.
|
||||
|
||||
|
||||
## Repositories
|
||||
|
||||
### [OpenPype](https://github.com/pypeclub/pype)
|
||||
|
||||
This is where vast majority of the code that works with your data lives. It acts
|
||||
as Avalon-Config, if we're speaking in avalon terms.
|
||||
|
||||
Avalon gives us the ability to work with a certain host, say Maya, in a standardized manner, but OpenPype defines **how** we work with all the data, allows most of the behavior to be configured on a very granular level and provides a comprehensive build and installation tools for it.
|
||||
|
||||
Thanks to that, we are able to maintain one codebase for vast majority of the features across all our clients deployments while keeping the option to tailor the pipeline to each individual studio.
|
||||
|
||||
### [Avalon-core](https://github.com/pypeclub/avalon-core)
|
||||
|
||||
Avalon-core is the heart of OpenPype. It provides the base functionality including key GUIs (albeit expanded and modified by us), database connection, standards for data structures, working with entities and some universal tools.
|
||||
|
||||
Avalon is being actively developed and maintained by a community of studios and TDs from around the world, with Pype Club team being an active contributor as well.
|
||||
|
||||
Due to the extensive work we've done on OpenPype and the need to react quickly to production needs, we
|
||||
maintain our own fork of avalon-core, which is kept up to date with upstream changes as much as possible.
|
||||
|
|
|
|||
|
|
@ -1,165 +0,0 @@
|
|||
---
|
||||
id: update_notes
|
||||
title: Update Notes
|
||||
sidebar_label: Update Notes
|
||||
---
|
||||
|
||||
<a name="update_to_2.13.0"></a>
|
||||
|
||||
## **Updating to 2.13.0** ##
|
||||
|
||||
### MongoDB
|
||||
|
||||
**Must**
|
||||
|
||||
Due to changes in how tasks are stored in the database (we added task types and possibility of more arbitrary data.), we must take a few precautions when updating.
|
||||
1. Make sure that ftrack event server with sync to avalon is NOT running during the update.
|
||||
2. Any project that is to be worked on with 2.13 must be synced from ftrack to avalon with the updated sync to avalon action, or using and updated event server sync to avalon event.
|
||||
|
||||
If 2.12 event servers runs when trying to update the project sync with 2.13, it will override any changes.
|
||||
|
||||
### Nuke Studio / hiero
|
||||
|
||||
Make sure to re-generate pype tags and replace any `task` tags on your shots with the new ones. This will allow you to make multiple tasks of the same type, but with different task name at the same time.
|
||||
|
||||
### Nuke
|
||||
|
||||
Due to a minor update to nuke write node, artists will be prompted to update their write nodes before being able to publish any old shots. There is a "repair" action for this in the publisher, so it doesn't have to be done manually.
|
||||
|
||||
|
||||
<a name="update_to_2.12.0"></a>
|
||||
|
||||
## **Updating to 2.12.0** ##
|
||||
|
||||
### Apps and tools
|
||||
|
||||
**Must**
|
||||
|
||||
run Create/Update Custom attributes action (to update custom attributes group)
|
||||
check if studio has set custom intent values and move values to ~/config/presets/global/intent.json
|
||||
|
||||
**Optional**
|
||||
|
||||
Set true/false on application and tools by studio usage (eliminate app list in Ftrack and time for registering Ftrack ations)
|
||||
|
||||
|
||||
<a name="update_to_2.11.0"></a>
|
||||
|
||||
## **Updating to 2.11.0** ##
|
||||
|
||||
### Maya in deadline
|
||||
|
||||
We added or own maya deadline plugin to make render management easier. It operates the same as standard mayaBatch in deadline, but allow us to separate Pype sumitted jobs from standard submitter. You'll need to follow this guide to update this [install pype deadline](https://pype.club/docs/admin_hosts#pype-dealine-supplement-code)
|
||||
|
||||
|
||||
<a name="update_to_2.9.0"></a>
|
||||
|
||||
## **Updating to 2.9.0** ##
|
||||
|
||||
### Review and Burnin PRESETS
|
||||
|
||||
This release introduces a major update to working with review and burnin presets. They can now be much more granular and can target extremely specific usecases. The change is backwards compatible with previous format of review and burnin presets, however we highly recommend updating all the presets to the new format. Documentation on what this looks like can be found on pype main [documentation page](https://pype.club/docs/admin_presets_plugins#publishjson).
|
||||
|
||||
### Multiroot and storages
|
||||
|
||||
With the support of multiroot projects, we removed the old `storage.json` from configuration and replaced it with simpler `config/anatomy/roots.json`. This is a required change, but only needs to be done once per studio during the update to 2.9.0. [Read More](https://pype.club/docs/next/admin_config#roots)
|
||||
|
||||
|
||||
<a name="update_to_2.7.0"></a>
|
||||
|
||||
## **Updating to 2.7.0** ##
|
||||
|
||||
### Master Versions
|
||||
To activate `master` version workflow you need to activate `integrateMasterVersion` plugin in the `config/presets/plugins/global/publish.json`
|
||||
|
||||
```
|
||||
"IntegrateMasterVersion": {"enabled": true},
|
||||
```
|
||||
|
||||
### Ftrack
|
||||
|
||||
Make sure that `intent` attributes in ftrack is set correctly. It should follow this setup unless you have your custom values
|
||||
```
|
||||
{
|
||||
"label": "Intent",
|
||||
"key": "intent",
|
||||
"type": "enumerator",
|
||||
"entity_type": "assetversion",
|
||||
"group": "avalon",
|
||||
"config": {
|
||||
"multiselect": false,
|
||||
"data": [
|
||||
{"test": "Test"},
|
||||
{"wip": "WIP"},
|
||||
{"final": "Final"}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
<a name="update_to_2.6.0"></a>
|
||||
|
||||
## **Updating to 2.6.0** ##
|
||||
|
||||
### Dev vs Prod
|
||||
|
||||
If you want to differentiate between dev and prod deployments of pype, you need to add `config.ini` file to `pype-setup/pypeapp` folder with content.
|
||||
|
||||
```
|
||||
[Default]
|
||||
dev=true
|
||||
```
|
||||
|
||||
### Ftrack
|
||||
|
||||
You will have to log in to ftrack in pype after the update. You should be automatically prompted with the ftrack login window when you launch 2.6 release for the first time.
|
||||
|
||||
Event server has to be restarted after the update to enable the ability to control it via action.
|
||||
|
||||
### Presets
|
||||
|
||||
There is a major change in the way how burnin presets are being stored. We simplified the preset format, however that means the currently running production configs need to be tweaked to match the new format.
|
||||
|
||||
:::note Example of converting burnin preset from 2.5 to 2.6
|
||||
|
||||
2.5 burnin preset
|
||||
|
||||
```
|
||||
"burnins":{
|
||||
"TOP_LEFT": {
|
||||
"function": "text",
|
||||
"text": "{dd}/{mm}/{yyyy}"
|
||||
},
|
||||
"TOP_CENTERED": {
|
||||
"function": "text",
|
||||
"text": ""
|
||||
},
|
||||
"TOP_RIGHT": {
|
||||
"function": "text",
|
||||
"text": "v{version:0>3}"
|
||||
},
|
||||
"BOTTOM_LEFT": {
|
||||
"function": "text",
|
||||
"text": "{frame_start}-{current_frame}-{frame_end}"
|
||||
},
|
||||
"BOTTOM_CENTERED": {
|
||||
"function": "text",
|
||||
"text": "{asset}"
|
||||
},
|
||||
"BOTTOM_RIGHT": {
|
||||
"function": "frame_numbers",
|
||||
"text": "{username}"
|
||||
}
|
||||
```
|
||||
|
||||
2.6 burnin preset
|
||||
```
|
||||
"burnins":{
|
||||
"TOP_LEFT": "{dd}/{mm}/{yyyy}",
|
||||
"TOP_CENTER": "",
|
||||
"TOP_RIGHT": "v{version:0>3}"
|
||||
"BOTTOM_LEFT": "{frame_start}-{current_frame}-{frame_end}",
|
||||
"BOTTOM_CENTERED": "{asset}",
|
||||
"BOTTOM_RIGHT": "{username}"
|
||||
}
|
||||
```
|
||||
|
|
@ -109,11 +109,7 @@ module.exports = {
|
|||
"admin_hosts_tvpaint"
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Releases",
|
||||
items: ["changelog", "update_notes"],
|
||||
},
|
||||
"admin_releases",
|
||||
{
|
||||
type: "category",
|
||||
collapsed: false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue