# Ignition 8 Gateway Script and Client Event scripts with project inheritance

**URL:** <https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231>\
**Category:** Ignition Early Access\
**Tags:** ignition80\
**Created:** [November 26, 2019, 8:31am UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231 "2019-11-26T08:31:29Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [November 26, 2019, 8:31am UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/1 "2019-11-26T08:31:29Z")

</div>

@Paul.Scott

I have a 7.9 backup upgraded to 8.0.7-nightly.  
There is a global project inherited by another project “Final”.

I would like to know how are managed the gateway and client script for the global project and the “Final” project ? I don’t find any indication in: [https://docs.inductiveautomation.com/display/DOC80/Project+Inheritance](https://docs.inductiveautomation.com/display/DOC80/Project+Inheritance)

With some test, the behavior seem to be as follow:

- Client and Gateway scripts are not inheritable. You can’t override these ressources in the designer.

- For Gateway script:  
Startup script of the global project is executed  
and then Startup script of the “Final” project

- For Client script:  
script from the global project are not executed (for example startup). This make sense because the gobal project is not really loaded in the client scope.  
Client Script in the “Final” project are executed

**Is it the intentional behavior for client script ???**

---

<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:** [November 26, 2019, 1:27pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/2 "2019-11-26T13:27:18Z")

</div>

> [@mazeyrat](#):
>
> Client and Gateway scripts are not inheritable. You can’t override these ressources in the designer.

Right-click -\> override resource. The outstanding issue is that there is no granularity, the overridde is for _all_ client or gateway scripts.

> [@mazeyrat](#):
>
> For Gateway script:  
> Startup script of the global project is executed  
> and then Startup script of the “Final” project

Are you sure the startup script for the "global" project is running? It shouldn't, but if you haven't overridden it in the child project it will run this script because it inherited it. But it's the child running it.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [November 26, 2019, 1:56pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/3 "2019-11-26T13:56:21Z")

</div>

In the child project I can’t override **Client Events** or **Gateway Events** with a Right-click menu.  
There is no menu ?

In my use case, both Gateway startup script in the global project and the child project are executed.  
I don’t know who is responsible of the execution

---

<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:** [November 26, 2019, 2:17pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/4 "2019-11-26T14:17:51Z")

</div>

You don’t see this?

![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/8/8d37c006bac7103e7f56f3893a750e2c0da555cc.png)

If it’s not greyed out then it’s already overridden in the child project. If the child project had gateway events defined this would be the case.

I don’t see the parent startup scripts running in my test setup, so maybe it’s something specific to your configuration and that it’s an upgrade. You might need to open a ticket with support and provide your 7.9 backup.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [November 26, 2019, 2:31pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/5 "2019-11-26T14:31:52Z")

</div>

Yes, I don’t have this menu.  
It must be the upgrade of a 7.9 project who has put the overrides on the gateway and client events in the child project.

for the Gateways Events, Startup or timer script in the global project and in the child project are both executed in my case… I will see to fill a ticket if it’s not the intentional behavior.

---

<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:** [November 26, 2019, 2:33pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/6 "2019-11-26T14:33:58Z")

</div>

If the global project (or any other project) is configured as Inheritable then it should not be “runnable” and its scripts should not be running.

---

<div class="post-metadata">

**Author:** ![joe.friedrich](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/joe.friedrich/32/7505_2.png) [@joe.friedrich](https://forum.inductiveautomation.com/u/joe.friedrich)\
**Post date:** [May 1, 2020, 2:30pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/7 "2020-05-01T14:30:50Z")

</div>

Kevin, how would I revert the ‘Override Resource’ selection in Gateway Events or Session Events?  
In scripts and views, I simply delete the script or view.  
That’s not an option in Gateway Events or Session Events.  
(Actually, no options come up when right clicking in 8.0.12 [after clicking on override resource]).

---

<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:** [May 1, 2020, 3:05pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/8 "2020-05-01T15:05:43Z")

</div>

I don’t know why there isn’t UI for this, I’ll open an issue.

In the meantime you can delete the folder at `$IGNITION/data/projects/$childProject/ignition/event-scripts` and then click the “merge new changes from gateway” button in the designer. Maybe make a copy of it first to be safe…

Be careful, because this will delete _all_ gateway event scripts (timer, startup, shutdown, etc…) defined in the child project, because they’re all tangled together into a single opaque “event-scripts” resource.

---

<div class="post-metadata">

**Author:** ![joshdunstan](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/joshdunstan/32/43306_2.png) [@joshdunstan](https://forum.inductiveautomation.com/u/joshdunstan)\
**Post date:** [April 6, 2021, 4:02am UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/9 "2021-04-06T04:02:04Z")

</div>

Hey Kevin, did this get any more love? As far as I can tell, the designer can’t be configured to inherit gateway or client scripts via the UI?

---

<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:** [April 6, 2021, 1:24pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/10 "2021-04-06T13:24:44Z")

</div>

You should be able to override a parent project’s scripts from the UI (all or nothing, not individually), it’s undoing that action that needs UI support still.

---

<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:** [April 6, 2021, 1:33pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/11 "2021-04-06T13:33:21Z")

</div>

I couldn’t find the original ticket for this, it may not have made its way over during our issue tracker migration. Made a new one… hopefully we can at least make this “un-overridable” in the UI soon.

Making each event script its own individual resource is already being tracked and is likely to be 8.2 timeframe due to the risk involved.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 6, 2021, 2:28pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/12 "2021-04-06T14:28:56Z")

</div>

> [@Kevin.Herron](#):
>
> Making each event script its own individual resource is already being tracked

Please make the new resource text-based.... It would be particularly nice if the script part of the event was stored in a file ending with `.py` ... 😃

---

<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:** [April 6, 2021, 2:39pm UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/13 "2021-04-06T14:39:00Z")

</div>

That’s the plan!

---

<div class="post-metadata">

**Author:** ![joshdunstan](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/joshdunstan/32/43306_2.png) [@joshdunstan](https://forum.inductiveautomation.com/u/joshdunstan)\
**Post date:** [April 8, 2021, 4:38am UTC](https://forum.inductiveautomation.com/t/ignition-8-gateway-script-and-client-event-scripts-with-project-inheritance/30231/14 "2021-04-08T04:38:36Z")

</div>

Yep OK so I guess ours have ‘always’ been overriden in all of our projects… we always start with a preconfigured project/resource.
