I’ve been been rewriting some apps we have in our own bundle_cache/app_store to remove the use of local json files used to store user data. To do this, I though to use the Settings module included in tk-framework-shotgunutils to store local machine data as shown here: https://developer.shotgunsoftware.com/tk-framework-shotgunutils/settings.htm. This works fine for me as long as the data is stored and retrieved in the same app, but even with the scope being set to SCOPE_GLOBAL, I’m not able to share data between apps. I’ve been attempting to pull the setting data by running this inside apps:
settings = sgtk.platform.import_framework("tk-framework-shotgunutils", "settings") settingsManager = settings.UserSettings(sgtk.platform.current_bundle()) settingsManager .retrieve("name I used to store the variable", 'default')
The same happens when I attempted to pull the data from inside a hook class using this:
framework = self.load_framework("tk-framework-shotgunutils_v5.x.x") module = framework.import_module("settings") settings = module.UserSettings(self.parent) settings.retrieve("name I used to store the variable", 'default')
Am I missing something in regards to storing and retrieving local data to be used across apps and hooks? Right now I’m accessing user data for hooks through a json file being loaded by using
And this definitely doesn’t seem like the correct way of storing and accessing data. Is Shotgun Toolkit Qt Settings Wrapper the best option to achieve this? Or is there a better way of sharing data locally across all of toolkit?