Skip to content

YN-0022 Adds batchgroup publishing workflow - MVP#84

Closed
jakubjezek001 wants to merge 54 commits into
developfrom
feature/YN-0022_publishing-batch-as-workfile
Closed

YN-0022 Adds batchgroup publishing workflow - MVP#84
jakubjezek001 wants to merge 54 commits into
developfrom
feature/YN-0022_publishing-batch-as-workfile

Conversation

@jakubjezek001

@jakubjezek001 jakubjezek001 commented Oct 30, 2025

Copy link
Copy Markdown
Member

Changelog Description

Batchgroup product publishing workflow.
closes #67

Additional info

  • Creator on demand option in Creator dialogue
  • Creator update/remove/collect features
  • The collector should be ready for shot-based batch group workfile products.
  • The extractor should create a batch group workfile so that it is ready to be integrated as a JSON representation.
  • Implement basic loader for batchgroup products
  • The post-integrator plugin should load shot-related products into the batch group workfile.
    • If an existing version of the workfile is available, then update it and save it as a new version
    • Load shot-related products (plate) if any and inject them in.
    • Need to make sure to update the file/folder checksum after it is loaded.
  • Deprecate legacy batch group node settings
  • Clear out Add task (shot) and batch group task settings

Follow up questions

  • Very basic LoadBatchgroup logic that loads the batch nodes within current batch. Should we make more options available ?
  • Can only load representation from additional representation in batchgroup, is that expected ?
  • No publishable write node implemented yet

Testing notes:

  1. Create a timeline
  2. Publish some clips with the Create/Update batchgroups option enabled
  3. Ensure the batchgroup get published under each shot and can be loaded
  4. If any plate is published while publishing the batchgroup, ensure the plate media is part of the batchgroup

@jakubjezek001 jakubjezek001 self-assigned this Oct 30, 2025
@jakubjezek001 jakubjezek001 added sponsored This is directly sponsored by a client or community member type: enhancement Improvement of existing functionality or minor addition labels Oct 30, 2025
Adds ability to generate batchgroup product for shot.

- Creates a new creator for batchgroup products.
- Adds a boolean setting to toggle batchgroup export.
- Uses "workfile" product type and names for the batchgroup.
creation plugin.

Uses `self.presets.get()` directly within property
definitions, removing the need for a local variable.

This makes the code more readable and maintainable.
Adds a plugin to extract Batchgroup product data to
create and update batch groups in Flame.

Updates the collect batchgroup plugin to set the task name
and attach task data.

Removes the collect batchgroup directory plugin.
- Defines models for output node properties and task
  attachment.
- Introduces `CollectBatchgroupModel` for managing
  batchgroup settings.
- Includes default settings for `CollectBatchgroup`
  plugin.
@antirotor antirotor requested a review from Copilot November 3, 2025 08:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for batchgroup product creation in the Flame integration, allowing users to generate batchgroup workfile products for shots. The implementation includes settings configuration, creator plugins, and collection/extraction logic for batch groups.

Key changes:

  • Added settings models for batchgroup configuration including output node properties and task attachment
  • Introduced new creator plugin for editorial batchgroup instances
  • Implemented collection and extraction plugins for batchgroup processing

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
server/settings/publish_plugins.py Added OutputNodePropertiesModel, AttachToTaskModel, and CollectBatchgroupModel settings with default configuration
server/settings/create_plugins.py Added export_batchgroup boolean field to enable batchgroup export in shot clip creation
client/ayon_flame/plugins/publish/exctract_batchgroup.py New plugin that extracts batchgroup product data and creates batch groups in Flame
client/ayon_flame/plugins/publish/collect_shots.py Added flameAddTasks to copy to instance attributes
client/ayon_flame/plugins/publish/collect_batchgroup.py New plugin that collects batchgroup workfile products for shots
client/ayon_flame/plugins/create/create_shot_clip.py Added EditorialBatchgroupInstanceCreator class and batchgroup handling logic, refactored preset access
Comments suppressed due to low confidence (1)

client/ayon_flame/plugins/publish/collect_batchgroup.py:5

  • Import of 'deepcopy' is not used.
from copy import deepcopy

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread client/ayon_flame/plugins/publish/exctract_batchgroup.py Outdated
Comment thread client/ayon_flame/plugins/publish/exctract_batchgroup.py Outdated
Comment thread client/ayon_flame/plugins/publish/exctract_batchgroup.py Outdated
Comment thread client/ayon_flame/plugins/publish/exctract_batchgroup.py Outdated
Comment thread client/ayon_flame/plugins/publish/collect_batchgroup.py Outdated
Comment thread client/ayon_flame/plugins/publish/collect_batchgroup.py
Comment thread client/ayon_flame/plugins/create/create_shot_clip.py Outdated
validation of setting keys in collector
families not needed at creator
Updates the property processing logic to convert values
from settings to integers when possible.

Also adds static method decorator to shot task dir path.
- Updates batchgroup extraction to handle templated paths
  for output nodes, enhancing flexibility.
- Converts values to their appropriate types.
- Utilizes `Pathlib` for robust path management.
- Improves settings configuration for output node properties.
Renames the `name` key to `task_name` within `attach_to_task` data. This change provides clearer semantic meaning when defining or linking tasks during batchgroup publishing.

Adjusts the `ExtractBatchgroup` plugin's order to `ExtractorOrder` to ensure it executes correctly within the Pyblish extraction phase.
Adds 'clip' family to the batchgroup instance.

This modification ensures that batchgroup instances
are correctly identified as 'clip' type.
This is required for publishing batch as workfile
functionality.
Adds logging for property settings during batch
extraction to aid in debugging and ensure values
are correctly assigned.

This enhances visibility into the property
assignment process.
- Improves batchgroup extraction with anatomy data.
- Adds root to anatomy data for workfile publishing.
- Uses StringTemplate for strict formatting.
- Includes logging for attribute setting.
- Improves value conversion with better type handling.
Simplifies batch node attribute setting with
contextlib.suppress to handle potential errors.

This improves code readability and robustness
by suppressing expected RuntimeErrors during
attribute setting, avoiding unnecessary error
logging.
@jakubjezek001 jakubjezek001 changed the title Adds batchgroup publishing workflow Adds batchgroup publishing workflow - mvp Nov 11, 2025
Extracts batch group data into a JSON format
for easier workfile publishing.

- Converts batch group content to JSON.
- Uses staging directory for temporary storage.
- Adds folder path to batchgroup name.
- Updates Batchgroup extraction.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not review this. This not new code, but it appears as a new because of the naming change.

@rdelillo rdelillo marked this pull request as ready for review February 16, 2026 17:50
@jakubjezek001

Copy link
Copy Markdown
Member Author

I am assuming we could perhaps merge it, right @rdelillo ?

@rdelillo

rdelillo commented May 5, 2026

Copy link
Copy Markdown
Contributor

This is not what is required for now, we'll potentially have to build a new workflow on the top of:
#122
#123
#124
#125

@rdelillo rdelillo mentioned this pull request May 6, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sponsored This is directly sponsored by a client or community member type: enhancement Improvement of existing functionality or minor addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

YN-0022_publishing batch as workfile to files

5 participants