ayon-core/server_addon
Petr Kalis 7d94fb92c2
Fusion: new creator for image product type (#6057)
* Introduced image product type

'image' product type should result in single frame output, 'render' should be more focused on multiple frames.

* Updated logging

* Refactor moved generic creaor class to better location

* Update openpype/settings/entities/schemas/projects_schema/schema_project_fusion.json

Co-authored-by: Jakub Ježek <jakubjezek001@gmail.com>

* Change label

It might be movie type not only image sequence.

* OP-7470 - fix name

* OP-7470 - update docstring

There were objections for setting up this creator as it seems unnecessary. There is currently no other way how to implement customer requirement but this, but in the future 'alias' product types implementation might solve this.

* Implementing changes from #6060

https://github.com/ynput/OpenPype/pull/6060

* Update openpype/settings/defaults/project_settings/fusion.json

Co-authored-by: Jakub Ježek <jakubjezek001@gmail.com>

* Update server_addon/fusion/server/settings.py

Co-authored-by: Jakub Ježek <jakubjezek001@gmail.com>

* Update openpype/hosts/fusion/api/plugin.py

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

* OP-7470 - added explicit frame field

Artist can insert specific frame from which `image` instance should be created.

* OP-7470 - fix name and logging

Prints better message even in debug mode.

* OP-7470 - update instance label

It contained original frames which was confusing.

* Update openpype/hosts/fusion/plugins/create/create_image_saver.py

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

* OP-7470 - fix documentation

* OP-7470 - moved frame range resolution earlier

This approach is safer, as frame range is resolved sooner.

* OP-7470 - added new validator for single frame

* OP-7470 - Hound

* OP-7470 - removed unnecessary as label

* OP-7470 - use internal class anatomy

* OP-7470 - add explicit settings_category to propagete values from Setting correctly

apply_settings is replaced by correct value in `settings_category`

* OP-7470 - typo

* OP-7470 - update docstring

* OP-7470 - update formatting data

This probably fixes issue with missing product key in intermediate product name.

* OP-7470 - moved around only proper fields

Some fields (frame and frame_range) are making sense only in specific creator.

* OP-7470 - added defaults to Settings

* OP-7470 - fixed typo

* OP-7470 - bumped up version

Settings changed, so addon version should change too. 0.1.2 is in develop

* Update openpype/hosts/fusion/plugins/publish/collect_instances.py

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

* OP-7470 - removed unnecessary variables

There was logic intended to use those, deemed not necessary.

* OP-7470 - update to error message

* OP-7470 - removed unneded method

---------

Co-authored-by: Jakub Ježek <jakubjezek001@gmail.com>
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
2024-01-15 10:32:39 +01:00
..
aftereffects AYON: Update settings (#5544) 2023-08-31 17:24:52 +02:00
applications/server typo 2023-12-06 17:12:44 +01:00
blender/server new defaults for AYON 2023-12-06 16:37:27 +01: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 Chore: Remove deprecated templates profiles (#6103) 2024-01-09 11:16:28 +01:00
deadline/server 🎨 add split export support for redshift 2024-01-06 00:01:14 +01:00
flame/server AYON: Addon settings in OpenPype (#5347) 2023-07-26 14:08:42 +02:00
fusion/server Fusion: new creator for image product type (#6057) 2024-01-15 10:32:39 +01:00
harmony AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
hiero/server script menu name change in server addon 2023-11-30 14:22:32 +01:00
houdini/server 🎨 add split export support for redshift 2024-01-06 00:01:14 +01:00
kitsu/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
max/server small setting bug tweaks on ayon setting 2024-01-03 23:51:08 +08:00
maya Merge branch 'develop' into bugfix/OP-7281_Maya-Review---playblast-renders-without-textures 2024-01-04 00:02:54 +08:00
muster/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
nuke/server Merge branch 'develop' into chore/maya_remove_publish_gui_filters 2023-12-21 12:21:51 +01:00
openpype AYON: OpenPype addon dependencies (#6113) 2024-01-11 13:18:58 +01:00
photoshop Photoshop: fix Collect Color Coded settings (#6065) 2023-12-18 16:39:29 +01: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
substancepainter/server Chore: Substance Painter Addons for Ayon (#5914) 2023-11-20 14:30:09 +01:00
timers_manager/server AYON: Addons creation enhancements (#5356) 2023-07-28 11:51:23 +02:00
traypublisher/server ayon settings: trypublisher editorial add task model conversion 2023-11-07 17:28:37 +01:00
tvpaint/server Bump TVPaint Server Addon patch version 2023-10-07 20:35:08 +02:00
unreal/server new defaults for AYON 2023-12-06 16:37:27 +01:00
create_ayon_addons.py added harmony and flame to skipped addons 2023-11-21 11:07:10 +01: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