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