ID 316332 - LiveGroups will not publish correctly if the contained script is using the filenameFilter function.

Follow

Problem summary
LiveGroups will not re-path and publish correctly if the contained script is using the filenameFilter function.

Customer reported version
nuke.11.0v2

Customer reported platform
windows10

Steps to reproduce

1) Set up a filename filter using nuke.addFilenameFilter as per https://docs.thefoundry.co.uk/nuke/110/pythondevguide/callbacks.html%23filenamefilter
(or open up attached script and alter the init.py values to your directories)

2) Load/use script which contains a LiveGroup where the file contains a path that will be modified by the nuke.addFilenameFilter function between two different OS's (in this case open in Windows with these Linux pathed files)
3) The file reads successfully and the nodegraph is loaded correctly.

4) You will notice that the LiveGroup path is displaying the Linux directories, this is expected and how the re-pathing works pythonically
5) Make some changes to the Livegroup nodegraph.
6) Click on publish in the Livegroup properties.
Result: The error dialog that suggests that the write to the (unmodified) path is unsuccessful.


Workaround
The suggested work around would be to use Precomp nodes when using the filenameFilter function as this workflow has been tested and works.

Alternatively, you can use path substitutions instead of the filenameFilter function in conjunction with a Precomp setup.

Reproduced by support
Nuke 11.0v2 - Windows 7 - MacOSX 10.12 - CentOS 6.9
Nuke 11.0v1 - Windows 7 - MacOSX 10.12 - CentOS 6.9  - regression

Unable to repro on:
Nuke 10.5v6 - Windows 7 - MacOSX 10.12 - CentOS 6.9
Earliest version tested:
Nuke 10.5v6 - Windows 7 - MacOSX 10.12 - CentOS 6.9
- LiveGroups was not present before Nuke 11 releases

Expected behaviour
LiveGroups should change the file path allocations when publishing as other read/write tools in Nuke using the filenameFilter function.

Actual behaviour
LiveGroups won't let you publish if using the filenameFilter function is set in the contained LiveGroup

    We're sorry to hear that

    Please tell us why