The builds for Thursday and Friday (Feb 14/15) introduced an ‘overridable’ attribute on resources that controls whether or not that resource can be overridden by a child project.
Unfortunately there was a bug that resulted in all resources being
overridable=false on upgrade (from 8.0 beta to beta, not from 7.9) rather than
overridable=true as the default should be.
If you find yourself affected by this and you can’t just restore your previous backup to a build from today forward then you might be able to repair the situation running this script from the
data dir or passing the full path to the
data/project dir as the first argument.
Built and tested with Python 3.x, not sure it it will work on 2.x. Make a copy of your data projects directory before running it just in case.
#!/usr/bin/python import json import os import sys def fix_override(manifest_path): print("fixing manifest at path: " + manifest_path) with open(manifest_path, 'r+') as manifest_file: manifest = json.load(manifest_file) manifest["overridable"] = True manifest_file.seek(0) json.dump(manifest, manifest_file, indent=2) manifest_file.truncate() project_dir = sys.argv if len(sys.argv) == 2 else './projects' print("fixing manifests in project dir: " + project_dir) for dirpath, dirnames, filenames in os.walk(project_dir): for filename in filenames: if filename == "resource.json": manifest_path = os.path.join(dirpath, filename) fix_override(manifest_path)
The bug is fixed in the most recent (Feb 16) build.