Pipeline - SG Dev - Key concepts
Alrighty so this page will give a broad overview of all the steps necessary to add new features to our ShotGrid pipeline. I strongly recommend you just read the ShotGrid toolkit documentation, but this page will be enough to get a broad gist of things. First we'll start with some core concepts.
Engines and apps
These two terms, engines and apps, are very import to know. When we talk about a ShotGrid engine, we talk about the package of code that allows us to tap into a software package through ShotGrid. Every application we want to use in our ShotGrid pipeline needs an engine. Luckily ShotGrid provides these for almost all important software packages like Nuke, Maya and Houdini. We have made copies and adjustment to these engines to suit our needs, so you'll find the engines we use on our GitHub page. This for example is the Maya engine. Apps then are packages of code that allow us to add certain features to a software. The SG Nuke write node is an app, as is the Houdini Karma render integration. There are also apps that can work in multiple engines, such as the file browser app, which is called tk-multi-workfiles2. There are a LOT of apps in our pipeline, a lot of which we've written ourselves, so be sure to have a look at all our GitHub repositories!
The configuration
Which engines and apps are used is stored in our ShotGrid configuration. The configuration consists of a bunch of YAML files that configure how the ShotGrid pipeline should behave. The configuration also houses our file path templates, pipeline folder structure, stuff like that. Every computer downloads the configuration from our GitHub when the ShotGrid launcher is opened. If you've made changes to an app, you'll have to change the configuration as well so the latest version of that app is then used.
The ShotGrid website
So far everything we've talked about is done through GitHub, but the ShotGrid website also has some pipeline stuff going on. The most important page is the software page, where you can configure software versions. Keep in mind though that just changing a version here won't work, as you'll have to make sure the engine and all the apps are updated for that specific version.