# Project Multiple Inheritance

**URL:** <https://forum.inductiveautomation.com/t/project-multiple-inheritance/26432>\
**Category:** Ignition Early Access\
**Created:** [July 10, 2019, 12:14pm UTC](https://forum.inductiveautomation.com/t/project-multiple-inheritance/26432 "2019-07-10T12:14:09Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [August 1, 2019, 2:30pm UTC](https://forum.inductiveautomation.com/t/project-multiple-inheritance/26432/8 "2019-08-01T14:30:34Z")

</div>

While Ignition only allows for single-inheritance, there is nothing stopping you from chaining inheritance into a sort of ancestry structure.

ProjectA:  
includes resources which EVERY project should have access to.

ProjectB:  
inherits from ProjectA.  
is intended for use by projects for CustomerA, and so has its default database set to CustomerA's database.  
contains resources like Views and scripts which are specific to only CustomerA.

ProjectC:  
inherits from ProjectB.  
is a front-end/runnable project which manages the warehouse operations for CustomerA.  
Contains everything from ProjectA AND ProjectB.

ProjectD:  
inherits from ProjectA.  
is a front-end/runnable project for CustomerB.  
contains everything in projectA, and nothing from ProjectB/C.

> [@fajean](#):
>
> Limiting inheritance to a single parent feels kind of cramped in a scenario like this (although it is much better than no inheritance at all), as everything we ever intend to share like this would have to go into a single project.

While it is fair to say that inheriting from ProjectX and ProjectY, where X and Y are not descendants of one another could be useful, it's also an absolute nightmare to implement/troubleshoot/utilize/maintain not only from a product development point of view, but an integration/design point-of-view as well. How would you clarify to a user where resources are coming from? How do you resolve resource name contention? What happens when script events call out to handlers which exist in both parent projects? ProjectX requires authentication, while projectY does not, so does the child project require authentication?

Chaos.

---

_[View the full topic](https://forum.inductiveautomation.com/t/project-multiple-inheritance/26432)._
