Tk-multi-launchapp _get_sg_software_entities hook

Hi, we would like to modify the logic (queries, filters, etc…) used to populate the list of Applications displayed in the ShotGrid Desktop app.
We added a few more fields and logic on how that list should be filtered out and populated in ShotGrid but I’m not seeing any hook to re-implement the method responsible for retrieving the software list from ShotGrid:

software_entity_launcher.py
SoftwareEntityLauncher._get_sg_software_entities()

I can write a custom hook to support this but I’m afraid I would have to patch the file every time ShotGrid Desktop gets an update.

Am I missing something here, is there a way to accomplish this already without interfering with future updates ?
Thank you.

The “normal” way to do it is to fork the app, install on your systems from the fork (by pointing to it from your pipeline configuration), and update the fork once there are updates upstream by git pulling.
Patching files manually on updates is the most haphazard way.

From what I understand you would like to add new hooks into the app. We have been doing this, so feel free to ask. Also, if the hooks have wider applicability, you could consider submitting your changes upstream (and SG guys can merge them if desired).

I’m going to look into this, thanks for your reply, that was helpful.

For reference, this section of the SG doc explains good practice for forking a project and versioning:

Yeah this doc does explain some details about versioning and tagging I didn’t.
This workflow is great, but it does require you to be comfortable with git. Getting into it also helps with writing your own sg apps, getting some nice benefits for free.

For reference, this section of the SG doc

They might love pull requests, but there are some very old ones without reaction :person_shrugging: Perhaps if the change is worthwhile for SG they would merge it, though.