ayon-core/server_addon
Petr Kalis 8b128d91bc
Maya: allow not creation of group for Import loaders (#5427)
* OP-6357 - removed unneeded import

* OP-6357 - extracted logic for getting custom group and namespace from Settings

Mimicing logic in ReferenceLoader, eg. group could be left empty >> no groupping of imported subset.

* OP-6357 - same logic for abc animation as Reference

* OP-6357 - same logic for yeti rig as ReferenceLoder

Allows to not create wrapping group.

* OP-6357 - added separate import_loader to settings

Could be used to not creating wrapping groups when Group kept empty.

* OP-6357 - added product subset conversion for ayon settings

* OP-6357 - fix using correct variable

Artist input comes from `data` not directly from self.options

* OP-6357 - add attach_to_root to options to allow control by same key

* OP-6357 - added docstring

* Added settings for Import loaders in maya

* OP-6357 - refactored formatting
2023-08-11 16:12:05 +02:00
..
aftereffects AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
applications/server Applications: Attributes creation (#5408) 2023-08-04 14:58:50 +02:00
blender/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
celaction/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
clockify/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
core/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
deadline/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
flame/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
fusion/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
harmony AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
hiero/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
houdini/server Settings: Houdini & Maya create plugin settings (#5436) 2023-08-10 11:34:54 +02:00
kitsu/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
maya Maya: allow not creation of group for Import loaders (#5427) 2023-08-11 16:12:05 +02:00
muster/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
nuke/server nuke: update server addon settings 2023-08-07 16:28:54 +02:00
openpype AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
photoshop AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
resolve/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
royal_render/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
timers_manager/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
traypublisher/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
tvpaint/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
unreal/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
create_ayon_addons.py SyncServer: Existence of module is optional (#5413) 2023-08-07 18:48:27 +02:00
README.md AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00

Addons for AYON server

Preparation of AYON addons based on OpenPype codebase. The output is a bunch of zip files in ./packages directory that can be uploaded to AYON server. One of the packages is openpype which is OpenPype code converted to AYON addon. The addon is must have requirement to be able to use ayon-launcher. The versioning of openpype addon is following versioning of OpenPype. The other addons contain only settings models.

Intro

OpenPype is transitioning to AYON, a dedicated server with its own database, moving away from MongoDB. During this transition period, OpenPype will remain compatible with both MongoDB and AYON. However, we will gradually update the codebase to align with AYON's data structure and separate individual components into addons.

Currently, OpenPype has an AYON mode, which means it utilizes the AYON server instead of MongoDB through conversion utilities. Initially, we added the AYON executable alongside the OpenPype executables to enable AYON mode. While this approach worked, updating to new code versions would require a complete reinstallation. To address this, we have decided to create a new repository specifically for the base desktop application logic, which we currently refer to as the AYON Launcher. This Launcher will replace the executables generated by the OpenPype build and convert the OpenPype code into a server addon, resulting in smaller updates.

Since the implementation of the AYON Launcher is not yet fully completed, we will maintain both methods of starting AYON mode for now. Once the AYON Launcher is finished, we will remove the AYON executables from the OpenPype codebase entirely.

During this transitional period, the AYON Launcher addon will be a requirement as the entry point for using the AYON Launcher.

How to start

There is a create_ayon_addons.py python file which contains logic how to create server addon from OpenPype codebase. Just run the code.

./.poetry/bin/poetry run python ./server_addon/create_ayon_addons.py

It will create directory ./packages/<addon name>.zip files for AYON server. You can then copy upload the zip files to AYON server. Restart server to update addons information, add the addon version to server bundle and set the bundle for production or staging usage.

Once addon is on server and is enabled, you can just run AYON launcher. Content will be downloaded and used automatically.

Additional arguments

Additional arguments are useful for development purposes.

To skip zip creation to keep only server ready folder structure, pass --skip-zip argument.

./.poetry/bin/poetry run python ./server_addon/create_ayon_addons.py --skip-zip

To create both zips and keep folder structure, pass --keep-sources argument.

./.poetry/bin/poetry run python ./server_addon/create_ayon_addons.py --keep-sources