adamchry Posted June 9, 2015 Report Share Posted June 9, 2015 Hello all, My goal is to launch programs such as windows shell, Maya & Nuke, etc, from the ftrack UI and also feed custom environment variables to the shell before the application is launched. For example, I know project A requires Nuke 8.0 and Ocula 1.0 and project B requires Nuke 9.0 & Ocula 2.0 .I'm hoping to make/update a UI in ftrack which would have a Nuke icon and if the user double clicks the Nuke icon, the correct version of Nuke and plug-in are found via the environment variables. I can do this with other web based production tracking software and via a command line/Gui based system I maintained at a previous job site. This is the first time I've used ftrack so apologies if this is an obvious topic. Thanks for any tips. Adam ChrystiePipeline Software Engineer Link to comment Share on other sites More sharing options...
adamchry Posted June 9, 2015 Author Report Share Posted June 9, 2015 I think I see something which might work..perhaps in the action method I use python to update the environment variables. I assume for each project I can make a unique set of Action based program Launchers and this is how I can ensure each show gets the right version of software. When we install software we remove any environment info which is global...keeps computers nice and clean and avoids crud from multiple installs interfering with each other...then we use application launchers to add in the needed environment variables before executing the program. Link to comment Share on other sites More sharing options...
sonictk Posted June 10, 2015 Report Share Posted June 10, 2015 Hi: This is something I wish the docs would actually have expanded a lot more on since a lot of my fumbling around the past few months was specifically trying to decide the best way to do this. Initially I had it the same way you're intending, with each ftrack application reading from a specific auth file that sets the environment variables and then launches the application in a subprocess (Connect/3ds max). Right now though I'm abandoning that approach since it's becoming a hassle to manage, and just have a new standalone application for entering credentials. That writes to a global QSettings file instead that is now read and sets the environment variables directly. This way multiple users can still login on the same machine and avoid having to manually set environment variables all the time. Link to comment Share on other sites More sharing options...
marc mantei Posted July 23, 2020 Report Share Posted July 23, 2020 i want to bump this topic and ask if there are good approaches available? would be interested to read how you approached a solution so far. thanks. Link to comment Share on other sites More sharing options...
AlexOddbratt Posted January 21, 2021 Report Share Posted January 21, 2021 We tried a slightly different approach. Each project had a custom variable that dictated which software version it should be using. ie Maya: 2019, Nuke: 12.0v4 aso. And then in the discover function of each softwares action/launcher code it would only display the software versions that matched the project variable. Technically it worked great and each project only allowed corresponding versions of the software to launch, but because of the forced custom variable query per launcher it added an annoying delay every time a user pressed the action button and in the end we decided to disable the feature. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now