# Overridable Resources Bug

**URL:** <https://forum.inductiveautomation.com/t/overridable-resources-bug/22630>\
**Category:** Ignition Early Access\
**Created:** [February 16, 2019, 2:48pm UTC](https://forum.inductiveautomation.com/t/overridable-resources-bug/22630 "2019-02-16T14:48:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 16, 2019, 2:48pm UTC](https://forum.inductiveautomation.com/t/overridable-resources-bug/22630/1 "2019-02-16T14:48:28Z")

</div>

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.

```python
#!/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[1] 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.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 16, 2019, 2:49pm UTC](https://forum.inductiveautomation.com/t/overridable-resources-bug/22630/2 "2019-02-16T14:49:06Z")

</div>


